ACL Abuse Privilege Escalation
ACL-based privilege escalation abuses misconfigured permissions on Active Directory objects to gain control of privileged accounts or groups without exploiting any software vulnerability. Every technique here requires a confirmed writable object found during ACL Enumeration. Verify the right exists before running any modification.
- GenericAll / GenericWrite: force password change, add to groups, set SPNs
- WriteOwner: take ownership then grant yourself full control
- WriteDACL: grant DCSync rights on the domain object
- GenericWrite on computer: set up Resource-Based Constrained Delegation
- Shadow Credentials: certificate-based takeover without changing the password
GenericAll and GenericWrite: full object control
GenericAll gives complete control over an object. GenericWrite allows writing any attribute. Both are abused the same way depending on the target object type.
[+] corp.local\targetuser:NewPassword123! (Pwn3d!)
WriteOwner: take ownership then grant rights
WriteOwner lets you change the owner of an object. Once you own it, you can grant yourself GenericAll and proceed with any other technique.
WriteDACL: grant yourself DCSync rights
WriteDACL on the domain object lets you modify the domain ACL directly. Granting yourself DS-Replication rights enables DCSync: dumping all domain hashes without touching the DC.
Administrator:500:aad3b435b51404eeaad3b435b51404ee:fc525c9683e8fe067095ba2ddc971889::: krbtgt:502:aad3b435b51404eeaad3b435b51404ee:7b5b518b1c33d1b22c3d0b70e76a6f90:::
GenericWrite on computer: RBCD setup
GenericWrite on a computer object allows writing msDS-AllowedToActOnBehalfOfOtherIdentity. This sets up Resource-Based Constrained Delegation, letting you impersonate any user including Domain Admin to services on that computer.
Shadow Credentials: certificate-based takeover
If you have GenericWrite on a user or computer, you can add a shadow credential: a certificate key pair linked to the target account. Authenticating with the certificate gives you a TGT as that user without knowing their password and without changing anything visible like the password itself.
Shadow Credentials requires ADCS to be present in the environment: specifically, a DC must have a certificate with a Smart Card Logon EKU. If ADCS is not present, shadow credentials will not work. Use nxc ldap $TARGET_IP -u $USER -p $PASSWORD -M adcs to confirm ADCS is deployed before attempting this technique.
References
-
add genericAll, set owner, add dcsync, add rbcd, add shadowCredentials reference
-
secretsdump and getST for DCSync and S4U2Proxy
-
Shadow Credentials attack from Linux