Skip to content
KitploitKITPLOIT
ToolsBlog
Submit
ToolsBlog
Submit

Hacking, PenTest, and Cybersecurity Tools for Your Security Arsenal!

Kitploit is a directory of hacking, cybersecurity, and pentesting tools. Discover the latest project updates to find vulnerabilities, analyze systems, automate testing, and strengthen your security.

··Feeds·Contact·Privacy·© 2026 Kitploit

Tool Directory

Categories

View all categories
Loading categories
GPOHound — Offensive GPO dumping and analysis tool that leverages and enriches BloodHound data | Kitploit
Tools/GitHubGitHub/cogiceo/gpohound
Privilege EscalationVulnerability AnalysisConfiguration AuditingInformation GatheringPenetration TestingMisconfigurationRed Teaming
GitHubcogiceo/gpohound

GPOHound

Offensive GPO dumping and analysis tool that leverages and enriches BloodHound data

View Repository
4153811 month agoReviewed by Kitploit

Most Popular

View all →

Discover the most used tools by our community.

Explore all tools

Browse our collection of tools

View all tools →
Share
Website

GPOHound

GPOHound is a tool for dumping and analysing Group Policy Objects (GPOs) extracted from the SYSVOL share.

It provides a structured, formalized format to help uncover misconfigurations, insecure settings, and privilege escalation paths in Active Directory environments.

The tool integrates with BloodHound's Neo4j database, using it as an LDAP-like source for Active Directory information while also enriching it by adding new relationships (edges) and node properties based on the analysis.

Features

Dump

  • Dumps GPOs in a structured JSON or tree format

  • Handles multiple domains

  • Resolves GPO names with GPO GUIDs

  • Filters output by GPO files, GPO GUIDs, and domains

  • Searches in key/value pairs using regex

Analysis

  • Groups settings by impacted object (e.g., Local Groups, Registry)

  • Detects members added to local privileged groups

  • Detects insecure registry settings, stored credentials, and privilege rights

  • Supports decrypting VNC credentials and GPP passwords

  • Finds domains, containers, and OUs affected by GPOs

  • Gets GPOs applied to a specific user, computer, OU, container, or domain

  • Enriches BloodHound data with relationships and properties

Installation

Install with pip

root@kitploit:~
git clone "https://github.com/cogiceo/GPOHound"
cd GPOHound
pip install .

Install with pipx

root@kitploit:~
pipx install "git+https://github.com/cogiceo/GPOHound"

Setup APOC for Neo4j

You need to setup Neo4j APOC for BloodHound data enrichment:

  • If you're using the standard Neo4j installation, you can enable APOC by copying the APOC jar file to the plugin folder and then restart Neo4j:

    root@kitploit:~
    cp /var/lib/neo4j/labs/apoc-* /var/lib/neo4j/plugins/
    neo4j restart
    
  • If you are installing Neo4j with "Docker Compose", add the environment variable NEO4J_PLUGINS=["apoc"]:

    root@kitploit:~
    neo4j:
      image: neo4j:latest
      environment:
        - NEO4J_PLUGINS=["apoc"]
    

For more details or alternate installation methods, refer to the official APOC Documentation.

Add BloodHound Queries

To visualize the relationships and properties added by GPOHound, you can import the custom queries from the customqueries.json file into BloodHound. By default, this file is located at ~/.config/bloodhound/customqueries.json.

Prerequisites

Dumping SYSVOL

Start by downloading the SYSVOL contents from the domain controller.

  • Download the full SYSVOL:

    root@kitploit:~
    gpohound sysvol --dc $DC_HOST -d $DOMAIN -u $USER -p $PASSWORD 
    
  • Download only the GPOs:

    root@kitploit:~
    gpohound sysvol --dc $DC_HOST -d $DOMAIN -u $USER -p $PASSWORD --gpos
    
  • Download with exclusions:

    root@kitploit:~
    gpohound sysvol --dc $DC_HOST -u $USER -p $PASSWORD --exclude '/Policydefinitions/','/scripts/' --max-size 100
    

Dumping LDAP

Retrieve all required data from LDAP :

root@kitploit:~
gpohound ldap --dc $DC_HOST -d $DOMAIN -u $USER -p $PASSWORD

BloodHound

For BloodHound data enrichment, you must collect BloodHound data using a collector such as bloodhound.py or SharpHound.exe and import the gathered data into the BloodHound interface.

Usage

Sample GPOHound files are available in example.zip. Extract them with unzip example.zip.

See CONFIG.md for instructions on customizing default values and configurations.

root@kitploit:~
gpohound --neo4j-user $USER --neo4j-pass $PASS dump
gpohound --neo4j-user $USER --neo4j-pass $PASS analysis

Parse

root@kitploit:~
gpohound parse "gpos/sysvols/$DOMAIN/Policies/{31B2F340-016D-11D2-945F-00C04FB984F9}/MACHINE/Registry.pol"

Dump

root@kitploit:~
gpohound dump
gpohound dump --list
gpohound dump --guid 31B2F340-016D-11D2-945F-00C04FB984F9
gpohound dump --policies scripts psscripts
gpohound dump --search 'VNC.*Server' --show

Analysis

root@kitploit:~
gpohound analysis
gpohound analysis --affected
gpohound analysis --trustee 'SRV01.SEVENKINGDOMS.LOCAL'
gpohound analysis --trustee 'SRV01.SEVENKINGDOMS.LOCAL' --list
gpohound analysis --trustee 'SRV01.SEVENKINGDOMS.LOCAL' --dump
gpohound analysis --enrich
gpohound analysis --enrich-ce

Current analysis and enrichment

[!IMPORTANT]

  • Conditions like security filters, WMI filters, and item-level targeting are not interpreted.
  • GPO conflicts are not simulated, to avoid missing valid settings.

Local Groups

  • Detection of users assigned to privileged local groups during logon

  • Detection of renamed built-in privileged local groups.

  • Detection of trustees added to privileged local groups using "Preference Process Variables" (e.g., %ComputerName%, %DomainName%)

  • Detection of abusable trustees using sAMAccountName hijacking

  • Detection of any trustees added to privileged local groups:

Registry

Privileged Rights

Default privileged trustees, as well as service accounts with SIDs starting with S-1-5-8, are excluded from analysis.

Improvement

  • Improve logging
  • Integrate LDAP
  • Integrate SMB
  • Parse remaining extensions
  • Web interface
  • Highlight potential conflicts between GPOs

GPO Documentation

SYSVOL and LDAP

  • [MS-GPAC] Audit Configuration Extension
  • [MS-GPCAP] Central Access Policies Protocol Extension
  • [MS-GPEF] Encrypting File System Extension
  • [MS-GPFAS] Firewall and Advanced Security Data Structure
  • [MS-GPFR] Folder Redirection Protocol Extension
  • [MS-GPIE] Internet Explorer Maintenance Extension
  • [MS-GPNAP] Network Access Protection (NAP) Extension
  • [MS-GPNRPT] Name Resolution Policy Table (NRPT) Data Extension
  • [MS-GPOL] Core Protocol
  • Preferences Extension Data Structure

LDAP Only

  • [MS-GPDPC] Deployed Printer Connections Extension
  • [MS-GPWL] Wireless/Wired Protocol Extension
Download Tool
GroupEdge
AdministratorsAdminTo
Remote Desktop UsersCanRDP
Distributed COM UsersExecuteDCOM
Remote Management UsersCanPSRemote
Backup OperatorsCanPrivEsc
Print OperatorsCanPrivEsc
Network Configuration OperatorsCanPrivEsc
AnalysisProperty
"Everyone" group includes "Anonymous Logon"—
SMB server session signing is not enabledsmbSigningEnabled: false
SMB server session signing is not requiredsmbSigningRequired: false
NTLMv1 authentication is supportedNTLMv1Support: true
Windows automatic logon default password—
VNC credentials (Generic: RealVNC, TightVNC, TigerVNC, etc.)*VNC*PASS* (various)
FileZilla stored passwords—
PuTTY proxy password—
TeamViewer stored credentials—
WinSCP saved sessions—
Picasa stored password—
PrivilegeDescriptionEdge
SeDebugPrivilegeAllows user to debug and interact with any processCanPrivEsc
SeBackupPrivilegeGrants access to sensitive filesCanPrivEsc
SeRestorePrivilegeBypasses object permissions during restoreCanPrivEsc
SeAssignPrimaryTokenPrivilegeEnables token impersonation for SYSTEM escalationCanPrivEsc
SeImpersonatePrivilegeAllows creation of process under another user’s contextCanPrivEsc
SeTakeOwnershipPrivilegeLets users take ownership of system objectsCanPrivEsc
SeTcbPrivilegeGrants the ability to act as part of the OSCanPrivEsc
SeCreateTokenPrivilegePermits creation of authentication tokensCanPrivEsc
SeLoadDriverPrivilegeAuthorizes driver loading/unloadingCanPrivEsc
SeManageVolumePrivilegeGrants volume or disk management privilegesCanPrivEsc
SeEnableDelegationPrivilegeEnable computer and user accounts to be trusted for delegation
[MS-GPPREF]
  • [MS-GPREG] Registry Extension Encoding
  • [MS-GPSB] Security Protocol Extension
  • [MS-GPSCR] Scripts Extension Encoding
  • [MS-GPSI] Software Installation Protocol Extension