Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
AD_Miner — AD Miner est un outil d'audit d'Active Directory qui utilise des requêtes Cypher pour traiter les données de la base de données de graphes #Bloodhound afin de découvrir des faiblesses de sécurité. | Kitploit
Outils/GitHubGitHub/ad-security/ad_miner
Escalade de PrivilègesReconnaissanceAnalyse des VulnérabilitésMouvement LatéralAudit de ConfigurationCollecte d'InformationsTests d'IntrusionMauvaise ConfigurationApprentissage et Éducation
GitHubad-security/ad_miner

AD_Miner

AD Miner est un outil d'audit d'Active Directory qui utilise des requêtes Cypher pour traiter les données de la base de données de graphes #Bloodhound afin de découvrir des faiblesses de sécurité.

1.6k1633il y a 5 moisVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager
Voir le dépôt
AD_Miner
Latest AD_Miner version Latest release Latest commit in dev Rawsec's CyberSecurity Inventory badge
Discord

AD Miner est un outil d'audit Active Directory (sur site et Entra ID) qui :

  • Utilise des requêtes Cypher pour analyser les données de la base de données graphe BloodHound (Neo4j).
  • Fournit une vue d'ensemble complète des faiblesses existantes via un rapport web statique.

Fonctionnalités des rapports web :

  • Listes détaillées des faiblesses identifiées
  • Graphiques dynamiques pour une analyse visuelle
  • Indicateurs clés historiques pour suivre les évolutions dans le temps
  • Évaluations des risques pour prioriser les menaces et les actions

Aperçu rapide d'un rapport

Chemins d'atténuation complets pour les risques Active Directory

Une évaluation basée sur le risque des faiblesses Active Directory, accompagnée de chemins d'atténuation complets.

Page principale

Une interface web dynamique

Barre de recherche et contrôles soigneusement adaptés pour identifier les configurations les plus risquées.

Page principale

Suivi de progression via une interface évolutive

Vous pouvez également observer les indicateurs au fil du temps pour aider à mesurer l'efficacité des mesures d'atténuation.

Page principale

AD Miner a été initialement créé par Forvis Mazars et est maintenu par l'équipe Cybersecurity Audit & Advisory de Grant Thornton.

Prérequis

Pour exécuter AD Miner, vous devez d'abord disposer d'une base de données Neo4j contenant les objets Active Directory :

  1. Pour extraire les données du domaine, vous pouvez utiliser des outils comme SharpHound, RustHound-CE ou BloodHound.py et AzureHound pour les environnements EntraID.

[!CAUTION] Nous recommandons vivement l'utilisation de BloodHound Automation, car il installe le plugin Graph Data Science Neo4j, qui :

  • améliore considérablement le temps de calcul et les performances globales.
  • permet d'utiliser Smartest Path au lieu de la fonction intégrée shortestPath() de Neo4j (c'est-à-dire des chemins plus faciles à exploiter plutôt que le nombre minimal de nœuds).
  1. Pour configurer votre environnement BloodHound (y compris l'interface graphique et la base de données Neo4j), BloodHound Automation est fortement recommandé pour son intégration transparente avec le plugin Graph Data Science. Bien qu'il soit tout à fait possible d'utiliser l'installation par défaut de BloodHound CE, sachez que vous passerez à côté des avantages de GDS (par exemple, une recherche de chemin plus intelligente, une amélioration de la vitesse d'exécution, etc.).

  2. Par défaut, BloodHound crée une base Neo4j accessible sur le port 7687.

Installation et configuration

La méthode la plus simple consiste à exécuter la commande suivante avec pipx :

root@kitploit:~
pipx install 'git+https://github.com/AD-Security/AD_Miner.git'

ADMiner est également disponible sur certaines distributions Linux :

Packaging status

  • BlackArch : pacman -S ad-miner
  • NixOS : nix-env -iA nixos.ad-miner

Une image Docker est disponible pour construction. Construisez l'image avec la commande suivante :

root@kitploit:~
docker build -t ad-miner .

Pour exécuter sous Windows avec les données de BloodHound Community Edition, utilisez les commandes ci-dessous :

root@kitploit:~
docker run -v ${PWD}:/tmp ad-miner AD-miner -b bolt://host.docker.internal:7687 -u neo4j -p mypassword -cf VOTRE_PREFIXE

Pour exécuter sous Linux avec les données de BloodHound Community Edition, utilisez les commandes ci-dessous :

root@kitploit:~
docker run -v ${PWD}:/tmp --network host ad-miner AD-miner -b bolt://localhost:7687 -u neo4j -p mypassword -cf VOTRE_PREFIXE

Notez que le montage du volume avec -v est essentiel pour obtenir la sortie des données. Cela suppose que le serveur BHCE fonctionne sur l'hôte Docker avec les paramètres par défaut.

Utilisation

Exécutez l'outil :

root@kitploit:~
AD-miner [-h] [-b BOLT] [-u USERNAME] [-p PASSWORD] [-e EXTRACT_DATE] [-r RENEWAL_PASSWORD] [-a] [-c] [-l LEVEL] -cf CACHE_PREFIX [-ch NB_CHUNKS] [-co NB_CORES] [--rdp] [--evolution EVOLUTION] [--cluster CLUSTER]

Exemple :

root@kitploit:~
AD-miner -cf Mon_Rapport -u neo4j -p mypassword

Des fichiers de cache sont générés à la fin de chaque requête Neo4j. Cette fonctionnalité vous permet de mettre en pause ou d'arrêter AD Miner à tout moment sans perdre les résultats précédemment calculés. Pour utiliser le cache, utilisez le paramètre -c. Les fichiers de cache sont stockés dans le dossier cache_neo4j de votre répertoire courant. Pour que le cache soit utilisé, le nom du rapport doit correspondre au préfixe du fichier de cache :

root@kitploit:~
AD-miner -c -cf Mon_Rapport -u neo4j -p mypassword

Pour mieux gérer les grands ensembles de données, il est possible d'activer le multi-threading et d'utiliser un cluster de bases de données Neo4j, comme dans l'exemple suivant (où le serveur1 gère 32 threads et le serveur2 en gère 16) :

root@kitploit:~
AD-miner -c -cf Mon_Rapport -b bolt://serveur1:7687 -u neo4j -p mypassword  --cluster serveur1:7687:32,serveur2:7687:16

Si la politique de renouvellement des mots de passe est connue, vous pouvez la spécifier à l'aide du paramètre -r pour garantir que les contrôles de renouvellement de mot de passe correspondent aux paramètres de votre environnement (par défaut 90 jours). Par exemple, si la politique de mot de passe est fixée à 180 jours, utilisez la commande suivante :

root@kitploit:~
AD-miner -c -cf Mon_Rapport -b bolt://serveur:7687 -u neo4j -p mypassword -r 180

[!TIP] Le mot de passe par défaut de la base de données Neo4j de Bloodhound CE est bloodhoundcommunityedition ou neo5j si vous utilisez BloodHound Automation

Options :

root@kitploit:~
  -h, --help            affiche ce message d'aide et quitte
  -b BOLT, --bolt BOLT  Connexion bolt Neo4j (par défaut : bolt://127.0.0.1:7687)
  -u USERNAME, --username USERNAME
                        Nom d'utilisateur Neo4j (par défaut : neo4j)
  -p PASSWORD, --password PASSWORD
                        Mot de passe Neo4j (par défaut : bloodhoundcommunityedition)
  -e EXTRACT_DATE, --extract_date EXTRACT_DATE
                        Date d'extraction (ex. : 20220131). Par défaut : date de dernière connexion
  -r RENEWAL_PASSWORD, --renewal_password RENEWAL_PASSWORD
                        Politique de renouvellement des mots de passe en jours. Par défaut : 90
  -c, --cache           Utiliser un fichier local pour les données Neo4j
  -l LEVEL, --level LEVEL
                        Niveau récursif pour les requêtes de chemins
  -cf CACHE_PREFIX, --cache_prefix CACHE_PREFIX
                        Fichier de cache à utiliser (en cas de plusieurs fichiers de cache pour différentes sociétés)
  --gpo_low             Effectue une requête plus rapide mais incomplète pour les GPO (plus rapide que la requête standard)
  -ch NB_CHUNKS, --nb_chunks NB_CHUNKS
                        Nombre de morceaux pour les requêtes Neo4j parallèles. Par défaut : 20 * nombre de CPU
  -co NB_CORES, --nb_cores NB_CORES
                        Nombre de cœurs pour les requêtes Neo4j parallèles. Par défaut : nombre de CPU
  --rdp                 Inclure l'arête CanRDP dans les graphiques
  --evolution EVOLUTION
                        Évolution dans le temps : emplacement des fichiers de données json. ex : '../../tests/'
  --cluster CLUSTER     Nœuds du cluster pour exécuter des requêtes Neo4j parallèles. ex : hôte1:port1:nCœur1,hôte2:port2:nCœur2,...

Dans les pages de graphiques, vous pouvez faire un clic droit sur les nœuds du graphique pour les regrouper ou ouvrir le groupe.

Évolution

Si vous disposez de plusieurs rapports AD-Miner dans le temps, vous pouvez facilement suivre l'évolution avec l'argument --evolution : chaque rapport AD-Miner génère un fichier de données JSON en plus du fichier index.html. Il vous suffit de rassembler ces différents fichiers JSON dans un seul dossier et de spécifier le chemin de ce dossier après l'argument --evolution.

root@kitploit:~
AD-miner -c -cf Mon_Rapport -b bolt://serveur:7687 -u neo4j -p mypassword -r 180 --evolution dossier_evolution/

Un onglet 'Évolution dans le temps' apparaît sur la page principale, fournissant des graphiques d'évolution pour chaque catégorie (Permissions, Mots de passe, Kerberos et Divers).

L'évolution détaillée pour chaque contrôle est également disponible et accessible via le bouton « Afficher l'évolution » pour chaque catégorie. Une échelle logarithmique est disponible pour mieux mettre en évidence les variations subtiles dans le temps.

Chemins les plus intelligents

AD Miner peut calculer des chemins en fonction de leur exploitabilité réelle. En effet, parfois le chemin le plus court est difficile à exploiter (ici à cause de ExecuteDCOM avant HasSession).

Alors qu'un chemin plus long mais plus simple existe (ici avec MemberOf et AdminTo au lieu de ExecuteDCOM).

AD Miner passe automatiquement en mode chemin le plus intelligent lorsque votre base de données Neo4j dispose du plugin Graph Data Science installé (https://neo4j.com/docs/graph-data-science/current/). La manière la plus simple d'installer ce plugin est de définir une variable d'environnement dans votre Docker Neo4j : NEO4J_PLUGINS=["graph-data-science"] (il est installé par défaut avec BloodHound Automation).

Actuellement, 10 contrôles utilisent une couverture complète du graphe et optimisent les chemins les plus intelligents pour l'analyse.

Contrôles implémentés

La liste suivante répertorie les contrôles déjà implémentés dans AD Miner :

Contrôles pour l'environnement sur site

Contrôles pour Entra ID

Contribuer

Consultez comment contribuer ici.

Télécharger l’outil
CatégorieDescriptionCatégorieDescription
KerberosComptes AS-REP RoastablesDiversOrdinateurs avec OS obsolète
KerberosComptes KerberoastablesDiversComptes dormants
KerberosDélégation contrainte KerberosDiversNiveau fonctionnel du domaine
KerberosRBCD Kerberos contre des ordinateursDiversOrdinateurs fantômes
KerberosDélégations non contraintes KerberosDiversGroupes sans aucun membre
KerberosAncien mot de passe KRBTGTDiversUO sans aucun membre
KerberosShadow Credentials sur comptes privilégiésDiversShadow Credentials sur contrôleurs de domaine
KerberosShadow Credentials sur comptes normauxDiversPrimaryGroupID inattendu
Mots de passeAccès aux mots de passe LAPSDiversFGPP des utilisateurs
Mots de passeOrdinateurs sans LAPSPermissionsAnomalies ACL
Mots de passeObjets pouvant lire les mots de passe GMSA des administrateursPermissionsPoints d'étranglement des chemins d'attaque
Mots de passeContournement de l'exigence de mot de passePermissionsOrdinateurs administrateurs d'autres ordinateurs
Mots de passeUtilisateurs avec mots de passe en clairPermissionsChemins inter-domaines vers Admin de domaine
Mots de passeUtilisateurs avec mots de passe anciensPermissionsComptes invités
Mots de passeUtilisateurs sans expiration de mot de passePermissionsAccès inadéquat aux privilèges DCSync
PermissionsParamètres AdminCount inadéquatsPermissionsPrivilèges de modification GPO inadéquats
PermissionsNombre inadéquat d'administrateurs de domainePermissionsComptes machines avec privilèges inadéquats
PermissionsComptes machines avec privilèges inadéquatsPermissionsPrivilèges admin local non tier-0 sur ADCS
PermissionsObjets avec historique SIDPermissionsChemins vers les administrateurs DNS
PermissionsChemins vers les administrateurs de domainePermissionsChemins vers les groupes d'opérateurs
PermissionsChemins vers les unités d'organisation (UO)PermissionsChemins vers les serveurs
PermissionsChemins vers le conteneur AdminSDHolderPermissionsGroupe « Pre-Windows 2000 Compatible Access »
PermissionsComptes privilégiés en dehors du groupe Protected UsersPermissionsAccès RDP (ordinateurs)
PermissionsAccès RDP (utilisateurs)PermissionsViolation Tier-0 (sessions)
PermissionsUtilisateurs ayant des privilèges inter-domaines puissantsPermissionsUtilisateurs avec privilèges d'administrateur local
CatégorieDescriptionCatégorieDescription
Entra ID DiversComptes dormants AzureEntra ID MS GraphContrôleurs directs de MS Graph
Entra ID Mots de passePrivilèges de réinitialisation de mot de passe Entra IDEntra ID MS GraphComptes Entra ID non synchronisés sur site
Entra ID Mots de passeChangement de mot de passe incohérentEntra ID MS GraphComptes synchronisés avec compte jumeau désactivé
Entra ID PermissionsAccès aux rôles Entra ID privilégiésEntra ID PermissionsComptes privilégiés à la fois sur site et Azure
Entra ID PermissionsChemin croisé sur site/Entra ID vers tier-0Entra ID PermissionsUtilisateurs possiblement liés à AADConnect
Entra ID PermissionsUtilisateurs Entra ID avec chemin vers cibles de grande valeur