Salta ai contenuti

CertiHound - Enumerazione AD CS per BloodHound Cheatsheet

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

MetodoComando
pippip install certihound
Dal sorgentegit clone il repo, quindi pip install -e .
RequisitoAccesso LDAP al dominio; BloodHound CE v6 per visualizzare
Verificacertihound --help

Raccolta Dati AD CS

certihound -u analyst -p '***' -d example.local \
  -dc dc01.example.local -o output/
FlagScopo
-u, --usernameUtente di dominio
-p, --passwordPassword (o hash/Kerberos)
-d, --domainDominio di destinazione
-dc, --domain-controllerDC su cui eseguire la query su LDAP
-o, --outputDirectory di output per JSON
--ldapsUsa LDAPS (636)

L”output è un set di file JSON che importi in BloodHound CE.

Cosa Enumera

Oggetto AD CSPerché è importante
Autorità di CertificazioneConfigurazione di enrollment/CA, web enrollment
Modelli di certificatoIl cuore delle configurazioni errate di ESC
Diritti di enrollmentChi può richiedere quali modelli
Flag del modelloENROLLEE_SUPPLIES_SUBJECT, EKU, ecc.
Permessi CADiritti ManageCA / ManageCertificates

Percorsi di Attacco ESC Evidenziati

ESCConfigurazione Errata
ESC1Il modello consente al richiedente di fornire il soggetto + auth EKU
ESC2Modello any-purpose EKU
ESC3Modelli di agenti di enrollment
ESC4ACL di modello vulnerabili (modelli scrivibili)
ESC6EDITF_ATTRIBUTESUBJECTALTNAME2 sulla CA
ESC7Permessi CA vulnerabili
ESC8Relay 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

PassaggioCome
1Esegui CertiHound per produrre JSON
2In BloodHound CE, carica il JSON tramite l”interfaccia utente/API di ingest
3I nodi/bordi PKI appaiono nel grafico
4Interroga 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

CertiHound nel Toolkit AD CS

StrumentoRuolo
CertiHoundEnumera AD CS → grafico BloodHound CE
CertipyEnumera e abusa ESC1–ESC17
BloodHoundVisualizza/interroga i percorsi di attacco
NetExecRaccolta AD più ampia + relay

Risorse