Bloodhood

Enumération Active Directory avec BloodHound et SharpHound


1. Introduction à BloodHound

  • BloodHound est l'outil d'énumération Active Directory le plus puissant disponible, ayant radicalement changé le paysage de l'énumération AD depuis sa sortie en 2016.

  • Philosophie Graphique : "Les défenseurs pensent en listes, les attaquants pensent en graphes."

  • BloodHound permet de visualiser l'environnement AD sous forme de graphes avec des nœuds interconnectés, facilitant l'identification des chemins d'attaque potentiels.


2. Historique et Importance

  • Historique : BloodHound a permis aux attaquants (et maintenant aux défenseurs aussi) de visualiser les chemins d'attaque dans l'AD. Microsoft a intégré une version similaire dans sa solution Advanced Threat Protection (ATP).

  • Approche en Graphes : Les attaquants peuvent utiliser ces graphes pour planifier des attaques en deux étapes :

    1. Initialisation : Phishing pour obtenir un accès initial et collecter les informations AD.

    2. Exploitation : Utilisation des données pour planifier les étapes suivantes et atteindre des objectifs plus rapidement.


3. SharpHound

  • SharpHound est l'outil d'énumération associé à BloodHound, utilisé pour collecter les données AD qui seront ensuite visualisées dans BloodHound.

  • Versions de SharpHound :

    • SharpHound.ps1 : Script PowerShell pour exécuter SharpHound. Peut être chargé en mémoire pour éviter les détections sur disque.

    • SharpHound.exe : Version exécutable Windows.

    • AzureHound.ps1 : Version pour Azure (services de cloud computing Microsoft).


4. Exécution de SharpHound

A. Préparation et Exécution

  1. Copie de SharpHound :

    • Copiez SharpHound.exe dans le répertoire Documents de votre utilisateur AD sur la machine cible.

    powershellCopier le codecopy C:\Tools\Sharphound.exe ~\Documents\
    cd ~\Documents\
  2. Commande d'Exécution :

    • Exécutez SharpHound avec les méthodes de collecte souhaitées.

    powershellCopier le codeSharpHound.exe --CollectionMethods All --Domain za.tryhackme.com --ExcludeDCs
    • Paramètres :

      • --CollectionMethods : Détermine les types de données à collecter (e.g., Default, All).

      • --Domain : Spécifie le domaine à énumérer.

      • --ExcludeDCs : Exclut les contrôleurs de domaine.

  3. Résultat :

    • Un fichier ZIP horodaté sera généré avec les données collectées.

B. Importation dans BloodHound

  1. Transfert du Fichier ZIP :

    • Utilisez SCP pour transférer le fichier ZIP vers votre machine locale.

    bashCopier le codescp <AD Username>@THMJMP1.za.tryhackme.com:C:/Users/<AD Username>/Documents/<Sharphound ZIP> .
  2. Importation :

    • Glissez-déposez le fichier ZIP dans l'interface de BloodHound pour importer les données.


5. Utilisation de BloodHound

A. Configuration de Neo4j

  1. Démarrage de Neo4j :

    bashCopier le codeneo4j console start
  2. Lancement de BloodHound :

    • Exécutez BloodHound avec :

      bashCopier le codebloodhound --no-sandbox
    • Authentification : Utilisez les identifiants par défaut neo4j:neo4j.

B. Analyse des Données

  1. Vue d'Ensemble :

    • BloodHound fournit une vue graphique des chemins d'attaque en utilisant les données collectées.

  2. Informations sur les Nœuds :

    • Node Info : Informations détaillées sur les comptes AD, groupes, et privilèges.

    • Group Membership : Montre les groupes dont l'utilisateur est membre.

    • Local Admin Rights : Affiche les hôtes où l'utilisateur a des privilèges administratifs.

    • Execution Rights : Droits d'exécution comme le RDP.

    • Outbound/Inbound Control Rights : Droits de modification des attributs AD.

  3. Requêtes d'Analyse :

    • Exécutez des requêtes comme "Find all Domain Admins" pour identifier les comptes avec des privilèges élevés.

  4. Chemins d'Attaque :

    • Utilisez l'icône de recherche de chemin pour explorer les chemins d'attaque depuis un point de départ jusqu'à un objectif.


6. Gestion des Données de Session

  • Fréquence des Exécutions :

    • Exécutez SharpHound avec --CollectionMethods All au début de l'évaluation, puis régulièrement avec --Session pour obtenir les données de session les plus récentes.

  • Nettoyage des Données :

    • Effacez les informations de session obsolètes dans BloodHound avant d'importer de nouvelles données.


7. Avantages et Inconvénients

Avantages :

  • Interface graphique pour l'énumération AD.

  • Affichage visuel des chemins d'attaque.

  • Insights approfondis sur les objets AD.

Inconvénients :

  • Détection : SharpHound peut être détecté par les solutions AV/EDR.

  • Bruit : L'exécution de SharpHound est souvent bruyante et peut susciter des alertes.


Conclusion

BloodHound et SharpHound sont des outils essentiels pour l'énumération Active Directory et l'analyse des chemins d'attaque. Leur utilisation permet d'obtenir une vue approfondie et visuelle des relations et permissions dans l'AD, facilitant ainsi la planification et l'exécution d'attaques ainsi que la compréhension de la posture de sécurité.

Last updated