Try in Splunk Security Cloud

Description

The following analytic identifies an authentication attempt event against an Okta tenant that fails during the Multi-Factor Authentication (MFA) challenge. This detection is written against the Authentication datamodel and we look for a specific failed events where the authentication signature is user.authentication.auth_via_mfa. This behavior may represent an adversary trying to authenticate with compromised credentials for an account that has multi-factor authentication enabled.

  • Type: TTP
  • Product: Splunk Enterprise, Splunk Enterprise Security, Splunk Cloud
  • Datamodel: Authentication
  • Last Updated: 2024-03-11
  • Author: Bhavin Patel, Splunk
  • ID: e2b99e7d-d956-411a-a120-2b14adfdde93

Annotations

ATT&CK

ATT&CK

ID Technique Tactic
T1586 Compromise Accounts Resource Development
T1586.003 Cloud Accounts Resource Development
T1078 Valid Accounts Defense Evasion, Persistence, Privilege Escalation, Initial Access
T1078.004 Cloud Accounts Defense Evasion, Persistence, Privilege Escalation, Initial Access
T1621 Multi-Factor Authentication Request Generation Credential Access
Kill Chain Phase
  • Weaponization
  • Exploitation
  • Installation
  • Delivery
NIST
  • DE.CM
CIS20
  • CIS 10
CVE
1
2
3
4
5
6
7
| tstats `security_content_summariesonly` count min(_time) as firstTime max(_time) as lastTime  values(Authentication.app) as app values(Authentication.reason) as reason values(Authentication.signature) as signature  values(Authentication.method) as method  from datamodel=Authentication where  Authentication.signature=user.authentication.auth_via_mfa Authentication.action = failure by _time Authentication.src Authentication.user Authentication.dest Authentication.action 
| `drop_dm_object_name("Authentication")` 
| `security_content_ctime(firstTime)` 
| `security_content_ctime(lastTime)`
| iplocation src 
| `okta_authentication_failed_during_mfa_challenge_filter`

Macros

The SPL above uses the following Macros:

:information_source: okta_authentication_failed_during_mfa_challenge_filter is a empty macro by default. It allows the user to filter out any results (false positives) without editing the SPL.

Required fields

List of fields required to use this analytic.

  • _time
  • Authentication.app
  • Authentication.action
  • Authentication.user
  • Authentication.reason
  • Authentication.dest
  • Authentication.signature
  • Authentication.method
  • Authentication.src

How To Implement

The analytic leverages Okta OktaIm2 logs to be ingested using the Splunk Add-on for Okta Identity Cloud (https://splunkbase.splunk.com/app/6553).

Known False Positives

A user may have accidentally entered the wrong credentials during the MFA challenge. If the user is new to MFA, they may have trouble authenticating. Ensure that the user is aware of the MFA process and has the correct credentials.

Associated Analytic Story

RBA

Risk Score Impact Confidence Message
48.0 80 60 A user [$user$] has failed to authenticate via MFA from IP Address - [$src$]"

:information_source: The Risk Score is calculated by the following formula: Risk Score = (Impact * Confidence/100). Initial Confidence and Impact is set by the analytic author.

Reference

Test Dataset

Replay any dataset to Splunk Enterprise by using our replay.py tool or the UI. Alternatively you can replay a dataset into a Splunk Attack Range

source | version: 1