Detection rules › Panther

Okta Admin Access Granted

This is a threat-hunting query, not an automated detection. It surfaces activity for an analyst to review rather than firing on a match. It is searchable for reference but is excluded from the detection-rule browse and the ATT&CK coverage matrix.

Source
github.com/panther-labs/panther-analysis

Audit instances of admin access granted in your okta tenant

Rules detecting the same action

Other rules on this platform that filter on the same API call or operation.

Rule body yaml

AnalysisType: scheduled_query
QueryName: "Okta Admin Access Granted"
Enabled: false
Description: >
  Audit instances of admin access granted in your okta tenant
Query: |
  SELECT
  p_event_time as event_time,
  actor:alternateId as actor_email,
  actor:displayName as actor_name,
  displayMessage,
  eventType,
  debugContext:debugData:privilegeGranted as priv_granted,
  target as target_name,
  client:ipAddress as src_ip,
  client:geographicalContext:city as city,
  client:geographicalContext:country as country,
  client:userAgent:rawUserAgent as user_agent
  FROM
    panther_logs.public.okta_systemlog
  WHERE
  ( eventType = 'user.account.privilege.grant'
   OR
    eventType = 'group.privilege.grant'
   AND
     debugContext:debugData:privilegeGranted like '%Admin%'
  )
    AND
    p_occurs_between('2022-01-14','2022-03-22')
  ORDER BY
  event_time desc
Schedule:
  RateMinutes: 43200
  TimeoutMinutes: 1

Detection logic

Stage 1: source

panther_logs.public.okta_systemlog

Stage 2: filter

eventType eq "user.account.privilege.grant" or (eventType eq "group.privilege.grant" and debugContext:debugData:privilegeGranted wildcard "*Admin*")

This rule also runs imperative logic the parser cannot express as a filter; the conditions above are the structured part it could extract.

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.

FieldKindValues
debugContext:debugData:privilegeGrantedwildcard
  • *Admin*
eventTypeeq
  • group.privilege.grant
  • user.account.privilege.grant

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.

FieldSource
event_timep_event_time
actor_emailactor:alternateId
actor_nameactor:displayName
displayMessage
eventType
priv_granteddebugContext:debugData:privilegeGranted
target_nametarget
src_ipclient:ipAddress
cityclient:geographicalContext:city
countryclient:geographicalContext:country
user_agentclient:userAgent:rawUserAgent