Detection: Cisco Duo Policy Skip 2FA for Other Countries

Description

The following analytic detects when a Duo policy is created or updated to allow access without two-factor authentication (2FA) for users in countries other than the default. It identifies this behavior by searching Duo administrator activity logs for policy creation or update actions where the policy description indicates that access is permitted without 2FA for certain user locations. This is achieved by parsing the relevant fields in the logs and filtering for the specific condition of 'Allow access without 2FA.' This behavior is significant for a Security Operations Center (SOC) because bypassing 2FA for any user group or location weakens the organization's security posture and increases the risk of unauthorized access. Attackers or malicious insiders may exploit such policy changes to circumvent strong authentication controls, potentially leading to account compromise, data breaches, or lateral movement within the environment. Early detection of these policy modifications enables the SOC to investigate and respond before attackers can leverage the weakened controls, thereby reducing the risk and impact of a successful attack.

1`cisco_duo_administrator` action=policy_update OR action=policy_create 
2| spath input=description 
3| search user_locations_default_action="Allow access without 2FA" 
4| rename object as user 
5| stats count min(_time) as firstTime max(_time) as lastTime by action actionlabel description user admin_email 
6| `security_content_ctime(firstTime)` 
7| `security_content_ctime(lastTime)` 
8| `cisco_duo_policy_skip_2fa_for_other_countries_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_skip_2fa_for_other_countries_filter search *
cisco_duo_policy_skip_2fa_for_other_countries_filter is an empty macro by default. It allows the user to filter out any results (false positives) without editing the SPL.

Annotations

- MITRE ATT&CK
+ Kill Chain Phases
+ NIST
+ CIS
- Threat Actors
ID Technique Tactic
T1556 Modify Authentication Process Credential Access
Exploitation
Installation
DE.CM
CIS 10

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
This configuration file applies to all detections of type TTP. These detections will use Risk Based Alerting and generate Notable Events.

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 access without 2FA for other countries 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