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
Last updated: 2026-04-13 Research depth: deep
References (5)
- https://attack.mitre.org/techniques/T1556/005/
- https://docs.microsoft.com/en-us/windows/security/threat-protection/security-policy-settings/store-passwords-using-reversible-encryption
- https://adsecurity.org/?p=2053
- http://blog.teusink.net/2009/08/passwords-stored-using-reversible.html
- https://github.com/redcanaryco/atomic-red-team/blob/master/atomics/T1556.005/T1556.005.md
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