BloodHound 8.0 with OpenGraph Cheatsheet
BloodHound 8.0 con Cheatsheet OpenGraph¶
Panoramica¶
BloodHound 8.0 è un aggiornamento importante dello strumento open-source di gestione dei percorsi di attacco. La nuova funzionalità più significativa è OpenGraph, che espande le capacità di BloodHound oltre Active Directory per mappare i percorsi di attacco di identità attraverso vari sistemi come GitHub, Snowflake e altro ancora.
Caratteristiche Principali di BloodHound 8.0¶
- OpenGraph: Un nuovo modello grafico estensibile che consente l'acquisizione e l'analisi di dati da qualsiasi fonte, non solo da Active Directory.
- Percorsi di Attacco Espansi: Visualizzare e analizzare percorsi di attacco su più piattaforme e servizi.
- Migliore Usabilità: Accesso più veloce e chiaro alle informazioni con un'interfaccia utente migliorata.
- Estensibilità Migliorata: Più facile aggiungere nuove fonti di dati e primitive di attacco.
- Guidato dalla Community: La community di BloodHound può creare e condividere collector e query personalizzati per nuove fonti di dati.
Concetti di OpenGraph¶
- Nodi: Rappresentano oggetti come utenti, gruppi, ruoli e computer.
- Archi: Rappresentano relazioni tra nodi, come "MemberOf" o "AdminTo".
- Percorsi di Attacco: Una catena di archi che un attaccante può utilizzare per ottenere accesso privilegiato.
- Collector: Script che raccolgono dati dai sistemi di destinazione e li formattano per BloodHound.
Installazione e Aggiornamento¶
# 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
Raccolta Dati (Ingestori)¶
BloodHound utilizza collector (ingestori) per raccogliere dati. Per BloodHound 8.0, sarà necessario utilizzare collector aggiornati che supportano il formato OpenGraph.
- SharpHound: Il collector ufficiale per Active Directory.
- AzureHound: Il collector ufficiale per Azure.
- Collector della Community: Cerca collector sviluppati dalla community per altre piattaforme come GitHub, AWS, ecc.
Query Cypher Comuni¶
BloodHound utilizza il linguaggio di query Cypher. Ecco alcuni esempi di query:
// 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
Utilizzo di OpenGraph¶
Con OpenGraph, ora puoi acquisire dati da varie fonti e creare query personalizzate per trovare percorsi di attacco tra piattaforme diverse.
Scenario di Esempio: Trovare un utente che è amministratore di un computer con accesso a un repository GitHub sensibile.
cypher
// 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.nameAcquisizione Dati: Usa SharpHound per raccogliere dati AD e un collector della community per raccogliere dati GitHub.https://specterops.io/blog/2025/07/29/bloodhound-v8-usability-extensibility-and-opengraph/ Query Personalizzata: Scrivi una query Cypher che collega l'utente AD al computer, e il computer al repository GitHub.
https://github.com/SpecterOps/BloodHound
Risorse Aggiuntive¶
- Blog SpecterOps: Annuncio BloodHound v8
- [Repository GitHub di BloodHound](