CertiHound - Enumerazione AD CS per BloodHound Cheatsheet
CertiHound è uno strumento di enumerazione dei Servizi di Certificazione di Active Directory (AD CS) che raccoglie il modello di certificato e la configurazione della CA su LDAP ed esporta nel formato compatibile con BloodHound CE. Aggiunge nodi PKI e bordi di abuso del certificato (i percorsi di attacco in stile ESC1–ESC) al tuo grafico BloodHound, in modo che l”escalazione dei privilegi basata sui certificati appaia accanto ai classici percorsi di attacco AD. Colma il divario tra l”abuso ADCS di Certipy e la visualizzazione del percorso di attacco di BloodHound.
Solo per valutazioni autorizzate. L”enumerazione di AD CS richiede credenziali di dominio e permesso.
Installazione
| Metodo | Comando |
|---|
| pip | pip install certihound |
| Dal sorgente | git clone il repo, quindi pip install -e . |
| Requisito | Accesso LDAP al dominio; BloodHound CE v6 per visualizzare |
| Verifica | certihound --help |
Raccolta Dati AD CS
certihound -u analyst -p '***' -d example.local \
-dc dc01.example.local -o output/
| Flag | Scopo |
|---|
-u, --username | Utente di dominio |
-p, --password | Password (o hash/Kerberos) |
-d, --domain | Dominio di destinazione |
-dc, --domain-controller | DC su cui eseguire la query su LDAP |
-o, --output | Directory di output per JSON |
--ldaps | Usa LDAPS (636) |
L”output è un set di file JSON che importi in BloodHound CE.
Cosa Enumera
| Oggetto AD CS | Perché è importante |
|---|
| Autorità di Certificazione | Configurazione di enrollment/CA, web enrollment |
| Modelli di certificato | Il cuore delle configurazioni errate di ESC |
| Diritti di enrollment | Chi può richiedere quali modelli |
| Flag del modello | ENROLLEE_SUPPLIES_SUBJECT, EKU, ecc. |
| Permessi CA | Diritti ManageCA / ManageCertificates |
Percorsi di Attacco ESC Evidenziati
| ESC | Configurazione Errata |
|---|
| ESC1 | Il modello consente al richiedente di fornire il soggetto + auth EKU |
| ESC2 | Modello any-purpose EKU |
| ESC3 | Modelli di agenti di enrollment |
| ESC4 | ACL di modello vulnerabili (modelli scrivibili) |
| ESC6 | EDITF_ATTRIBUTESUBJECTALTNAME2 sulla CA |
| ESC7 | Permessi CA vulnerabili |
| ESC8 | Relay NTLM per l”enrollment web di AD CS |
CertiHound codifica questi come bordi in modo che BloodHound possa tracciare un percorso da un utente con privilegi bassi a Domain Admin attraverso un abuso di certificato.
Importa in BloodHound CE
| Passaggio | Come |
|---|
| 1 | Esegui CertiHound per produrre JSON |
| 2 | In BloodHound CE, carica il JSON tramite l”interfaccia utente/API di ingest |
| 3 | I nodi/bordi PKI appaiono nel grafico |
| 4 | Interroga i percorsi verso bersagli di alto valore che attraversano AD CS |
Flussi di Lavoro Comuni
# Enumera AD CS e carica i percorsi di attacco del certificato in BloodHound CE
certihound -u audit -p '***' -d corp.local -dc dc.corp.local -o adcs/
# → carica adcs/*.json in BloodHound CE, quindi interroga
# "percorso più breve verso Domain Admins" includendo bordi PKI
# Combina con Certipy per l''abuso effettivo una volta trovato un percorso
| Strumento | Ruolo |
|---|
| CertiHound | Enumera AD CS → grafico BloodHound CE |
| Certipy | Enumera e abusa ESC1–ESC17 |
| BloodHound | Visualizza/interroga i percorsi di attacco |
| NetExec | Raccolta AD più ampia + relay |
Risorse