Okta Authentication Failed During MFA Challenge
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
Search
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:
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$]" |
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