ID | Technique | Tactic |
---|---|---|
T1556 | Modify Authentication Process | Credential Access |
Detection: Cisco Duo Policy Allow Network Bypass 2FA
Description
The following analytic detects when a Duo policy is created or updated to allow network-based bypass of two-factor authentication (2FA). It identifies this behavior by searching Duo administrator logs for policy creation or update actions where the networks_allow field is present, indicating that specific networks have been permitted to bypass 2FA requirements. This is achieved by parsing the event description and filtering for relevant policy changes, then aggregating the results by user and administrator details. Detecting this behavior is critical for a Security Operations Center (SOC) because allowing network-based 2FA bypass can significantly weaken authentication controls, potentially enabling unauthorized access if a trusted network is compromised or misconfigured. Attackers or malicious insiders may exploit this policy change to circumvent 2FA protections, increasing the risk of account takeover and lateral movement within the environment. Prompt detection enables SOC analysts to investigate and respond to potentially risky policy modifications before they can be leveraged for malicious purposes.
Search
1`cisco_duo_administrator` action=policy_update OR action=policy_create
2| spath input=description
3| search networks_allow=*
4| rename object as user
5| stats count min(_time) as firstTime max(_time) as lastTime by action actionlabel description user admin_email networks_allow
6| `security_content_ctime(firstTime)`
7| `security_content_ctime(lastTime)`
8| `cisco_duo_policy_allow_network_bypass_2fa_filter`
Data Source
Name | Platform | Sourcetype | Source |
---|---|---|---|
Cisco Duo Administrator | N/A | 'cisco:duo:administrator' |
'cisco_duo' |
Macros Used
Name | Value |
---|---|
cisco_duo_administrator | sourcetype=cisco:duo:administrator |
cisco_duo_policy_allow_network_bypass_2fa_filter | search * |
cisco_duo_policy_allow_network_bypass_2fa_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 Notable | Yes |
Rule Title | %name% |
Rule Description | %description% |
Notable Event Fields | user, dest |
Creates Risk Event | True |
Implementation
The analytic leverages Duo activity logs to be ingested using the Cisco Security Cloud App (https://splunkbase.splunk.com/app/7404).
Known False Positives
unknown
Associated Analytic Story
Risk Based Analytics (RBA)
Risk Message:
A policy has been created or updated to allow network bypass 2FA by user $user$ with email $admin_email$
Risk Object | Risk Object Type | Risk Score | Threat Objects |
---|---|---|---|
user | user | 48 | No Threat Objects |
References
Detection Testing
Test Type | Status | Dataset | Source | Sourcetype |
---|---|---|---|---|
Validation | ✅ Passing | N/A | N/A | N/A |
Unit | ✅ Passing | Dataset | duo |
cisco:duo:administrator |
Integration | ✅ Passing | Dataset | duo |
cisco:duo:administrator |
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: 1