ID | Technique | Tactic |
---|---|---|
T1586 | Compromise Accounts | Resource Development |
T1586.003 | Cloud Accounts | Resource Development |
T1078 | Valid Accounts | Defense Evasion |
T1078.004 | Cloud Accounts | Initial Access |
T1621 | Multi-Factor Authentication Request Generation | Persistence |
Detection: Okta Successful Single Factor Authentication
Description
The following analytic identifies successful single-factor authentication events against the Okta Dashboard for accounts without Multi-Factor Authentication (MFA) enabled. It detects this activity by analyzing Okta logs for successful authentication events where "Okta Verify" is not used. This behavior is significant as it may indicate a misconfiguration, policy violation, or potential account takeover. If confirmed malicious, an attacker could gain unauthorized access to the account, potentially leading to data breaches or further exploitation within the environment.
Search
1`okta` action=success src_user_type = User eventType = user.authentication.verify OR eventType = user.authentication.auth_via_mfa
2| stats dc(eventType) values(eventType) as eventType values(target{}.displayName) as targets values(debugContext.debugData.url) min(_time) as firstTime max(_time) as lastTime values(authentication_method) by src_ip user action
3| `security_content_ctime(firstTime)`
4| `security_content_ctime(lastTime)`
5| search targets !="Okta Verify"
6| `okta_successful_single_factor_authentication_filter`
Data Source
Name | Platform | Sourcetype | Source | Supported App |
---|---|---|---|---|
Okta | N/A | 'OktaIM2:log' |
'Okta' |
N/A |
Macros Used
Name | Value |
---|---|
okta | eventtype=okta_log OR sourcetype = "OktaIM2:log" |
okta_successful_single_factor_authentication_filter | search * |
okta_successful_single_factor_authentication_filter
is an empty macro by default. It allows the user to filter out any results (false positives) without editing the SPL.
Annotations
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 Risk Event | True |
Implementation
This detection utilizes logs from Okta environments and requires the ingestion of OktaIm2 logs through the Splunk Add-on for Okta Identity Cloud (https://splunkbase.splunk.com/app/6553).
Known False Positives
Although not recommended, certain users may be exempt from multi-factor authentication. Adjust the filter as necessary.
Associated Analytic Story
Risk Based Analytics (RBA)
Risk Message | Risk Score | Impact | Confidence |
---|---|---|---|
A user [$user$] has successfully logged in to Okta Dashboard with single factor authentication from IP Address - [$src_ip$]. | 48 | 80 | 60 |
References
Detection Testing
Test Type | Status | Dataset | Source | Sourcetype |
---|---|---|---|---|
Validation | ✅ Passing | N/A | N/A | N/A |
Unit | ✅ Passing | Dataset | okta_log |
OktaIM2:log |
Integration | ✅ Passing | Dataset | okta_log |
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: 2