T1556.006 Splunk · SPL

Detect Multi-Factor Authentication in Splunk

Adversaries may disable or modify multi-factor authentication (MFA) mechanisms to enable persistent access to compromised accounts. Methods include: excluding users from Azure AD Conditional Access Policies, registering adversary-controlled MFA methods (Scattered Spider), modifying Windows hosts file to redirect MFA server calls to localhost causing fail-open behavior (CISA AA22-074A), using AADInternals Set-AADIntUserMFA to disable MFA, and modifying SLOWPULSE to bypass RADIUS/ACE 2FA. Detection focuses on MFA configuration changes in identity provider audit logs.

MITRE ATT&CK

Tactic
Credential Access Defense Evasion Persistence
Technique
T1556 Modify Authentication Process
Sub-technique
T1556.006 Multi-Factor Authentication
Canonical reference
https://attack.mitre.org/techniques/T1556/006/

SPL Detection Query

Splunk (SPL)
spl
index=azure_audit OR index=o365_audit
  sourcetype IN ("azure:aad:audit", "o365:management:activity")
| eval OperationType=coalesce(Operation, OperationName)
| where match(OperationType, "(?i)(Disable.*MFA|Update.*StrongAuth|Delete.*security.*info|Admin.*MFA|Per-user MFA|conditional.*access|Update.*policy)")
| eval Actor=coalesce(UserId, InitiatingUser, Actor)
| eval Target=coalesce(ObjectId, TargetUser, Target)
| eval Risk=case(
    match(OperationType, "(?i)Disable.*MFA|Admin.*disable"), "HIGH",
    match(OperationType, "(?i)Delete.*security|Remove.*auth"), "HIGH",
    match(OperationType, "(?i)conditional.*access|Update.*policy"), "MEDIUM",
    1==1, "LOW"
  )
| table _time, Actor, Target, OperationType, Result, Risk
| sort - _time
critical severity high confidence

Detects MFA-weakening operations in Azure AD / Microsoft 365 audit logs using Splunk. Covers MFA disabling, security info deletion, and Conditional Access Policy modifications. Risk scoring helps prioritize: HIGH for direct MFA disabling, MEDIUM for policy changes that could indirectly weaken MFA.

Data Sources

Azure Active Directory Audit LogsMicrosoft 365 Unified Audit LogIdentity Provider Audit Events

Required Sourcetypes

azure:aad:audit

False Positives & Tuning

  • Helpdesk operations resetting lost authenticator devices for legitimate users
  • Administrative MFA policy updates authorized through change management
  • User self-service MFA method registration during onboarding
  • Break-glass account MFA management for emergency access procedures
Download portable Sigma rule (.yml)

Other platforms for T1556.006


Testing Methodology

Validate this detection against 3 adversary techniques from Atomic Red Team. Each test below lists the behaviour to exercise and the telemetry you should expect to see. Executable commands and cleanup steps are available with Pro.

  1. Test 1Disable MFA for a User via Microsoft Graph API

    Expected signal: Azure AD Audit Log: OperationName 'User deleted security info' or 'Update user' with StrongAuthenticationRequirement modification. Graph API call logged in Azure AD diagnostic logs. PowerShell ScriptBlock Log Event ID 4104.

  2. Test 2Add Trusted Location to Conditional Access Policy

    Expected signal: Azure AD Audit Log: OperationName 'Add named location' with the new IP range visible in audit details. Azure AD Audit Log: If location is then added as exclusion to a CA policy, OperationName 'Update conditional access policy'.

  3. Test 3Modify Windows Hosts File to Redirect MFA Server (CISA AA22-074A Pattern)

    Expected signal: Sysmon Event ID 11 (File Create/Modify): TargetFilename=C:\Windows\System32\drivers\etc\hosts, initiated by powershell.exe. Windows Defender may alert on hosts file modification. Security Event ID 4663 if file auditing is enabled.

Unlock Pro Content

Get the full detection package for T1556.006 including response playbook, investigation guide, and atomic red team tests.

Response PlaybookInvestigation GuideHunting QueriesAtomic Red Team TestsTuning Guidance

Related Detections