Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
GPOHound — Strumento offensivo di dump e analisi GPO che sfrutta e arricchisce i dati di BloodHound | Kitploit
Strumenti/GitHubGitHub/cogiceo/gpohound
Escalation di PrivilegiAnalisi delle VulnerabilitàAudit di ConfigurazioneRaccolta InformazioniPenetration TestingConfigurazione ErrataRed Teaming
GitHubcogiceo/gpohound

GPOHound

Strumento offensivo di dump e analisi GPO che sfrutta e arricchisce i dati di BloodHound

Vedi Repository
41538785 giorni faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
Sito web
# GPOHound

`GPOHound` è uno strumento per scaricare e analizzare oggetti Criteri di Gruppo (GPO) estratti dalla condivisione SYSVOL.

Fornisce un formato strutturato e formalizzato per aiutare a individuare configurazioni errate, impostazioni insicure e percorsi di escalation dei privilegi in ambienti Active Directory.

Lo strumento si integra con il database Neo4j di BloodHound, usandolo come una fonte simile a LDAP per le informazioni di Active Directory, arricchendolo allo stesso tempo aggiungendo nuove relazioni (archi) e proprietà dei nodi basate sull'analisi.

## Caratteristiche

### Dump

- [x] Scarica GPO in formato JSON strutturato o ad albero
- [x] Gestisce più domini
- [x] Risolve i nomi GPO con i GUID GPO
- [x] Filtra l'output per file GPO, GUID GPO e domini
- [x] Cerca coppie chiave/valore usando regex

### Analisi

- [x] Raggruppa le impostazioni per oggetto interessato (ad es., Gruppi locali, Registro)
- [x] Rileva membri aggiunti a gruppi locali privilegiati
- [x] Rileva impostazioni di registro insicure, credenziali memorizzate e diritti di privilegio
- [x] Supporta la decifratura delle credenziali VNC e delle password GPP
- [x] Trova domini, contenitori e OU interessati dai GPO
- [x] Ottiene GPO applicati a un utente, computer, OU, contenitore o dominio specifico
- [x] Arricchisce i dati di BloodHound con relazioni e proprietà

## Installazione

### Installare con pip

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

### Installare con pipx

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

### Configurare APOC per Neo4j

È necessario configurare Neo4j APOC per l'arricchimento dei dati di BloodHound:

- Se si utilizza l'installazione standard di Neo4j, è possibile abilitare APOC copiando il file `jar` di APOC nella cartella dei plugin e riavviando Neo4j:

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

- Se si installa Neo4j con "Docker Compose", aggiungere la variabile d'ambiente `NEO4J_PLUGINS=["apoc"]`:

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

> Per maggiori dettagli o metodi di installazione alternativi, fare riferimento alla [documentazione ufficiale di APOC](https://neo4j.com/docs/apoc/current/installation/).

### Aggiungere Query BloodHound

Per visualizzare le relazioni e le proprietà aggiunte da `GPOHound`, è possibile importare le query personalizzate dal file `customqueries.json` in BloodHound. Per impostazione predefinita, questo file si trova in `~/.config/bloodhound/customqueries.json`.

## Prerequisiti

### Scaricare SYSVOL

Iniziare scaricando i contenuti di `SYSVOL` dal controller di dominio.

- Scaricare l'intero `SYSVOL`:

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

- Scaricare solo i GPO:

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

- Scaricare con esclusioni:

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

### Scaricare LDAP

Recuperare tutti i dati necessari da LDAP:

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

### BloodHound

Per l'arricchimento dei dati di BloodHound, è necessario raccogliere i dati di BloodHound utilizzando un collector come `bloodhound.py` o `SharpHound.exe` e importare i dati raccolti nell'interfaccia di BloodHound.

## Utilizzo

I file GPOHound di esempio sono disponibili in `example.zip`. Estraggili con `unzip example.zip`.

Vedere [CONFIG.md](https://github.com/cogiceo/gpohound/blob/main/CONFIG.md) per istruzioni sulla personalizzazione dei valori predefiniti e delle configurazioni.

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

### Analysis

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

## Analisi e arricchimento correnti


> [!IMPORTANT]
> - Condizioni come filtri di sicurezza, filtri WMI e targeting a livello di elemento non vengono interpretate.
> - I conflitti tra GPO non vengono simulati, per evitare di perdere impostazioni valide.

### Gruppi locali

- Rilevamento di utenti assegnati a gruppi locali privilegiati durante l'accesso
- Rilevamento di gruppi locali privilegiati predefiniti rinominati
- Rilevamento di trustee aggiunti a gruppi locali privilegiati utilizzando "Variabili di processo preferenza" (ad es., %ComputerName%, %DomainName%)
- Rilevamento di trustee abusabili tramite hijacking di `sAMAccountName`
- Rilevamento di qualsiasi trustee aggiunto a gruppi locali privilegiati:

  | Gruppo                          | Arco         |
  |--------------------------------|--------------|
  | Administrators                 | `AdminTo`    |
  | Remote Desktop Users           | `CanRDP`     |
  | Distributed COM Users          | `ExecuteDCOM`|
  | Remote Management Users        | `CanPSRemote`|
  | Backup Operators               | `CanPrivEsc` |
  | Print Operators                | `CanPrivEsc` |
  | Network Configuration Operators| `CanPrivEsc` |

### Registro

| Analisi                                                                 | Proprietà                 |
|--------------------------------------------------------------------------|---------------------------|
| Il gruppo "Everyone" include "Anonymous Logon"                           | —                         |
| La firma della sessione del server SMB non è abilitata                    | `smbSigningEnabled: false`|
| La firma della sessione del server SMB non è richiesta                    | `smbSigningRequired: false`|
| L'autenticazione NTLMv1 è supportata                                     | `NTLMv1Support: true`     |
| Password predefinita per accesso automatico di Windows                    | —                         |
| Credenziali VNC (Generic: RealVNC, TightVNC, TigerVNC, ecc.)             | `*VNC*PASS*` (vari)     |
| Password memorizzate di FileZilla                                        | —                         |
| Password proxy di PuTTY                                                  | —                         |
| Credenziali memorizzate di TeamViewer                                    | —                         |
| Sessioni salvate di WinSCP                                               | —                         |
| Password memorizzata di Picasa                                           | —                         |

### Diritti di privilegio

I trustee privilegiati predefiniti, così come gli account di servizio con SID che iniziano con `S-1-5-8`, sono esclusi dall'analisi.

| Privilegio                     | Descrizione                                                    | Arco         |
| ----------------------------- | -------------------------------------------------------------- | ------------ |
| SeDebugPrivilege              | Consente all'utente di eseguire il debug e interagire con qualsiasi processo | `CanPrivEsc` |
| SeBackupPrivilege             | Concede l'accesso a file sensibili                             | `CanPrivEsc` |
| SeRestorePrivilege            | Ignora le autorizzazioni degli oggetti durante il ripristino    | `CanPrivEsc` |
| SeAssignPrimaryTokenPrivilege | Abilita l'impersonificazione dei token per l'escalation a SYSTEM | `CanPrivEsc` |
| SeImpersonatePrivilege        | Permette la creazione di processi nel contesto di un altro utente | `CanPrivEsc` |
| SeTakeOwnershipPrivilege      | Consente di assumere la proprietà di oggetti di sistema         | `CanPrivEsc` |
| SeTcbPrivilege                | Concede la possibilità di agire come parte del sistema operativo | `CanPrivEsc` |
| SeCreateTokenPrivilege        | Permette la creazione di token di autenticazione                | `CanPrivEsc` |
| SeLoadDriverPrivilege         | Autorizza il caricamento/scaricamento dei driver                | `CanPrivEsc` |
| SeManageVolumePrivilege       | Concede privilegi di gestione di volumi o dischi                | `CanPrivEsc` |
| SeEnableDelegationPrivilege   | Abilita gli account computer e utente a essere attendibili per la delega |              |

# Miglioramento

- [x] Migliorare la registrazione
- [x] Integrare LDAP
- [x] Integrare SMB
- [ ] Analizzare le estensioni rimanenti
- [ ] Interfaccia web
- [ ] Evidenziare potenziali conflitti tra GPO

## Documentazione GPO

### SYSVOL e LDAP

- [x] [\[MS-GPAC\]](https://learn.microsoft.com/en-us/openspecs/windows_protocols/MS-GPAC/) Estensione di configurazione del controllo
- [x] [\[MS-GPCAP\]](https://learn.microsoft.com/en-us/openspecs/windows_protocols/MS-GPCAP/) Estensione del protocollo per i criteri di accesso centralizzato
- [x] [\[MS-GPEF\]](https://learn.microsoft.com/en-us/openspecs/windows_protocols/MS-GPEF/) Estensione del file system di crittografia
- [x] [\[MS-GPFAS\]](https://learn.microsoft.com/en-us/openspecs/windows_protocols/MS-GPFAS/) Struttura dei dati del firewall e della sicurezza avanzata
- [x] [\[MS-GPFR\]](https://learn.microsoft.com/en-us/openspecs/windows_protocols/MS-GPFR/) Estensione del protocollo di reindirizzamento delle cartelle
- [ ] [\[MS-GPIE\]](https://learn.microsoft.com/en-us/openspecs/windows_protocols/MS-GPIE/) Estensione di manutenzione di Internet Explorer
- [x] [\[MS-GPNAP\]](https://learn.microsoft.com/en-us/openspecs/windows_protocols/MS-GPNAP/) Estensione per la protezione dell'accesso alla rete (NAP)
- [x] [\[MS-GPNRPT\]](https://learn.microsoft.com/en-us/openspecs/windows_protocols/MS-GPNRPT/) Estensione dati della tabella dei criteri di risoluzione dei nomi (NRPT)
- [x] [\[MS-GPOL\]](https://learn.microsoft.com/en-us/openspecs/windows_protocols/MS-GPOL/) Protocollo principale
- [x] [\[MS-GPPREF\]](https://learn.microsoft.com/en-us/openspecs/windows_protocols/MS-GPPREF/) Struttura dati dell'estensione delle preferenze
- [x] [\[MS-GPREG\]](https://learn.microsoft.com/en-us/openspecs/windows_protocols/MS-GPREG/) Codifica dell'estensione del registro
- [x] [\[MS-GPSB\]](https://learn.microsoft.com/en-us/openspecs/windows_protocols/MS-GPSB/) Estensione del protocollo di sicurezza
- [x] [\[MS-GPSCR\]](https://learn.microsoft.com/en-us/openspecs/windows_protocols/MS-GPSCR/) Codifica dell'estensione degli script
- [x] [\[MS-GPSI\]](https://learn.microsoft.com/en-us/openspecs/windows_protocols/MS-GPSI/) Estensione del protocollo di installazione software

### Solo LDAP

- [x] [\[MS-GPDPC\]](https://learn.microsoft.com/en-us/openspecs/windows_protocols/MS-GPDPC/) Estensione per le connessioni di stampante distribuite
- [ ] [\[MS-GPWL\]](https://learn.microsoft.com/en-us/openspecs/windows_protocols/MS-GPWL/) Estensione del protocollo Wireless/Cablaggio
Scarica lo strumento