Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
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.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
GPOHound — Offensives GPO-Dumping- und Analyse-Tool, das BloodHound-Daten nutzt und anreichert | Kitploit
Tools/GitHubGitHub/cogiceo/gpohound
Privilege EscalationSchwachstellenanalyseKonfigurationsprüfungInformationsbeschaffungPenetrationstestsFehlkonfigurationRed Teaming
GitHubcogiceo/gpohound

GPOHound

Offensives GPO-Dumping- und Analyse-Tool, das BloodHound-Daten nutzt und anreichert

Repository anzeigen
4153878vor 5 TagenVon 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
Webseite
# GPOHound

`GPOHound` ist ein Tool zum Dumpen und Analysieren von Group Policy Objects (GPOs), die aus der SYSVOL-Freigabe extrahiert wurden.

Es bietet ein strukturiertes, formalisiertes Format, um Fehlkonfigurationen, unsichere Einstellungen und Privilegieneskalationspfade in Active Directory-Umgebungen aufzudecken.

Das Tool integriert sich in die Neo4j-Datenbank von BloodHound, nutzt diese als LDAP-ähnliche Quelle für Active Directory-Informationen und reichert sie durch Hinzufügen neuer Beziehungen (Kanten) und Knoteneigenschaften basierend auf der Analyse an.

## Funktionen

### Dump

- [x] Dump von GPOs in einem strukturierten JSON- oder Baumformat
- [x] Unterstützt mehrere Domänen
- [x] Löst GPO-Namen mit GPO-GUIDs auf
- [x] Filtert Ausgabe nach GPO-Dateien, GPO-GUIDs und Domänen
- [x] Durchsucht Schlüssel/Wert-Paare mit Regex

### Analyse

- [x] Gruppiert Einstellungen nach betroffenem Objekt (z.B. Lokale Gruppen, Registry)
- [x] Erkennt Mitglieder, die zu lokalen privilegierten Gruppen hinzugefügt wurden
- [x] Erkennt unsichere Registrierungseinstellungen, gespeicherte Anmeldedaten und Privilegienrechte
- [x] Unterstützt Entschlüsselung von VNC-Anmeldedaten und GPP-Passwörtern
- [x] Findet von GPOs betroffene Domänen, Container und OUs
- [x] Ermittelt auf einen bestimmten Benutzer, Computer, OU, Container oder Domäne angewandte GPOs
- [x] Reichert BloodHound-Daten mit Beziehungen und Eigenschaften an

## Installation

### Installieren mit pip

```
git clone "https://github.com/cogiceo/GPOHound"
cd GPOHound
pip install .
```

### Installieren mit pipx

```
pipx install "git+https://github.com/cogiceo/GPOHound"
```

### APOC für Neo4j einrichten

Sie müssen Neo4j APOC für die Anreicherung der BloodHound-Daten einrichten:

- Wenn Sie die Standard-Neo4j-Installation verwenden, können Sie APOC aktivieren, indem Sie die APOC-`jar`-Datei in den Plugin-Ordner kopieren und dann Neo4j neu starten:

  ```bash
  cp /var/lib/neo4j/labs/apoc-* /var/lib/neo4j/plugins/
  neo4j restart
  ```

- Wenn Sie Neo4j mit "Docker Compose" installieren, fügen Sie die Umgebungsvariable `NEO4J_PLUGINS=["apoc"]` hinzu:

  ```yaml
  neo4j:
    image: neo4j:latest
    environment:
      - NEO4J_PLUGINS=["apoc"]
  ```

> Weitere Details oder alternative Installationsmethoden finden Sie in der offiziellen [APOC-Dokumentation](https://neo4j.com/docs/apoc/current/installation/).

### BloodHound-Abfragen hinzufügen

Um die von `GPOHound` hinzugefügten Beziehungen und Eigenschaften zu visualisieren, können Sie die benutzerdefinierten Abfragen aus der Datei `customqueries.json` in BloodHound importieren. Standardmäßig befindet sich diese Datei unter `~/.config/bloodhound/customqueries.json`.

## Voraussetzungen

### Auslesen von SYSVOL

Laden Sie zunächst die `SYSVOL`-Inhalte vom Domänencontroller herunter.

- Laden Sie das vollständige `SYSVOL` herunter:

  ```bash
  gpohound sysvol --dc $DC_HOST -d $DOMAIN -u $USER -p $PASSWORD 
  ```

- Laden Sie nur die GPOs herunter:

  ```bash
  gpohound sysvol --dc $DC_HOST -d $DOMAIN -u $USER -p $PASSWORD --gpos
  ```

- Laden Sie mit Ausschlüssen herunter:

  ```bash
  gpohound sysvol --dc $DC_HOST -u $USER -p $PASSWORD --exclude '/Policydefinitions/','/scripts/' --max-size 100
  ```

### Auslesen von LDAP

Rufen Sie alle erforderlichen Daten von LDAP ab:

```bash
gpohound ldap --dc $DC_HOST -d $DOMAIN -u $USER -p $PASSWORD
```

### BloodHound

Für die BloodHound-Datenanreicherung müssen Sie BloodHound-Daten mit einem Collector wie `bloodhound.py` oder `SharpHound.exe` sammeln und die gesammelten Daten in die BloodHound-Oberfläche importieren.

## Verwendung

Beispiel-GPOHound-Dateien sind in `example.zip` verfügbar. Entpacken Sie sie mit `unzip example.zip`.

Siehe [CONFIG.md](https://github.com/cogiceo/gpohound/blob/main/CONFIG.md) für Anweisungen zum Anpassen von Standardwerten und Konfigurationen.

```bash
gpohound --neo4j-user $USER --neo4j-pass $PASS dump
gpohound --neo4j-user $USER --neo4j-pass $PASS analysis
```

### Parse

```bash
gpohound parse "gpos/sysvols/$DOMAIN/Policies/{31B2F340-016D-11D2-945F-00C04FB984F9}/MACHINE/Registry.pol"
```

### Dump

```bash
gpohound dump
gpohound dump --list
gpohound dump --guid 31B2F340-016D-11D2-945F-00C04FB984F9
gpohound dump --policies scripts psscripts
gpohound dump --search 'VNC.*Server' --show
```

### Analyse

```bash
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
```

## Aktuelle Analyse und Anreicherung

> [!IMPORTANT] 
> - Bedingungen wie Sicherheitsfilter, WMI-Filter und Item-Level-Targeting werden nicht interpretiert.
> - GPO-Konflikte werden nicht simuliert, um gültige Einstellungen nicht zu übersehen.

### Lokale Gruppen

- Erkennung von Benutzern, die bei der Anmeldung privilegierten lokalen Gruppen zugewiesen wurden
- Erkennung umbenannter integrierter privilegierter lokaler Gruppen.
- Erkennung von Treuhändern, die privilegierten lokalen Gruppen mithilfe von "Präferenz-Prozessvariablen" (z.B. %ComputerName%, %DomainName%) hinzugefügt wurden
- Erkennung von missbrauchbaren Treuhändern durch `sAMAccountName`-Entführung
- Erkennung aller Treuhänder, die privilegierten lokalen Gruppen hinzugefügt wurden:

| Gruppe                          | Kante         |
|--------------------------------|--------------|
| Administratoren                 | `AdminTo`    |
| Remotedesktopbenutzer           | `CanRDP`     |
| Verteilte COM-Benutzer          | `ExecuteDCOM`|
| Remoteverwaltungsbenutzer       | `CanPSRemote`|
| Sicherungsoperatoren               | `CanPrivEsc` |
| Druckoperatoren                | `CanPrivEsc` |
| Netzwerkkonfigurationsoperatoren| `CanPrivEsc` |

### Registry

| Analyse                                                                 | Eigenschaft                 |
|--------------------------------------------------------------------------|---------------------------|
| „Everyone“-Gruppe enthält „Anonyme Anmeldung“                              | —                         |
| SMB-Serversitzungssignierung ist nicht aktiviert                                | `smbSigningEnabled: false`|
| SMB-Serversitzungssignierung ist nicht erforderlich                               | `smbSigningRequired: false`|
| NTLMv1-Authentifizierung wird unterstützt                                       | `NTLMv1Support: true`     |
| Standardkennwort für automatische Windows-Anmeldung                                 | —                         |
| VNC-Anmeldedaten (Generisch: RealVNC, TightVNC, TigerVNC, etc.)             | `*VNC*PASS*` (verschiedene)  |
| In FileZilla gespeicherte Passwörter                                               | —                         |
| PuTTY-Proxy-Passwort                                                     | —                         |
| Gespeicherte TeamViewer-Anmeldedaten                                            | —                         |
| WinSCP-gespeicherte Sitzungen                                                    | —                         |
| Gespeichertes Picasa-Passwort                                                   | —                         |

### Privilegienrechte

Standardmäßige privilegierte Treuhänder sowie Dienstkonten mit SIDs, die mit `S-1-5-8` beginnen, werden von der Analyse ausgeschlossen.

| Privileg                     | Beschreibung                                                    | Kante         |
| ----------------------------- | -------------------------------------------------------------- | ------------ |
| SeDebugPrivilege              | Erlaubt dem Benutzer, jeden Prozess zu debuggen und zu interagieren             | `CanPrivEsc` |
| SeBackupPrivilege             | Gewährt Zugriff auf vertrauliche Dateien                               | `CanPrivEsc` |
| SeRestorePrivilege            | Umgeht Objektberechtigungen während der Wiederherstellung                     | `CanPrivEsc` |
| SeAssignPrimaryTokenPrivilege | Ermöglicht Token-Impersonation zur SYSTEM-Eskalation              | `CanPrivEsc` |
| SeImpersonatePrivilege        | Erlaubt die Erstellung eines Prozesses im Kontext eines anderen Benutzers        | `CanPrivEsc` |
| SeTakeOwnershipPrivilege      | Erlaubt Benutzern, den Besitz von Systemobjekten zu übernehmen                    | `CanPrivEsc` |
| SeTcbPrivilege                | Gewährt die Fähigkeit, als Teil des Betriebssystems zu agieren                    | `CanPrivEsc` |
| SeCreateTokenPrivilege        | Erlaubt die Erstellung von Authentifizierungstokens                      | `CanPrivEsc` |
| SeLoadDriverPrivilege         | Autorisieret das Laden/Entladen von Treibern                            | `CanPrivEsc` |
| SeManageVolumePrivilege       | Gewährt Volumen- oder Datenträgerverwaltungsberechtigungen                    | `CanPrivEsc` |
| SeEnableDelegationPrivilege   | Aktiviert Computer- und Benutzerkonten, um für die Delegierung vertrauenswürdig zu sein |              |

# Verbesserung

- [x] Verbessertes Logging
- [x] Integration von LDAP
- [x] Integration von SMB
- [ ] Parsen der verbleibenden Erweiterungen
- [ ] Weboberfläche
- [ ] Hervorhebung potenzieller Konflikte zwischen GPOs

## GPO-Dokumentation

### SYSVOL und LDAP

- [x] [\[MS-GPAC\]](https://learn.microsoft.com/en-us/openspecs/windows_protocols/MS-GPAC/) Erweiterung zur Überwachungskonfiguration
- [x] [\[MS-GPCAP\]](https://learn.microsoft.com/en-us/openspecs/windows_protocols/MS-GPCAP/) Erweiterung für zentrale Zugriffsrichtlinien
- [x] [\[MS-GPEF\]](https://learn.microsoft.com/en-us/openspecs/windows_protocols/MS-GPEF/) Erweiterung für verschlüsselnde Dateisysteme
- [x] [\[MS-GPFAS\]](https://learn.microsoft.com/en-us/openspecs/windows_protocols/MS-GPFAS/) Datenstruktur für Firewall und erweiterte Sicherheit
- [x] [\[MS-GPFR\]](https://learn.microsoft.com/en-us/openspecs/windows_protocols/MS-GPFR/) Erweiterung für Ordnerumleitung
- [ ] [\[MS-GPIE\]](https://learn.microsoft.com/en-us/openspecs/windows_protocols/MS-GPIE/) Erweiterung für Internet Explorer-Wartung
- [x] [\[MS-GPNAP\]](https://learn.microsoft.com/en-us/openspecs/windows_protocols/MS-GPNAP/) Erweiterung für Netzwerkzugriffsschutz (NAP)
- [x] [\[MS-GPNRPT\]](https://learn.microsoft.com/en-us/openspecs/windows_protocols/MS-GPNRPT/) Datenerweiterung für Namensauflösungsrichtlinientabelle (NRPT)
- [x] [\[MS-GPOL\]](https://learn.microsoft.com/en-us/openspecs/windows_protocols/MS-GPOL/) Kernprotokoll
- [x] [\[MS-GPPREF\]](https://learn.microsoft.com/en-us/openspecs/windows_protocols/MS-GPPREF/) Datenstruktur für Präferenzerweiterungen
- [x] [\[MS-GPREG\]](https://learn.microsoft.com/en-us/openspecs/windows_protocols/MS-GPREG/) Codierung der Registrierungserweiterung
- [x] [\[MS-GPSB\]](https://learn.microsoft.com/en-us/openspecs/windows_protocols/MS-GPSB/) Erweiterung für Sicherheitsprotokoll
- [x] [\[MS-GPSCR\]](https://learn.microsoft.com/en-us/openspecs/windows_protocols/MS-GPSCR/) Codierung der Skripterweiterung
- [x] [\[MS-GPSI\]](https://learn.microsoft.com/en-us/openspecs/windows_protocols/MS-GPSI/) Erweiterung für Softwareinstallation

### LDAP Only

- [x] [\[MS-GPDPC\]](https://learn.microsoft.com/en-us/openspecs/windows_protocols/MS-GPDPC/) Erweiterung für bereitgestellte Druckerverbindungen
- [ ] [\[MS-GPWL\]](https://learn.microsoft.com/en-us/openspecs/windows_protocols/MS-GPWL/) Erweiterung für drahtlose/drahtgebundene Protokolle
Tool herunterladen