Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
Tools/GitHubGitHub/synacktiv/gpoparser
Privilege EscalationAufklärungSchwachstellenanalyseLaterale BewegungKonfigurationsprüfungInformationsbeschaffungPost-ExploitationPenetrationstestsFehlkonfigurationRed Teaming
GitHubsynacktiv/gpoparser
3693552vor 4 MonatenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

gpoParser

gpoParser ist ein Tool, das entwickelt wurde, um Konfigurationen zu extrahieren und zu analysieren, die über Gruppenrichtlinienobjekte (GPOs) in einer Active-Directory-Umgebung angewendet werden.

Repository anzeigen

gpoParser

gpoParser ist ein Tool, das dazu entwickelt wurde, Konfigurationen zu extrahieren und zu analysieren, die über Gruppenrichtlinienobjekte (GPOs) in einer Active-Directory-Umgebung angewendet werden. Da das Auflisten dieser Einstellungen mühsam und zeitaufwendig sein kann, bietet dieses Tool ein klareres Verständnis der angewendeten Richtlinien und hilft, gefährliche Konfigurationen zu identifizieren, die Laterale Bewegung oder Privilege Escalation ermöglichen könnten. Es wurde auf der leHack 2025 und der DEFCON 33 vorgestellt.

Installation

Hinweis: Für das Paket gssapi wird die Abhängigkeit libkrb5-dev benötigt; Installation über sudo apt install libkrb5-dev (oder über Ihren jeweiligen Paketmanager)

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

Funktionen

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

GPO-Abruf im Online- oder Offline-Modus

Online: Stellt eine Verbindung zum LDAP-Verzeichnis her, um GPO-bezogene Informationen und deren Attribute (Flags, gPLink, gPOptions und mehr) zu sammeln. Zudem verbindet es sich mit der SYSVOL-Freigabe, um die GPO-Konfigurationsdateien abzurufen.

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

Offline: Erfordert eine (teilweise) Kopie des LDAP-Verzeichnisses und den Inhalt des Policies-Ordners aus der SYSVOL-Freigabe. Derzeit basiert die Erfassung des LDAP-Verzeichnisses auf:

  • ldeep
  • ADExplorerSnapshot Objects-Ausgabeformat (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

Anzeige

Dieser Modus zeigt alle von GPOs angewendeten Konfigurationsänderungen an, beschränkt auf unterstützte Formate und geparste Daten. Sie können die Ergebnisse nach GPO-Name oder GUID filtern.

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

Abfrage

Diese Ansicht zeigt die Beziehungen zwischen GPOs und Computern. Sie können beispielsweise sehen, auf welche Computer eine GPO angewendet wird oder welche Änderungen auf einen oder mehrere Computer angewendet werden.

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

BloodHound-Anreicherung

Analysiert GPO-Informationen, um zusätzliche Kanten wie AdminTo, CanRDP und CanPSRemote zu erstellen und so Möglichkeiten für Laterale Bewegung zu identifizieren, die BloodHound möglicherweise nicht nativ erkennt. Die Kanten werden durch direkte Verbindung zur Neo4j-Datenbank hinzugefügt.

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)

Einschränkungen

Die Offline-Datenaufnahme bringt gewisse Einschränkungen mit sich: Parameter wie Vererbungsstatus, Status der Benutzer-/Computer-Konfiguration, Sicherheitsfilter, WMI-Filter und Item-Level-Targeting werden von bestehenden Tools (BloodHound, PowerView, GPOHound) möglicherweise nicht immer erfasst oder interpretiert. gpoParser wird im Zuge der Weiterentwicklung nach und nach alle diese Parameter berücksichtigen. Weitere Datensammler werden hinzugefügt, sobald sich die Werkzeuge weiterentwickeln.

Tool herunterladen