Detection rules › Panther
Okta Login From CrowdStrike Unmanaged Device (crowdstrike_fdrevent table)
Okta Logins from an IP Address not found in CrowdStrike's AIP List (crowdstrike_fdrevent table)
Rule body yaml
# This file is the part of the Crowdstrike FDREvent migration, and it's the equivalent of
# https://github.com/panther-labs/panther-analysis/blob/b61db1ecf3967c5f6a44c1782f8891fd5f54384d/queries/okta_queries/Okta_Login_From_CrowdStrike_Unmanaged_Device.yml
#
AnalysisType: scheduled_query
Description: Okta Logins from an IP Address not found in CrowdStrike's AIP List (crowdstrike_fdrevent table)
Enabled: false
Query: |
SELECT *
FROM panther_logs.public.okta_systemlog
WHERE p_occurs_since('1 days')
AND eventtype = 'user.session.start'
AND outcome:result = 'SUCCESS'
AND client:device = 'Computer'
AND client:ipAddress LIKE '%.%.%.%'
AND client:ipAddress NOT IN
(
SELECT DISTINCT aip
FROM panther_logs.public.crowdstrike_fdrevent
WHERE p_occurs_since('3 days') AND panther_logs.public.crowdstrike_fdrevent.fdr_event_type = 'aid_master'
)
QueryName: "Okta Login From CrowdStrike Unmanaged Device (crowdstrike_fdrevent table)"
Schedule:
RateMinutes: 1440
TimeoutMinutes: 1
Tags:
- Multi-Table Query
Detection logic
Stage 1: source
panther_logs.public.okta_systemlog
Stage 2: filter
eventtype eq "user.session.start"
outcome:result eq "SUCCESS"
client:device eq "Computer"
client:ipAddress wildcard "*.*.*.*"
client:ipAddress not in (subquery on panther_logs.public.crowdstrike_fdrevent)
Indicators
Each row is a field, operator, and value that the rule matches. The corpus column counts how many other rules in the catalog look for the same combination: high numbers point to widely-used, community-vetted indicators. Blank or 1 shows that the indicator is specific to this rule.
| Field | Kind | Values |
|---|---|---|
client:device | eq |
|
client:ipAddress | wildcard |
|
outcome:result | eq |
|
Output fields
Fields the rule emits when it matches. Chronicle authors list these in the outcome block; they appear on the detection and $risk_score drives alerting. Sentinel / Defender XDR rules build them up through project / summarize / extend stages. Sentinel maps these into alert fields via entityMappings and customDetails; Defender XDR custom detections surface them as alert fields directly.
| Field |
|---|
* |