How I Abused a Group Policy Object (GPO) in Active Directory (And How to Fix It)
Active Directory SecurityPress enter or click to view image in full sizeGroup Policy Objects (GPOs) 2026-7-18 09:23:3 Author: infosecwriteups.com(查看原文) 阅读量:10 收藏

Aruvasaga chithan A

Press enter or click to view image in full size

Group Policy Objects (GPOs) are one of the most powerful features in Active Directory. They allow administrators to manage settings across computers and users.

But if the wrong user has control over a GPO, it can become an easy privilege escalation path.

In this lab, I’ll use BloodHound to identify a dangerous GPO permission and then show how to fix it.

Lab Setup

  • Domain: LAB.LOCAL
  • Domain Controller: 192.168.56.104
  • Attacker: Kali Linux
  • User: bob

Step 1 — Collect Active Directory Data

First, I collected information from Active Directory using BloodHound.py.

bloodhound-python -u bob -p 'password@123' -d lab.local -ns 192.168.56.104 -c All --zip

BloodHound successfully collected:

  • 8 Users
  • 55 Groups
  • 3 GPOs
  • 2 OUs
  • 1 Computer

Press enter or click to view image in full size

Step 2 — Import into BloodHound

Next, I uploaded the generated ZIP file into BloodHound Community Edition.

BloodHound maps relationships between users, groups, computers, OUs, and GPOs, making it much easier to spot privilege escalation paths.

Press enter or click to view image in full size

Step 3 — Finding the Misconfiguration

BloodHound showed that Bob had WriteDacl, WriteOwner, and GenericWrite permissions over the Employees Policy GPO.

Get Aruvasaga chithan A’s stories in your inbox

Join Medium for free to get updates from this writer.

Remember me for faster sign in

These permissions are dangerous because they allow a user to modify who controls the GPO or change its configuration.

Why Is This Dangerous?

If an attacker can edit a GPO linked to an Organizational Unit (OU), they may be able to:

  • Execute scripts on domain computers
  • Deploy scheduled tasks
  • Add users to local Administrators
  • Push malicious registry changes
  • Gain higher privileges across the domain

A single misconfigured GPO can impact many systems at once.

Step 4 — Fixing the Issue

On the Domain Controller:

Group Policy Management

Employees Policy

Delegation

Review who has permissions on the GPO.

Remove unnecessary permissions such as:

  • GenericWrite
  • misconfiguredWriteDacl
  • WriteOwner

Only trusted administrators should have these rights.

Press enter or click to view image in full size

Verify the Fix

Run BloodHound again after updating the permissions.

bloodhound-python -u bob -p 'password@123' -d lab.local -ns 192.168.56.104 -c All --zip

Re-import the ZIP into BloodHound.

The dangerous permission edges should no longer appear for Bob.

Key Takeaways

1.Regularly audit GPO permissions.

2. Use the principle of least privilege.

3. Review BloodHound findings periodically.

4. Remove unnecessary GenericWrite, WriteDacl, and WriteOwner permissions.

Disclaimer: The techniques demonstrated in this article were performed in a private Active Directory lab for learning purposes. Always obtain proper authorization before testing any production environment.

— Written by

Aruvasaga Chithan A

Ethical Hacker & Cyber Security Researcher.

Thanks for reading — your support keeps me writing.
See you in the next article…

Linkedin.


文章来源: https://infosecwriteups.com/how-i-abused-a-group-policy-object-gpo-in-active-directory-and-how-to-fix-it-5d59c031e602?source=rss----7b722bfd1b8d---4
如有侵权请联系:admin#unsafe.sh