Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
gpoParser — gpoParser is a tool designed to extract and analyze configurations applied through Group Policy Objects (GPOs) in an Active Directory environment. | Kitploit
Outils/GitHubGitHub/synacktiv/gpoparser
Privilege EscalationReconnaissanceVulnerability AnalysisLateral MovementConfiguration AuditingInformation GatheringPost-ExploitationPenetration TestingMisconfigurationRed Teaming
GitHubsynacktiv/gpoparser
36935il y a 3 moisVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

gpoParser

gpoParser is a tool designed to extract and analyze configurations applied through Group Policy Objects (GPOs) in an Active Directory environment.

Voir le dépôt

gpoParser

gpoParser est un outil conçu pour extraire et analyser les configurations appliquées via les objets de stratégie de groupe (GPO) dans un environnement Active Directory. Comme l'énumération de ces paramètres peut être fastidieuse et chronophage, cet outil permet de mieux comprendre les stratégies appliquées et aide à identifier les configurations dangereuses qui pourraient faciliter un mouvement latéral ou une élévation de privilèges. Il a été présenté au leHack 2025 et au DEFCON 33.

Installation

Note : dépendance requise pour le paquet gssapi : libkrb5-dev, à installer via sudo apt install libkrb5-dev (ou via votre gestionnaire de paquets habituel)

root@kitploit:~
pipx install git+https://github.com/synacktiv/gpoParser

Fonctionnalités

root@kitploit:~
$ gpoParser -h
usage: gpoParser [-h] {local,remote,display,query,enrich} ...

GPO Analysis Tool

positional arguments:
  {local,remote,display,query,enrich}
                        Choose mode
    local               Parse GPOs locally
    remote              Parse GPOs via remote LDAP/SYSVOL
    display             Display parsed GPO contents
    query               Query GPO parser results in order to display affected computers
    enrich              Enrich BloodHound with new edges

options:
  -h, --help            show this help message and exit

Récupération des GPO en mode en ligne ou hors ligne

En ligne : se connecte à l'annuaire LDAP pour rassembler les informations relatives aux GPO et leurs attributs (flags, gPLink, gPOptions, etc.). Il se connecte également au partage SYSVOL pour collecter les fichiers de configuration des GPO.

root@kitploit:~
$ gpoParser remote -h
usage: gpoParser remote [-h] [-s SERVER] [-d DOMAIN] [-u USER] [-p PASSWORD] [-H HASH] [-k] [-o OUTPUT]

options:
  -h, --help            show this help message and exit
  -s, --server SERVER   LDAP server IP or FQDN (ex: ldap://192.168.57.5 or ldaps://dc.corp.local)
  -d, --domain DOMAIN   Domain name tied to the user
  -u, --user USER       Username
  -p, --password PASSWORD
                        Password
  -H, --hash HASH       NTLM authentication, format is [LM:]NT
  -k, --kerberos        Use Kerberos authentication
  -o, --output OUTPUT   Output filename and location (default ./cache_gpoParser_<timestamp>.json)

$ gpoParser remote -u bob -p password -d corp -s 192.168.57.5
Retrieving \CORP.LOCAL\Policies\{008B0634-C0B9-443A-A06A-E2BAD875E27F}\Machine/Microsoft/Windows NT/SecEdit/GptTmpl.inf
Retrieving \CORP.LOCAL\Policies\{008B0634-C0B9-443A-A06A-E2BAD875E27F}\Machine/Preferences/Groups/Groups.xml
Retrieving \CORP.LOCAL\Policies\{008B0634-C0B9-443A-A06A-E2BAD875E27F}\Machine/Preferences/Registry/Registry.xml
[...]
Information saved to cache, now use display / query features

Hors ligne : nécessite une copie (partielle) de l'annuaire LDAP et le contenu du dossier Policies du partage SYSVOL. Actuellement, la collecte de l'annuaire LDAP repose sur :

  • ldeep
  • ADExplorerSnapshot au format de sortie Objects (NDJSON)
root@kitploit:~
$ gpoParser local -h
usage: gpoParser local [-h] [-f {ldeep,adexplorer}] [-o OUTPUT] sysvol_folder ldap_folder

positional arguments:
  sysvol_folder         SYSVOL folder containing the policies
  ldap_folder           Folder with LDAP dump in ldeep format

options:
  -h, --help            show this help message and exit
  -f {ldeep,adexplorer}, --format {ldeep,adexplorer}
                        JSON files input format (default ldeep)
  -o OUTPUT, --output OUTPUT
                        Output filename and location (default ./cache_gpoParser_<timestamp>.json)

$ mkdir sysvol && cd sysvol &&  echo -e 'prompt\nrecurse\nmget *' | smbclient -W CORP -U bob%password //192.168.57.5/SYSVOL

$ mkdir ldap && ldeep ldap -u bob -p password -d corp.local -s 192.168.57.5 all ldap/corp

$ gpoParser local sysvol/ ldap/
Information saved to cache, now use display / query features

Affichage

Ce mode affiche toutes les modifications de configuration appliquées par les GPO, limité aux formats pris en charge et aux données analysées. Vous pouvez filtrer les résultats par nom de GPO ou par GUID.

root@kitploit:~
$ gpoParser display -h
usage: gpoParser display [-h] [-g GPO] [-c CACHE]

options:
  -h, --help            show this help message and exit
  -g GPO, --gpo GPO     Filter by GPO name or GUID
  -c CACHE, --cache CACHE
                        Cache file location (default: ./cache_gpoParser_<timestamp>.json)

$ gpoParser display
Cache file found, using it
{6F3821B3-89B2-496D-82A5-58092D3EA588}: AddAdmin
Computer configuration
   Groups
      The following principals are added to BUILTIN\Administrators
         CORP\admin
{ADC96BD4-86D3-4516-BCF2-F7BDD5A76366}: AddRDP
Computer configuration
   Groups
      The following principals are added to BUILTIN\Remote Desktop Users
         CORP\bob
[...]

$ gpoParser display -g work
Cache file found, using it
{474D47E2-2B77-4E37-9744-A3CF6AB04449}: Workstation admins
Computer configuration
   Groups
      The following principals are added to BUILTIN\Administrators
         CORP\Admin - All Workstations

Requête

Cette vue montre les relations entre les GPO et les ordinateurs. Par exemple, vous pouvez voir à quels ordinateurs une GPO s'applique ou quelles modifications sont appliquées à un ou plusieurs ordinateurs.

root@kitploit:~
$ gpoParser query -h
usage: gpoParser query [-h] [-g GPO] [-C COMPUTER] [-c CACHE]

options:
  -h, --help            show this help message and exit
  -g GPO, --gpo GPO     Filter by GPO name or GUID
  -C COMPUTER, --computer COMPUTER
                        Computer name or distinguishedName to filter on
  -c CACHE, --cache CACHE
                        Cache file location (default: ./cache_gpoParser_<timestamp>.json)

$ gpoParser query
Cache file found, using it
{6F3821B3-89B2-496D-82A5-58092D3EA588}: AddAdmin
This GPO affects the following computers:
CN=SRV55,OU=PROD,OU=Servers,DC=CORP,DC=LOCAL
CN=SRV54,OU=PROD,OU=Servers,DC=CORP,DC=LOCAL
CN=SRV53,OU=PROD,OU=Servers,DC=CORP,DC=LOCAL
CN=SRV52,OU=PROD,OU=Servers,DC=CORP,DC=LOCAL

{6AC1786C-016F-11D2-945F-00C04FB984F9}: Default Domain Controllers Policy
This GPO affects the following computers:
CN=DC01,OU=Domain Controllers,DC=CORP,DC=LOCAL

{31B2F340-016D-11D2-945F-00C04FB984F9}: Default Domain Policy
This GPO affects the following computers:
CN=SRV51,OU=SUBSUB,OU=SUB,DC=CORP,DC=LOCAL
CN=SRV49,OU=SUB,DC=CORP,DC=LOCAL
CN=SRV50,OU=SUB,DC=CORP,DC=LOCAL
CN=SRV55,OU=PROD,OU=Servers,DC=CORP,DC=LOCAL
[...]


$ gpoParser query -C wks
Cache file found, using it
CN=WKS01,OU=ADMIN,OU=WORKSTATIONS,DC=CORP,DC=LOCAL
{31B2F340-016D-11D2-945F-00C04FB984F9}: Default Domain Policy
Computer configuration
   Registry
      The following registry key changes have been made
      Action: Create
      Path: MACHINE\System\CurrentControlSet\Control\Lsa\NoLMHash
      Value: 4,1
      The following registry key changes have been made
      Action: Update
      Hive: HKEY_LOCAL_MACHINE
      Path: SYSTEM\CurrentControlSet\Services\Dnscache\Parameters
      Name: EnableMDNS
      Value: 00000000

Enrichissement BloodHound

Analyse les informations des GPO pour créer des arêtes supplémentaires telles que AdminTo, CanRDP et CanPSRemote, identifiant les opportunités de mouvement latéral que BloodHound ne détecte pas nativement. Les arêtes sont ajoutées en se connectant directement à la base de données Neo4j.

root@kitploit:~
$ gpoParser enrich -h
usage: gpoParser enrich [-h] [-u USER] [-p PASSWORD] [-s SERVER] [-c CACHE]

options:
  -h, --help            show this help message and exit
  -u USER, --user USER  Username for neo4j authentication (default: neo4j)
  -p PASSWORD, --password PASSWORD
                        Password for neo4j authentication (default: bloodhoundcommunityedition)
  -s SERVER, --server SERVER
                        Neo4j server URI (default: bolt://localhost:7687)
  -c CACHE, --cache CACHE
                        Cache file location (default: ./cache_gpoParser_<timestamp>.json)

Limites

L'ingestion de données hors ligne introduit certaines limites : des paramètres tels que le statut d'héritage, le statut de configuration utilisateur/ordinateur, les filtres de sécurité, les filtres WMI et le ciblage au niveau des éléments peuvent ne pas toujours être collectés ou interprétés par les outils existants (BloodHound, PowerView, GPOHound). gpoParser prendra progressivement en compte tous ces paramètres au fur et à mesure de son développement. D'autres collecteurs de données seront introduits à mesure que l'outil évoluera.

Télécharger l’outil