Vai al contenuto

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