{"id":283,"date":"2026-04-08T01:09:18","date_gmt":"2026-04-07T23:09:18","guid":{"rendered":"https:\/\/pandack.fr\/?pandack_outil=bloodhound"},"modified":"2026-04-08T07:46:42","modified_gmt":"2026-04-08T05:46:42","slug":"bloodhound","status":"publish","type":"pandack_outil","link":"https:\/\/pandack.fr\/?pandack_outil=bloodhound","title":{"rendered":"BloodHound"},"content":{"rendered":"<h2>\ud83d\udccb Fiche Outil : BloodHound<\/h2>\n<hr>\n<blockquote>\n<p>[!Important]<\/p>\n<p>BloodHound est \u00ab\u00a0Bruyant\u00a0\u00bb Lancer un collecteur (SharpHound\/BloodHound.py) g\u00e9n\u00e8re <strong>\u00e9norm\u00e9ment de trafic LDAP et SMB<\/strong> sur le r\u00e9seau. Dans un environnement surveill\u00e9 (SOC\/EDR), c&rsquo;est souvent d\u00e9tect\u00e9 imm\u00e9diatement.<\/p>\n<\/blockquote>\n<div class=\"callout callout--warning\">\n<div class=\"callout__title\">\ud83d\udccb Note<\/div>\n<div class=\"callout__content\">\n<p>Voir ici pour la version <span class=\"wikilink-broken\" title=\"Note non disponible : bloodhound-python\">bloodhound-python<\/span><\/p>\n<\/div>\n<\/div>\n<hr>\n<div class=\"callout callout--info\">\n<div class=\"callout__title\">\ud83c\udfaf Objectif Principal<\/div>\n<div class=\"callout__content\">\n<p>BloodHound utilise la th\u00e9orie des graphes pour r\u00e9v\u00e9ler les relations cach\u00e9es dans un Active Directory. Il ne cherche pas de \u00ab\u00a0failles\u00a0\u00bb logicielles, mais des <strong>erreurs de logique et de permissions<\/strong> (ex: \u00ab\u00a0L&rsquo;utilisateur A peut r\u00e9initialiser le mot de passe de B, qui est Admin du serveur C, o\u00f9 l&rsquo;Admin de Domaine est connect\u00e9\u00a0\u00bb). Son but est de trouver le <strong>chemin le plus court<\/strong> vers l&rsquo;Administrateur de Domaine.<\/p>\n<\/div>\n<\/div>\n<hr>\n<div class=\"callout callout--quote\">\n<div class=\"callout__title\">Syntaxe G\u00e9n\u00e9rale<\/div>\n<div class=\"callout__content\">\n<div class=\"code-block-wrapper\">\n<div class=\"code-block-header\"><span class=\"code-language\">bash<\/span><button class=\"code-copy-btn\" type=\"button\">Copier<\/button><\/div>\n<pre><code class=\"language-bash\">Syntaxe de base ici<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<hr>\n<h2>Description <\/h2>\n<p>acces au don\u00e9e \u00ab\u00a0user\u00a0\u00bb et \u00ab\u00a0pass\u00a0\u00bb de bloodhound sur kali : etc\/bhapi\/bhapi.json<\/p>\n<h2>Installation et mise en place  <\/h2>\n<p>Depuis 2023, la version standard est <strong>BloodHound CE<\/strong>. Elle ne s&rsquo;installe plus via <code>apt install<\/code> (qui installe la version Legacy obsol\u00e8te), mais via <strong>Docker<\/strong>.<\/p>\n<p><strong>1. Pr\u00e9-requis (Sur ton Kali\/Serveur d&rsquo;attaque)<\/strong> Tu as besoin de Docker et Docker Compose.<\/p>\n<p>Tu as besoin de Docker et Docker Compose.<\/p>\n<div class=\"code-block-wrapper\">\n<div class=\"code-block-header\"><span class=\"code-language\">bash<\/span><button class=\"code-copy-btn\" type=\"button\">Copier<\/button><\/div>\n<pre><code class=\"language-bash\">sudo apt update\nsudo apt install docker.io docker-compose-plugin<\/code><\/pre>\n<\/div>\n<p><strong>2. Installation de BloodHound CE<\/strong><\/p>\n<div class=\"code-block-wrapper\">\n<div class=\"code-block-header\"><span class=\"code-language\">bash<\/span><button class=\"code-copy-btn\" type=\"button\">Copier<\/button><\/div>\n<pre><code class=\"language-bash\"># Cr\u00e9er un dossier pour BloodHound\nmkdir bloodhound-ce &amp;&amp; cd bloodhound-ce\n\n# T\u00e9l\u00e9charger le fichier de configuration Docker officiel\ncurl -L https:\/\/ghst.ly\/getbhce -o docker-compose.yml\n\n# Lancer le serveur (r\u00e9cup\u00e8re les images et lance les conteneurs)\nsudo docker compose up -d\n\n# R\u00e9cup\u00e9rer le mot de passe initial g\u00e9n\u00e9r\u00e9 al\u00e9atoirement\nsudo docker compose logs | grep &quot;Initial Password&quot;<\/code><\/pre>\n<\/div>\n<p><strong>3. Acc\u00e8s<\/strong><\/p>\n<ul>\n<li>Ouvre ton navigateur sur : <code>http:\/\/127.0.0.1:8080<\/code><\/li>\n<li>Login : <code>admin<\/code><\/li>\n<li>Mot de passe : (Celui r\u00e9cup\u00e9r\u00e9 dans les logs)<\/li>\n<li>Tu devras changer le mot de passe \u00e0 la premi\u00e8re connexion.<\/li>\n<\/ul>\n<h2>Extraction des Donn\u00e9es (Les Collecteurs)<\/h2>\n<p>Pour que BloodHound fonctionne, il a besoin de \u00ab\u00a0manger\u00a0\u00bb des donn\u00e9es. Ces donn\u00e9es sont export\u00e9es sous forme de fichiers <code>.json<\/code> (ex: <code>users.json<\/code>, <code>computers.json<\/code>).<\/p>\n<p>Tu as deux m\u00e9thodes pour les obtenir :<\/p>\n<p><strong>Depuis ton Kali (BloodHound.py) :<\/strong><\/p>\n<p><strong>Quand l&rsquo;utiliser ?<\/strong> Tu es sur ton PC d&rsquo;attaquant, tu as un acc\u00e8s r\u00e9seau au domaine, et tu as r\u00e9cup\u00e9r\u00e9 un couple identifiant\/mot de passe valide.<\/p>\n<p><strong>La Commande (Pour avoir les JSON) :<\/strong> _Cette commande va cr\u00e9er les fichiers <code>.json<\/code> directement dans ton dossier actuel.<\/p>\n<div class=\"code-block-wrapper\">\n<div class=\"code-block-header\"><span class=\"code-language\">bash<\/span><button class=\"code-copy-btn\" type=\"button\">Copier<\/button><\/div>\n<pre><code class=\"language-bash\">bloodhound-python -d &lt;DOMAINE&gt; -u &lt;USER&gt; -p &lt;PASSWORD&gt; -ns &lt;IP_DC&gt; -c All\n\n# Exemple Concret :\nbloodhound-python -d marvel.local -u &#039;peter.parker&#039; -p &#039;Spiderman123!&#039; -ns 192.168.1.10 -c All<\/code><\/pre>\n<\/div>\n<ul>\n<li><code>-d<\/code> : Le nom du domaine (FQDN).<\/li>\n<li><code>-u<\/code> : Nom d&rsquo;utilisateur.<\/li>\n<li><code>-p<\/code> : Mot de passe.<\/li>\n<li><code>-ns<\/code> : L&rsquo;adresse IP du Contr\u00f4leur de Domaine (Name Server).<\/li>\n<li><code>-c All<\/code> : Collecte TOUT (Groupes, Sessions, Trusts, ACLs, etc.).<\/li>\n<\/ul>\n<p><strong>R\u00e9sultat :<\/strong> Tu verras appara\u00eetre plusieurs fichiers dans ton dossier : <code>users.json<\/code>, <code>groups.json<\/code>, <code>computers.json<\/code>, <code>domains.json<\/code>.<\/p>\n<ul>\n<li><code>users.json<\/code> : Infos sur les utilisateurs.<\/li>\n<li><code>groups.json<\/code> : Infos sur les groupes et leurs membres.<\/li>\n<li><code>computers.json<\/code> : Infos sur les machines.<\/li>\n<li><code>domains.json<\/code> : Infos sur le domaine lui-m\u00eame.<\/li>\n<li><code>gpos.json<\/code> : Infos sur les strat\u00e9gies de groupe.<\/li>\n<\/ul>\n<p>On peut aussi extraire les donn\u00e9e avec <span class=\"wikilink-broken\" title=\"Note non disponible : SharpHound\">SharpHound<\/span><\/p>\n<h2>Exploitation des donn\u00e9e <\/h2>\n<h2>Les cat\u00e9gories <\/h2>\n<table>\n<thead>\n<tr>\n<th><strong>Cat\u00e9gorie<\/strong><\/th>\n<th><strong>Signification &amp; Utilit\u00e9 pour l&rsquo;Attaquant<\/strong><\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><strong>Sessions<\/strong><\/td>\n<td><strong>\u00ab\u00a0O\u00f9 cet utilisateur est-il connect\u00e9 ?\u00a0\u00bb<\/strong><\/p>\n<p>Indique les ordinateurs o\u00f9 l&rsquo;utilisateur a une session active.<\/p>\n<p>_Utilit\u00e9 :_ Si tu es Admin de l&rsquo;ordinateur o\u00f9 la session est active, tu peux voler les identifiants de cet utilisateur (via Mimikatz\/LSASS).<\/td>\n<\/tr>\n<tr>\n<td><strong>Member Of<\/strong><\/td>\n<td><strong>\u00ab\u00a0\u00c0 quels groupes appartient-il ?\u00a0\u00bb<\/strong><\/p>\n<p>Montre les groupes dont cet objet est membre (directement ou via des groupes imbriqu\u00e9s).<\/p>\n<p>_Utilit\u00e9 :_ V\u00e9rifier si l&rsquo;utilisateur fait partie d&rsquo;un groupe \u00e0 privil\u00e8ges (ex: \u00ab\u00a0Domain Admins\u00a0\u00bb, \u00ab\u00a0Backup Operators\u00a0\u00bb).<\/td>\n<\/tr>\n<tr>\n<td><strong>Local Admin Rights<\/strong><\/td>\n<td><strong>\u00ab\u00a0Sur quelles machines est-il Dieu ?\u00a0\u00bb<\/strong><\/p>\n<p>Liste les ordinateurs sur lesquels cet utilisateur a les droits Administrateur Local.<\/p>\n<p>_Utilit\u00e9 :_ Si tu as le mot de passe de cet utilisateur, tu peux prendre le contr\u00f4le total de ces machines (via <code>psexec<\/code> ou <code>evil-winrm<\/code>).<\/td>\n<\/tr>\n<tr>\n<td><strong>Outbound Object Control<\/strong><\/td>\n<td><strong>\u00ab\u00a0Quels pouvoirs ai-je sur les AUTRES ?\u00a0\u00bb<\/strong> (Contr\u00f4le Sortant)<\/p>\n<p>C&rsquo;est la section <strong>la plus importante<\/strong>. Elle liste les objets (utilisateurs, groupes, ordis) que _ton_ objet peut manipuler.<\/p>\n<p>_Exemples :_ \u00ab\u00a0Je peux changer le mot de passe de X\u00a0\u00bb, \u00ab\u00a0Je peux m&rsquo;ajouter au groupe Y\u00a0\u00bb.<\/td>\n<\/tr>\n<tr>\n<td><strong>Inbound Object Control<\/strong><\/td>\n<td><strong>\u00ab\u00a0Qui a des pouvoirs sur MOI ?\u00a0\u00bb<\/strong> (Contr\u00f4le Entrant)<\/p>\n<p>Liste les objets qui peuvent manipuler _ton_ objet cible.<\/p>\n<p>_Utilit\u00e9 :_ Si tu veux pirater cet utilisateur pr\u00e9cis, cette liste te dit qui tu dois pirater en premier pour y arriver.<\/td>\n<\/tr>\n<tr>\n<td><strong>Execution Privileges<\/strong><\/td>\n<td><strong>\u00ab\u00a0O\u00f9 puis-je ex\u00e9cuter des commandes ?\u00a0\u00bb<\/strong><\/p>\n<p>Liste les machines o\u00f9 l&rsquo;utilisateur a des droits sp\u00e9cifiques comme RDP, DCOM ou PSRemoting sans forc\u00e9ment \u00eatre admin complet.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>Utilisation &amp; M\u00e9thodologie d&rsquo;Analyse<\/h2>\n<p>BloodHound ne sert pas juste \u00e0 regarder des points, c&rsquo;est un GPS. Voici comment l&rsquo;utiliser en mission :<\/p>\n<h4>1. La technique du \u00ab\u00a0Mark as Owned\u00a0\u00bb (Marquer comme poss\u00e9d\u00e9)<\/h4>\n<p>C&rsquo;est la fonction vitale de BloodHound.<\/p>\n<ul>\n<li>D\u00e8s que tu trouves un mot de passe ou que tu compromets un utilisateur\/ordinateur :<\/li>\n<\/ul>\n<p>    1. Cherche le n\u0153ud dans BloodHound.<\/p>\n<p>    2. Fais un <strong>Clic-Droit<\/strong> \u27a1\ufe0f <strong>Mark User as Owned<\/strong> (Une ic\u00f4ne de cr\u00e2ne appara\u00eet \ud83d\udc80).<\/p>\n<p>    3. Va dans l&rsquo;onglet <strong>Analysis<\/strong> et clique sur <strong>\u00ab\u00a0Shortest Paths to High Value Targets from Owned Principals\u00a0\u00bb<\/strong>.<\/p>\n<ul>\n<li><strong>R\u00e9sultat :<\/strong> BloodHound va te tracer un chemin rouge direct entre _ce que tu as d\u00e9j\u00e0_ et l&rsquo;Administrateur de Domaine.<\/li>\n<\/ul>\n<h4>2. Comprendre les \u00ab\u00a0Edges\u00a0\u00bb (Les lignes fl\u00e9ch\u00e9es)<\/h4>\n<p>Si tu vois une fl\u00e8che entre deux objets mais que tu ne sais pas comment l&rsquo;exploiter :<\/p>\n<ol>\n<li><strong>Clique sur la fl\u00e8che (le lien)<\/strong>, pas sur le n\u0153ud.<\/li>\n<\/ol>\n<ol>\n<li>Un panneau d&rsquo;aide va s&rsquo;ouvrir.<\/li>\n<\/ol>\n<ol>\n<li>Va dans l&rsquo;onglet <strong>\u00ab\u00a0Help\u00a0\u00bb<\/strong>.<\/li>\n<\/ol>\n<ol>\n<li>BloodHound t&rsquo;expliquera <strong>exactement<\/strong> quelle commande taper pour abuser de ce lien (souvent des commandes <code>PowerView<\/code> ou <code>net user<\/code>).<\/li>\n<\/ol>\n<h4>3. Casser les \u00ab\u00a0Sessions\u00a0\u00bb (Chasse \u00e0 l&rsquo;homme)<\/h4>\n<p>Si ton chemin d&rsquo;attaque est bloqu\u00e9, regarde les sessions :<\/p>\n<ul>\n<li>_Sc\u00e9nario :_ Tu es Admin sur <code>PC-COMPTA<\/code>. BloodHound te dit que <code>Admin-Domaine<\/code> a une session active sur <code>PC-COMPTA<\/code>.<\/li>\n<\/ul>\n<ul>\n<li>_Action :_ Utilise <code>mimikatz<\/code> sur <code>PC-COMPTA<\/code> pour dumper la m\u00e9moire. Tu r\u00e9cup\u00e9reras le mot de passe ou le hash de <code>Admin-Domaine<\/code>.<\/li>\n<\/ul>\n<ul>\n<li>_Note :_ Les sessions sont volatiles. Si le scan date d&rsquo;il y a 3 jours, l&rsquo;utilisateur s&rsquo;est probablement d\u00e9connect\u00e9 depuis.<\/li>\n<\/ul>\n<h2>Exemple <\/h2>\n<p>Les \u00e9tapes d&rsquo;<span class=\"canvas-link\" title=\"Canvas Obsidian\">Exploitation Windows avec BloodHound<\/span><\/p>\n<h2>Suivi &amp; Recommandation <\/h2>\n<h2>OLD<\/h2>\n<p><strong>BloodHound<\/strong> (GUI)<\/p>\n<div class=\"code-block-wrapper\">\n<div class=\"code-block-header\"><span class=\"code-language\">bash<\/span><button class=\"code-copy-btn\" type=\"button\">Copier<\/button><\/div>\n<pre><code class=\"language-bash\"># Lancer neo4j et BloodHound\nsudo neo4j start\nbloodhound\n\n# Import des donn\u00e9es collect\u00e9es\n# Via l&#039;interface : Upload Data \u2192 S\u00e9lectionner les .json<\/code><\/pre>\n<\/div>\n<p><strong>bloodhound-python<\/strong> (Collecteur)  <\/p>\n<div class=\"code-block-wrapper\">\n<div class=\"code-block-header\"><span class=\"code-language\">bash<\/span><button class=\"code-copy-btn\" type=\"button\">Copier<\/button><\/div>\n<pre><code class=\"language-bash\"># Collection compl\u00e8te (all)\nbloodhound-python -d domain.local -u user -p password -c all -ns 192.168.1.100\n\n# Collection sp\u00e9cifique\nbloodhound-python -d domain.local -u user -p password \n    -c Group,LocalAdmin,Session,Trusts \n    -ns 192.168.1.100\n\n# Avec Kerberos\nbloodhound-python -d domain.local -u user -p password -k -dc dc01.domain.local\n\n# Output\n# G\u00e9n\u00e8re des fichiers .json \u00e0 importer dans BloodHound GUI<\/code><\/pre>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Outil de cartographie des relations Active Directory pour d\u00e9couvrir des chemins d&rsquo;attaque complexes.<\/p>\n","protected":false},"template":"","meta":{"footnotes":""},"phase_pentest":[25,26,27],"categorie_fonctionnelle":[],"port_numero":[32,34,35,33],"protocole":[31,28,29,30],"tag_outil":[36,37,38],"class_list":["post-283","pandack_outil","type-pandack_outil","status-publish","hentry","phase_pentest-enumeration","phase_pentest-exploitation","phase_pentest-post-exploitation","port_numero-32","port_numero-34","port_numero-35","port_numero-33","protocole-dns","protocole-ldap","protocole-ldaps","protocole-smb","tag_outil-active-directory","tag_outil-mouvement-lateral","tag_outil-visualisation"],"_links":{"self":[{"href":"https:\/\/pandack.fr\/index.php?rest_route=\/wp\/v2\/pandack_outil\/283","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pandack.fr\/index.php?rest_route=\/wp\/v2\/pandack_outil"}],"about":[{"href":"https:\/\/pandack.fr\/index.php?rest_route=\/wp\/v2\/types\/pandack_outil"}],"version-history":[{"count":1,"href":"https:\/\/pandack.fr\/index.php?rest_route=\/wp\/v2\/pandack_outil\/283\/revisions"}],"predecessor-version":[{"id":305,"href":"https:\/\/pandack.fr\/index.php?rest_route=\/wp\/v2\/pandack_outil\/283\/revisions\/305"}],"wp:attachment":[{"href":"https:\/\/pandack.fr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=283"}],"wp:term":[{"taxonomy":"phase_pentest","embeddable":true,"href":"https:\/\/pandack.fr\/index.php?rest_route=%2Fwp%2Fv2%2Fphase_pentest&post=283"},{"taxonomy":"categorie_fonctionnelle","embeddable":true,"href":"https:\/\/pandack.fr\/index.php?rest_route=%2Fwp%2Fv2%2Fcategorie_fonctionnelle&post=283"},{"taxonomy":"port_numero","embeddable":true,"href":"https:\/\/pandack.fr\/index.php?rest_route=%2Fwp%2Fv2%2Fport_numero&post=283"},{"taxonomy":"protocole","embeddable":true,"href":"https:\/\/pandack.fr\/index.php?rest_route=%2Fwp%2Fv2%2Fprotocole&post=283"},{"taxonomy":"tag_outil","embeddable":true,"href":"https:\/\/pandack.fr\/index.php?rest_route=%2Fwp%2Fv2%2Ftag_outil&post=283"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}