Aller au contenu

CertiHound - Énumération AD CS pour BloodHound

CertiHound - Énumération AD CS pour BloodHound

CertiHound est un outil d’énumération des services de certificats Active Directory (AD CS) qui collecte les modèles de certificats et la configuration des CA sur LDAP et les exporte au format compatible BloodHound CE. Il ajoute des nœuds PKI et des arêtes d’abus de certificats (les chemins d’attaque de style ESC1–ESC) à votre graphe BloodHound, afin que l’escalade de privilèges basée sur les certificats apparaisse aux côtés des chemins d’attaque AD classiques. Il comble l’écart entre l’abus ADCS de Certipy et la visualisation des chemins d’attaque de BloodHound.

Réservé aux évaluations autorisées. L’énumération d’AD CS nécessite des identifiants de domaine et une permission.

Installation

MéthodeCommande
pippip install certihound
Depuis la sourcegit clone le dépôt, puis pip install -e .
ExigenceAccès LDAP au domaine ; BloodHound CE v6 pour visualiser
Vérifiercertihound --help

Collecte des données AD CS

certihound -u analyst -p '***' -d example.local \
  -dc dc01.example.local -o output/
DrapeauObjectif
-u, --usernameUtilisateur du domaine
-p, --passwordMot de passe (ou hash/Kerberos)
-d, --domainDomaine cible
-dc, --domain-controllerDC à interroger sur LDAP
-o, --outputRépertoire de sortie pour JSON
--ldapsUtiliser LDAPS (636)

La sortie est un ensemble de fichiers JSON que vous importez dans BloodHound CE.

Ce qu’il énumère

Objet AD CSPourquoi c’est important
Autorités de certificationConfiguration de l’inscription/CA, inscription web
Modèles de certificatsLe cœur des erreurs de configuration ESC
Droits d’inscriptionQui peut demander quels modèles
Drapeaux de modèleENROLLEE_SUPPLIES_SUBJECT, EKU, etc.
Permissions CADroits ManageCA / ManageCertificates

Chemins d’attaque ESC surfacés

ESCErreur de configuration
ESC1Le modèle permet au demandeur de fournir le sujet + EKU d’authentification
ESC2Modèle EKU polyvalent
ESC3Modèles d’agent d’inscription
ESC4ACL de modèle vulnérable (modèles inscriptibles)
ESC6EDITF_ATTRIBUTESUBJECTALTNAME2 sur la CA
ESC7Permissions CA vulnérables
ESC8Relais NTLM vers l’inscription web AD CS

CertiHound code ces chemins comme des arêtes afin que BloodHound puisse tracer un chemin depuis un utilisateur à faible privilège vers l’administrateur de domaine à travers un abus de certificat.

Importation dans BloodHound CE

ÉtapeComment
1Exécuter CertiHound pour produire JSON
2Dans BloodHound CE, télécharger le JSON via l’interface d’ingestion/API
3Les nœuds/arêtes PKI apparaissent dans le graphe
4Interroger les chemins vers les cibles de haut niveau qui traversent AD CS

Flux de travail courants

# Enumerate AD CS and load certificate attack paths into BloodHound CE
certihound -u audit -p '***' -d corp.local -dc dc.corp.local -o adcs/
# → upload adcs/*.json into BloodHound CE, then query
#   "shortest path to Domain Admins" including PKI edges

# Combine with Certipy for the actual abuse once a path is found

CertiHound dans la boîte à outils AD CS

OutilRôle
CertiHoundÉnumérer AD CS → graphe BloodHound CE
CertipyÉnumérer et abuser ESC1–ESC17
BloodHoundVisualiser/interroger les chemins d’attaque
NetExecCollection AD plus large + relais

Ressources