T1556.005

Reversible Encryption

Adversaries may enable the AllowReversiblePasswordEncryption property on Active Directory user accounts to gain access to plaintext credentials. When enabled, Active Directory stores user passwords in a reversibly encrypted form (G$RADIUSCHAP in userParameters) rather than as one-way hashes. An adversary with SYSTEM access can decrypt these passwords using four components from AD user structures and LSA secrets. Adversaries can set this via PowerShell (Set-ADUser -AllowReversiblePasswordEncryption $true), Local Group Policy, or Fine-Grained Password Policy (FGPP) if Domain Functional Level is Windows Server 2008+.

Microsoft Sentinel / Defender
kusto
let ReversibleEncryptionEvents = SecurityEvent
| where TimeGenerated > ago(24h)
| where EventID == 4738  // User Account Changed
| extend UserAccountControl = extractjson("$.UserAccountControl", AdditionalInfo)
| where AdditionalInfo has "ENCRYPTED_TEXT_PASSWORD_ALLOWED"
    or AdditionalInfo has "%%2054"  // UserAccountControl flag for reversible encryption
| project TimeGenerated, Computer, TargetUserName, TargetDomainName,
          SubjectUserName, SubjectDomainName, AdditionalInfo;
let PowerShellReversibleEncryption = DeviceProcessEvents
| where Timestamp > ago(24h)
| where FileName in~ ("powershell.exe", "pwsh.exe")
| where ProcessCommandLine has_any (
    "AllowReversiblePasswordEncryption",
    "ENCRYPTED_TEXT_PASSWORD_ALLOWED",
    "Set-ADUser",
    "Set-ADDefaultDomainPasswordPolicy",
    "New-ADFineGrainedPasswordPolicy"
  )
| where ProcessCommandLine has_any ("$true", "true", "1", "enable")
| project Timestamp, DeviceName, AccountName, FileName, ProcessCommandLine;
union ReversibleEncryptionEvents, PowerShellReversibleEncryption
| sort by TimeGenerated desc, Timestamp desc
high severity high confidence

Data Sources

User Account: User Account Modification Active Directory: Active Directory Object Modification Command: Command Execution Windows Security Event Log

Required Tables

SecurityEvent DeviceProcessEvents

False Positives

  • Legitimate legacy application requirements — some old RADIUS/802.1x implementations require reversible encryption for MS-CHAP authentication; these should be documented
  • Help desk or IT admin enabling reversible encryption per application support request — verify against approved change tickets
  • Automated provisioning scripts that set reversible encryption for specific service accounts used with RADIUS
  • Domain migrations or password synchronization tools that temporarily enable reversible encryption

Unlock Pro Content

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

Response PlaybookInvestigation GuideHunting QueriesAtomic Red Team TestsTuning Guidance

Related Detections