> Sécurité > Cybersécurité : Techniques de cartographie Active Directory avec BloodHound

Cybersécurité : Techniques de cartographie Active Directory avec BloodHound

Sécurité - Par Sylvain Cortes - Publié le 29 octobre 2019

L’objectif de cet article est de vous donner les pistes nécessaires afin que vous puissiez comprendre, évaluer et enfin utiliser le fantastique outil qu’est BloodHound. BloodHound est un outil OpenSource et gratuit, régulièrement utilisé lors des attaques sur Active Directory.

Cybersécurité : Techniques de cartographie Active Directory avec BloodHound

L’objectif de BloodHound n’est pas la réalisation de l’attaque elle-même mais de fournir à l’attaquant ou à la RedTeam l’ensemble des informations nécessaires sur l’environnement Active Directory visé, et ce de façon extrêmement détaillée.

Les différentes étapes d’une attaque sur Active Directory

Il existe plusieurs modèles pour décrire les séquences d’attaque, nous utiliserons ici une méthode parmi tant d’autres afin de décrire l’enchainement des étapes pour réaliser une attaque complète sur un environnement Active Directory :

Les étapes classiques d’une attaque visant Active Directory

BloodHound : Cartographie efficace

BloodHound est un outil de cartographie, il va permettre à l’attaquant de cibler de manière diablement efficace les cibles internes à privilégier et les chemins les plus simples à exploiter pour arriver au Graal que représente le compte Administrateur du domaine.

Cette étape est tout à fait primordiale pour un attaquant, car elle lui permettra de sélectionner les ressources ou objets à compromettre pour rapidement arriver à ses fins. Dans un Active Directory de plusieurs milliers d’objets, il est nécessaire de pouvoir aller vite en visant les objets principaux qui possèdent des « faiblesses ». Ces faiblesses peuvent être d’ordre structurel ou comportemental, mais l’idée est d’aller directement au but en ayant au préalable parfaitement cartographié l’environnement, ceci permettant de cibler l’attaque pour la rendre efficace.

Le mot anglais ‘BloodHound’ se traduit en français par ‘Limier’. Le limier est une race de chien possédant un excellent nez, il est selon les spécialistes le meilleur chien pour suivre une piste, quelle que soit la distance – aux Etats-Unis, les Limiers sont utilisés par la police pour retrouver des personnes disparues, dans l’environnement IT, notre limier-BloodHound nous servira à pister le meilleur chemin vers la compromission Active Directory !

Téléchargement et installation de BloodHound

Téléchargement de BloodHound

Le projet BloodHound est disponible sur GitHub à cette adresse : https://github.com/BloodHoundAD/BloodHound – mais vous devez en fait télécharger deux éléments :

Téléchargement de la version compilée de BloodHound

Téléchargement de la version non compilée de BloodHound

Installation et dépendances de BloodHound

Afin de pouvoir installer et utiliser BloodHound, vous devez avoir au préalable installé trois composants :

  • Les packages Java pour votre environnement
  • .NET Framework 3.5
  • La version communautaire du serveur Neo4j

Pour ceux qui ne connaissent pas Neo4j, il s’agit d’une solution permettant de manipuler des données extrêmement complexes sous forme de graphe, permettant alors une exploration des données collectées et leur exploitation simplifiée. Neo4j est utilisée dans de nombreux projets communautaires ou applications professionnelles et possède une communauté croissante d’utilisateurs.

Vous devrez être Administrateur local de la machine sur laquelle vous installerez BloodHound, mais vous n’avez pas besoin d’être Administrateur du domaine pour utiliser l’outil ! C’est d’ailleurs logique, puisque l’outil vous servira justement à explorer et sélectionner les meilleures pistes afin de devenir Administrateur du domaine ou de la forêt ! Il suffira d’utiliser un compte utilisateur classique, permettant la lecture des objets Active Directory via le protocole LDAP, ce qui est un droit par défaut de tous les utilisateurs créés dans Active Directory.

Rappelez-vous notre schéma d’introduction sur les étapes d’une attaque, BloodHound s’utilise entre ‘l’Escalade de privilèges locale’ et le ‘Mouvement latéral’ et cible l’action de Cartographie.

Première étape : Collecte des données Active Directory et injection dans BloodHound

BloodHound possède dans les dernières versions un outil dédié à la collecte des données Active Directory, cet outil est localisé dans le répertoire Ingestors de BloodHound et s’appelle SharpHound. Il suffit d’ouvrir une fenêtre de commande, de se rendre dans le répertoire Ingestors et de lancer la commande suivante : SharpHound.exe –CollectionMethod All

A la fin de la commande, un fichier ZIP est automatiquement généré dans le même répertoire, ce fichier compressé contient plusieurs fichiers JSON qui contiennent les données collectées. Ce fichier ZIP sera ensuite injecté dans la base de données Neo4j via l’interface de BloodHound.

Il faut maintenant se connecter à l’interface de BloodHound en exécutant BloodHound.exe puis s’authentifier :

Interface d’authentification de BloodHound

Vous arriverez alors à une page d’accueil par défaut, qui ne contient aucune données. Il faut alors sélectionner le bouton Upload Data et choisir le fichier ZIP à importer. A la fin de l’import vous devez obtenir un premier graph sur l’interface :

Votre premier graph

Nous y sommes, tout est prêt pour commencer l’exploration des données Active Directory.

Téléchargez cette ressource

Mac en entreprise : le levier d’un poste de travail moderne

Mac en entreprise : le levier d’un poste de travail moderne

Ce livre blanc répond aux 9 questions clés des entreprises sur l’intégration du Mac : sécurité, compatibilité, gestion, productivité, coûts, attractivité talents, RSE et IA, et l’accompagnement sur mesure proposé par inmac wstore.