Skip to content
← RegistryDossier · 5 steps · 4 edges

Group Policy Preferences cpassword → user takeover

Pre-MS14-025 GPPs left cpassword-encrypted credentials in SYSVOL with a published AES key. Any authenticated user can decrypt them.

Filed by AD Knowledge Base
§ Kill-chainDrag · zoom · scroll

§ Context

Assumed environment: at least one GPP file (Groups.xml, ScheduledTasks.xml, Services.xml, DataSources.xml, Drives.xml, Printers.xml) in SYSVOL contains a non-empty cpassword field.

§ Steps

  1. 01
    Authenticate as recovered accountInitial Access
    T1078Valid Accounts
  2. 02
    Any authenticated userInitial Access
    T1078Valid Accounts
  3. 03
    Map account's access via BloodHoundDiscovery
    AD-BLOODHOUNDBloodHound / SharpHound Enumeration
  4. 04
    AES-decrypt with published keyCredential Access
    AD-GPP-CPASSWORDGPP cpassword Recovery (MS14-025)
  5. 05
    Hunt SYSVOL for cpasswordDiscovery
    AD-NETEXECNetExec / CrackMapExec Sweep

    Get-GPPPassword / nxc smb -M gpp_password

§ References

§ Frequently asked

What is the "Group Policy Preferences cpassword → user takeover" attack path?
Pre-MS14-025 GPPs left cpassword-encrypted credentials in SYSVOL with a published AES key. Any authenticated user can decrypt them. It chains 5 steps drawn from real-world offensive-security techniques.
What starting position does this attack require?
The first step is Authenticate as recovered account (T1078) — a initial access primitive. Assumed environment: at least one GPP file (Groups.
What is the final impact of this kill-chain?
The final step lands on Hunt SYSVOL for cpassword (AD-NETEXEC), which falls under Discovery. From here, an operator typically pivots into post-exploitation or maintains persistence.
How can defenders detect or prevent this attack?
Detection and prevention vary per step. Refer to each linked MITRE ATT&CK entry under "References" — every technique on that page lists defensive controls, detection telemetry, and known threat-actor usage.

§ Related dossiers