BloodHound : cartographie AD en pentest
Comprendre BloodHound
Définition
BloodHound est un outil open source de cartographie AD en pentest qui modélise les relations Active Directory sous forme de graphes orientés. BloodHound ingère des données collectées via son collecteur SharpHound, puis les stocke dans une base Neo4j. Il expose visuellement les chemins d'attaque exploitables entre comptes, groupes, GPO et machines. Son principe repose sur la théorie des graphes : chaque objet AD devient un noeud, chaque relation (membre de groupe, droits ACL, sessions actives, délégations Kerberos) devient une arête. L'outil identifie automatiquement les plus courts chemins vers des cibles privilégiées comme Domain Admins ou Enterprise Admins. Il révèle des vecteurs souvent invisibles à l'audit classique : droits GenericWrite sur un compte, WriteDACL sur une OU, ou AllExtendedRights sur un objet sensible. Cette capacité en fait un standard de facto lors des audits de sécurité Active Directory et des exercices Red Team.
Détection (Blue Team / SOC)
La détection de BloodHound côté Blue Team repose principalement sur l'analyse du trafic LDAP généré par SharpHound. SharpHound effectue des requêtes LDAP massives et répétitives en un temps très court : plusieurs centaines de requêtes vers le contrôleur de domaine en quelques secondes constituent un signal fort. L'Event ID 4662 (opération sur un objet AD) et l'Event ID 1644 (requêtes LDAP coûteuses sur Windows Server 2016+) sont des sources clés à activer dans l'audit AD. Les outils de supervision comme Microsoft Defender for Identity (MDI) disposent d'une détection native de la reconnaissance LDAP suspecte. Les solutions NDR peuvent corréler le volume anormal de requêtes LDAP issues d'un même poste. Côté SIEM, une règle sur le volume de requêtes LDAP par source sur une fenêtre de 60 secondes est efficace. La présence de l'exécutable SharpHound.exe ou de fichiers ZIP nommés avec un timestamp et contenant des JSON structurés (computers.json, users.json, groups.json) sur un poste est un indicateur de compromission direct à surveiller via EDR.
Exploitation & contre-mesures (Red Team)
En contexte Red Team, BloodHound s'utilise dès l'obtention d'un premier compte de domaine, même non privilégié. SharpHound est exécuté avec différentes méthodes de collecte : 'All', 'DCOnly' pour limiter le bruit, ou 'Session' pour cibler les connexions actives. L'analyse des résultats dans BloodHound oriente les mouvements latéraux : un opérateur identifie rapidement un chemin via un compte disposant de GenericAll sur un groupe Admin, ou un utilisateur avec des droits de délégation non contrainte (Unconstrained Delegation). La requête Cypher personnalisée permet d'affiner la recherche, par exemple pour lister tous les comptes avec DCSync rights. Côté durcissement, les contre-mesures prioritaires incluent : l'activation de l'audit LDAP (Event 1644), la suppression des droits ACL délégués inutiles via des revues régulières avec des outils comme PingCastle ou Purple Knight, la segmentation des Tier 0/1/2 selon le modèle d'administration en couches Microsoft, et la mise en place de Protected Users Security Group pour les comptes sensibles afin de neutraliser certaines délégations Kerberos exploitables.
Articles sur BloodHound
Application Administrator, Helpdesk Administrator… ces rôles semblent anodins. Voici comment ils permettent d'atteindre le Global Administrator.