
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é.
Fonctionnalités des rapports web :
Une évaluation basée sur le risque des faiblesses Active Directory, accompagnée de chemins d'atténuation complets.
Barre de recherche et contrôles soigneusement adaptés pour identifier les configurations les plus risquées.
Vous pouvez également observer les indicateurs au fil du temps pour aider à mesurer l'efficacité des mesures d'atténuation.
AD Miner a été initialement créé par Forvis Mazars et est maintenu par l'équipe Cybersecurity Audit & Advisory de Grant Thornton.
Pour exécuter AD Miner, vous devez d'abord disposer d'une base de données Neo4j contenant les objets Active Directory :
[!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).
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.).
Par défaut, BloodHound crée une base Neo4j accessible sur le port 7687.
La méthode la plus simple consiste à exécuter la commande suivante avec pipx :
pipx install 'git+https://github.com/AD-Security/AD_Miner.git'
ADMiner est également disponible sur certaines distributions Linux :
pacman -S ad-minernix-env -iA nixos.ad-minerUne image Docker est disponible pour construction. Construisez l'image avec la commande suivante :
docker build -t ad-miner .
Pour exécuter sous Windows avec les données de BloodHound Community Edition, utilisez les commandes ci-dessous :
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 :
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.
Exécutez l'outil :
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 :
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 :
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) :
AD-miner -c -cf Mon_Rapport -b bolt://serveur1:7687 -u neo4j -p mypassword --cluster serveur1:7687:32,serveur2:7687:16