
Analizzatore offline dei percorsi di attacco AD/Entra per JSON di SharpHound/AzureHound. Evidenzia risultati prioritizzati su escalation dei privilegi, credenziali ed errori di configurazione senza BloodHound o Neo4j.
Un progetto open source di SquidSec
SquidOffense.com ·
GitHub
BloodBash è un analizzatore offline open source di JSON di SharpHound e AzureHound, creato e gestito da SquidSec. Costruisce un grafo, fa emergere percorsi di attacco e misconfigurazioni AD/Entra e stampa i risultati in ordine di priorità. Non richiede Neo4j né l'interfaccia di BloodHound.
| Organizzazione | SquidSec |
| Sito web | https://squidoffense.com/ |
| Versione app | v1.4.2 |
| Binario più recente | |
| Licenza | MIT |
| Runtime (sorgente) | Python 3.9+ |
I merge su main compilano automaticamente i binari Linux e Windows e pubblicano una GitHub Release (tag v1.4.2-build.N).
BloodBash è sviluppato e mantenuto da SquidSec per la comunità della sicurezza - red teamer, pentester e difensori che necessitano di un'analisi offline rapida di AD/Entra senza dover predisporre l'infrastruttura di BloodHound.
Eseguibili BloodBash SquidSec standalone - nessun Python, pip o venv necessario:
| Piattaforma | Download più recente |
|---|---|
| Linux x64 | bloodbash-linux-x64 |
| Windows x64 | bloodbash-windows-x64.exe |
# Linux
curl -sL -o bloodbash \
https://github.com/DotNetRussell/BloodBash/releases/latest/download/bloodbash-linux-x64
chmod +x bloodbash
./bloodbash /path/to/json --all
# Windows (PowerShell)
Invoke-WebRequest -Uri "https://github.com/DotNetRussell/BloodBash/releases/latest/download/bloodbash-windows-x64.exe" `
-OutFile bloodbash.exe
.\bloodbash.exe C:\path\to\json --all
pipx install git+https://github.com/DotNetRussell/BloodBash
O da un clone:
git clone https://github.com/DotNetRussell/BloodBash.git
cd BloodBash
python3 -m venv venv && source venv/bin/activate
pip install -r requirements.txt
Dipendenze: networkx, rich, tqdm, pyyaml.
Inizia con questi 3 (punta a una directory SharpHound/AzureHound o a un file .zip):
# 1) Day-0 triage - default when you pass only the data path
bloodbash /path/to/json
# same as:
bloodbash /path/to/json --quick-wins
# 2) Just owned a user - outbound compromise dossier
bloodbash ./sharpout --from-user alice --from-user-export
# 3) Full attack analysis (large env: --fast auto on big graphs)
bloodbash /path/to/json --all --fast
# inventory ladders still opt-in:
bloodbash /path/to/json --all --inventory
Da un checkout del sorgente, python3 BloodBash.py è equivalente a bloodbash.
# Binary / pipx
./bloodbash /path/to/json
bloodbash /path/to/json --from-user alice --from-user-export
# Multi-collection merge (low-priv + DA zip, multi-domain forest)
bloodbash ./lowpriv.zip --merge ./da.zip ./child-domain.zip --all --fast
Una directory nuda (senza flag di controllo) esegue la triage quick-wins. Usa --all per l'analisi completa dell'attack-path (non l'inventario), oppure --wizard per un selettore interattivo.
Con --all e --quick-wins, le sezioni dei detector vuote vengono soppresse per mantenere la console leggibile. I flag selettivi stampano comunque le righe verdi "none found" per i controlli richiesti.
Dati di esempio: SampleSharphoundADData/ e SampleAzurehoundData/.
bloodbash --help # start-here + cheat sheet
bloodbash --help-advanced # full flag tables + all examples
Altre ricette: docs/cookbook.md.