Detection rules › Panther

Okta ThreatInsight Security Threat Detected

Severity
high
Log types
Okta.SystemLog
Reference
https://help.okta.com/en-us/Content/Topics/Security/threat-insight/configure-threatinsight-system-log.htm
Source
github.com/panther-labs/panther-analysis

Okta ThreatInsight identified request from potentially malicious IP address

Rule body yaml

AnalysisType: rule
Description: Okta ThreatInsight identified request from potentially malicious IP address
Reference: https://help.okta.com/en-us/Content/Topics/Security/threat-insight/configure-threatinsight-system-log.htm
DisplayName: "Okta ThreatInsight Security Threat Detected"
Enabled: true
Filename: okta_threatinsight_security_threat_detected.py
Severity: High
Tests:
  - ExpectedResult: false
    Log:
      actor:
        alternateId: homer.simpson@duff.com
        displayName: Homer Simpson
        id: 00abc456
        type: User
      authenticationcontext:
        authenticationStep: 0
        externalSessionId: abc12345
      client:
        device: Unknown
        ipAddress: 1.2.3.4
        userAgent:
          browser: UNKNOWN
          os: Unknown
          rawUserAgent: Chrome
        zone: "null"
      debugcontext:
        debugData: {}
      eventtype: application.integration.rate_limit_exceeded
      legacyeventtype: app.api.error.rate.limit.exceeded
      outcome:
        result: SUCCESS
      published: "2022-06-10 17:19:58.423"
      request: {}
      securitycontext: {}
      severity: INFO
      target:
        - alternateId: "App "
          displayName: App
          id: "12345"
          type: AppInstance
      transaction:
        detail: {}
        id: sdfg
        type: JOB
      uuid: aaa-bb-ccc
      version: "0"
    Name: Other Event
  - ExpectedResult: true
    Log:
      actor:
        alternateId: unknown
        displayName: 1.2.3.4
        id: 1.2.3.4
        type: IP address
      authenticationcontext:
        authenticationStep: 0
      client:
        device: Computer
        geographicalContext:
          city: Dallas
          country: United States
          geolocation:
            lat: 32.7908
            lon: -96.8336
          postalCode: "75207"
          state: Texas
        ipAddress: 1.2.3.4
        userAgent:
          browser: CHROME
          os: Windows 10
          rawUserAgent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36
        zone: "null"
      debugcontext:
        debugData:
          dtHash: abcsadfjsald
          requestId: alsdjflasf
          requestUri: /oauth2/v1/authorize
          threatDetections: '{"Login failures with high unknown users count":"HIGH","Password Spray":"HIGH","Login Failures":"MEDIUM"}'
          threatSuspected: "true"
          url: /oauth2/v1/authorize
      displaymessage: Request from suspicious actor
      eventtype: security.threat.detected
      legacyeventtype: security.threat.detected
      outcome:
        reason: Password Spray, Login failures with high unknown users count, Login Failures
        result: DENY
      published: "2022-12-14 19:16:32.015"
      request:
        ipChain:
          - geographicalContext:
              city: Dallas
              country: United States
              geolocation:
                lat: 32.7908
                lon: -96.8336
              postalCode: "75207"
              state: Texas
              ip: 1.2.3.4
              version: V4
      securitycontext:
        asNumber: 62240
        asOrg: packethub s.a.
        domain: .
        isProxy: false
        isp: clouvider limited
      severity: WARN
      transaction:
        detail: {}
        id: asdfjaslf
        type: WEB
      uuid: asdfa-1234-asdfdas
      version: "0"
    Name: Threat Detected Event - Deny
  - ExpectedResult: true
    Log:
      actor:
        alternateId: unknown
        displayName: 1.2.3.4
        id: 1.2.3.4
        type: IP address
      authenticationcontext:
        authenticationStep: 0
      client:
        device: Computer
        userAgent:
          browser: CHROME
          os: Windows 10
          rawUserAgent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36
        zone: "null"
      debugcontext:
        debugData:
          dtHash: abcsadfjsald
          requestId: alsdjflasf
          requestUri: /oauth2/v1/authorize
          threatDetections: '{"Login failures with high unknown users count":"HIGH","Password Spray":"HIGH","Login Failures":"MEDIUM"}'
          threatSuspected: "true"
          url: /oauth2/v1/authorize
      displaymessage: Request from suspicious actor
      eventtype: security.threat.detected
      legacyeventtype: security.threat.detected
      outcome:
        reason: Password Spray, Login failures with high unknown users count, Login Failures
        result: SUCCESS
      published: "2022-12-14 19:16:32.015"
      request:
        ipChain:
          - geographicalContext:
              city: Dallas
              country: United States
              geolocation:
                lat: 32.7908
                lon: -96.8336
              postalCode: "75207"
              state: Texas
              ip: 1.2.3.4
              version: V4
      securitycontext:
        asNumber: 62240
        asOrg: packethub s.a.
        domain: .
        isProxy: false
        isp: clouvider limited
      severity: WARN
      transaction:
        detail: {}
        id: asdfjaslf
        type: WEB
      uuid: asdfa-1234-asdfdas
      version: "0"
    Name: Threat Detected Event - Success
DedupPeriodMinutes: 60
LogTypes:
  - Okta.SystemLog
RuleID: "Okta.ThreatInsight.Security.Threat.Detected"
Threshold: 1

Detection logic

Condition

eventtype eq "security.threat.detected"

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_typeeventtype
severity
actor
client
request
outcome
target
debug_contextdebugcontext
authentication_contextauthenticationcontext
security_contextsecuritycontext
ipsp_any_ip_addresses
displayNameactor.displayName