Detection: Okta Multiple Failed MFA Requests For User
Description
The following analytic identifies multiple failed multi-factor authentication (MFA) requests for a single user within an Okta tenant. It triggers when more than 10 MFA attempts fail within 5 minutes, using Okta event logs to detect this pattern. This activity is significant as it may indicate an adversary attempting to bypass MFA by bombarding the user with repeated authentication requests, a technique used by threat actors like Lapsus and APT29. If confirmed malicious, this could lead to unauthorized access, potentially compromising sensitive information and systems.
Search
1`okta` eventType=user.authentication.auth_via_mfa outcome.result=FAILURE debugContext.debugData.factor!=PASSWORD_AS_FACTOR
2
3| bucket _time span=5m
4
5| stats count min(_time) as firstTime max(_time) as lastTime values(displayMessage) values(src_ip) as src_ip values(debugContext.debugData.factor) values(dest) as dest
6 BY _time src_user
7
8| where count >= 10
9
10| `security_content_ctime(firstTime)`
11
12| `security_content_ctime(lastTime)`
13
14| `okta_multiple_failed_mfa_requests_for_user_filter`
Data Source
| Name |
Platform |
Sourcetype |
Source |
| Okta |
Other |
'OktaIM2:log' |
'Okta' |
Macros Used
| Name |
Value |
| okta |
eventtype=okta_log OR sourcetype = "OktaIM2:log" |
| okta_multiple_failed_mfa_requests_for_user_filter |
search * |
okta_multiple_failed_mfa_requests_for_user_filter is an empty macro by default. It allows the user to filter out any results (false positives) without editing the SPL.
Annotations
| ID |
Technique |
Tactic |
| T1621 |
Multi-Factor Authentication Request Generation |
Credential Access |
Default Configuration
This detection is configured by default in Splunk Enterprise Security to run with the following settings:
| Setting |
Value |
| Disabled |
true |
| Cron Schedule |
0 * * * * |
| Earliest Time |
-70m@m |
| Latest Time |
-10m@m |
| Schedule Window |
auto |
| Creates Finding (Notable) |
No |
| Creates Intermediate Finding (Risk Event) |
Yes |
Anomaly detections generate Intermediate Findings (Risk Events). They do not generate a Finding (Notable) directly.
Implementation
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
Multiple Failed MFA requests may also be a sign of authentication or application issues. Filter as needed and monitor for any unusual activity.
Associated Analytic Story
| Message |
Entity Field |
Entity Type |
Risk Score |
| Multiple failed MFA requests for user $src_user$ from IP Address - $src_ip$ |
src_user |
user |
20 |
Threat Objects
| Field |
Type |
| src_ip |
ip_address |
References
Detection Testing
| Test Type |
Status |
Dataset |
Source |
Sourcetype |
| Validation |
✅ Passing |
N/A |
N/A |
N/A |
| Unit |
✅ Passing |
Dataset |
Okta |
OktaIM2:log |
| Integration |
✅ Passing |
Dataset |
Okta |
OktaIM2:log |
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: GitHub |
Version: 12