For detailed installation instructions, refer to the official BloodHound documentation.
BloodHound 8.0 avec Aide-mémoire OpenGraph
Vue d’ensemble
BloodHound 8.0 est une mise à jour majeure de l’outil de gestion des chemins d’attaque open-source largement utilisé. La fonctionnalité la plus significative est OpenGraph, qui étend les capacités de BloodHound au-delà d’Active Directory pour cartographier les chemins d’attaque d’identité à travers divers systèmes comme GitHub, Snowflake, et plus encore.
Fonctionnalités clés de BloodHound 8.0
- OpenGraph: Un nouveau modèle de graphe extensible qui permet l’ingestion et l’analyse de données de toute source, pas seulement d’Active Directory.
- Chemins d’attaque étendus: Visualiser et analyser les chemins d’attaque sur plusieurs plateformes et services.
- Facilité d’utilisation améliorée: Accès plus rapide et plus clair aux informations avec une interface utilisateur améliorée.
- Extensibilité renforcée: Plus facile d’ajouter de nouvelles sources de données et primitives d’attaque.
- Piloté par la communauté: La communauté BloodHound peut créer et partager des collecteurs et des requêtes personnalisés pour de nouvelles sources de données.
Concepts OpenGraph
- Nœuds: Représentent des objets comme des utilisateurs, des groupes, des rôles et des ordinateurs.
- Arêtes: Représentent les relations entre les nœuds, comme “MemberOf” ou “AdminTo”.
- Chemins d’attaque: Une chaîne d’arêtes qu’un attaquant peut utiliser pour obtenir un accès privilégié.
- Collecteurs: Scripts qui collectent des données à partir de systèmes cibles et les formatent pour BloodHound.
Installation et mise à niveau
# For detailed installation instructions, refer to the official BloodHound documentation.
# Generally, you will need to download the latest release from the SpecterOps GitHub.
# Example of running the BloodHound GUI (replace with actual command)
./BloodHound-linux-x64
Collecte de données (Ingesteurs)
BloodHound utilise des collecteurs (ingesteurs) pour recueillir des données. Pour BloodHound 8.0, vous devrez utiliser des collecteurs mis à jour qui prennent en charge le format OpenGraph.
- SharpHound: Le collecteur officiel pour Active Directory.
- AzureHound: Le collecteur officiel pour Azure.
- Collecteurs communautaires: Recherchez des collecteurs développés par la communauté pour d’autres plateformes comme GitHub, AWS, etc.
Requêtes Cypher courantes
BloodHound utilise le langage de requête Cypher. Voici quelques exemples de requêtes :
// Find all Domain Admins
MATCH (u:User)-[:MemberOf*1..]->(g:Group {name: "DOMAIN ADMINS@your.domain"}) RETURN u.name, g.name
// Find the shortest path to Domain Admin from a specific user
MATCH (u:User {name: "user@your.domain"}), (g:Group {name: "DOMAIN ADMINS@your.domain"}), p = shortestPath((u)-[*1..]->(g)) RETURN p
// Find all computers where a specific user is an admin
MATCH (u:User {name: "user@your.domain"})-[r:AdminTo]->(c:Computer) RETURN u.name, c.name
Utilisation d’OpenGraph
Avec OpenGraph, vous pouvez désormais ingérer des données de diverses sources et créer des requêtes personnalisées pour trouver des chemins d’attaque inter-plateformes.
Scénario exemple: Trouver un utilisateur qui est administrateur sur un ordinateur ayant accès à un référentiel GitHub sensible.
// Example query (syntax may vary based on the collector)
MATCH (u:User)-[:AdminTo]->(c:Computer)-[:HasAccessTo]->(r:GitHubRepo {name: "sensitive-repo"}) RETURN u.name, c.name, r.name
```**Ingérer des données**: Utilisez SharpHound pour collecter les données AD et un collecteur communautaire pour recueillir les données GitHub.https://specterops.io/blog/2025/07/29/bloodhound-v8-usability-extensibility-and-opengraph/ **Requête personnalisée**: Écrivez une requête Cypher qui relie l'utilisateur AD à l'ordinateur, et l'ordinateur au référentiel GitHub.
https://github.com/SpecterOps/BloodHound
### Ressources supplémentaires
- [Blog SpecterOps : Annonce BloodHound v8](https://bloodhoundgang.herokuapp.com/)
- [Référentiel GitHub BloodHound](