Skip to main content
Group Policy Objects (GPOs) control configuration across all machines and users in their linked OUs. If you have write permissions on a GPO (GenericAll, GenericWrite, WriteProperty), you can push a scheduled task to every computer in scope and get SYSTEM. The Default Domain Controllers Policy is the highest-value target because it applies to every DC.

Enumeration

These GUIDs are identical across every Active Directory environment.
GenericAll on the Default Domain Controllers Policy means SYSTEM on every DC in the domain.

pyGPOAbuse

Tool by Hackndo for writing scheduled tasks into GPOs directly over LDAP without requiring SYSVOL write access.
One is required.

One-Liners

ACL Prerequisite Chain

GPO abuse usually sits at the end of an ACL chain. A common path is WriteDacl or WriteOwner on a user that already has GPO write access.
1

Grant yourself GenericAll on the victim account

2

Reset the victim's password

3

Confirm GPO write permissions

4

Abuse the GPO

Attack Scenarios

Highest-value path. The Default Domain Controllers Policy applies to every DC OU. Push a task and get SYSTEM on all DCs.
Applies to all domain computers and users. Broad execution — every machine in the domain runs the task on next GP refresh. Noisy.
Use -filter-enabled -target-dns-name to restrict execution to one machine. Much stealthier than domain-wide deployment.

Post-Abuse

1

Force GP refresh on target (if you have a shell)

2

Verify the backdoor account landed

3

Get a shell

4

Dump credentials

5

Cleanup

--cleanup removes the scheduled task XML from SYSVOL and rolls back the GPO version counter.