Skip to content
← RegistryDossier · 6 steps · 5 edges

WriteDACL on a privileged user → ForceChangePassword → takeover

Discover a misconfigured ACL that lets a low-priv user modify the ACL of a Tier-0 account, grant ForceChangePassword to themselves, reset the victim's password, and log in.

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

§ Context

Assumed environment: BloodHound reveals a WriteDACL or GenericWrite edge from a compromised principal to a privileged user (often via nested group membership or legacy delegation).

§ Steps

  1. 01
    Authenticate as victimInitial Access
    T1078Valid Accounts
  2. 02
    Low-priv domain userInitial Access
    T1078Valid Accounts
  3. 03
    BloodHound finds WriteDACL edgeDiscovery
    AD-BLOODHOUNDBloodHound / SharpHound Enumeration

    MATCH p=shortestPath((u {owned:true})-[*1..]->(t:User {highvalue:true})) RETURN p

  4. 04
    Grant ForceChangePassword via WriteDACLPrivilege Escalation
    AD-DACL-WRITEDACLWriteDACL

    dacledit.py -action write -rights User-Force-Change-Password -principal <me> -target <victim>

  5. 05
    Reset victim passwordCredential Access
    AD-DACL-FORCECHANGEForceChangePassword (User-Force-Change-Password)

    rpcclient -U <me> -c 'setuserinfo2 <victim> 23 <newpw>' <dc>

  6. 06
    Continue chain (Kerberoast / DCSync / …)

    Depending on what the victim grants.

§ References

§ Frequently asked

What is the "WriteDACL on a privileged user → ForceChangePassword → takeover" attack path?
Discover a misconfigured ACL that lets a low-priv user modify the ACL of a Tier-0 account, grant ForceChangePassword to themselves, reset the victim's password, and log in. It chains 6 steps drawn from real-world offensive-security techniques.
What starting position does this attack require?
The first step is Authenticate as victim (T1078) — a initial access primitive. Assumed environment: BloodHound reveals a WriteDACL or GenericWrite edge from a compromised principal to a privileged user (often via nested group membership or legacy delegation).
What is the final impact of this kill-chain?
The final step lands on Reset victim password (AD-DACL-FORCECHANGE), which falls under Credential Access. 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