Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
BloodBash — 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. | Kitploit
Strumenti/GitHubGitHub/squidsec/bloodbash
Escalation di PrivilegiAnalisi delle VulnerabilitàMovimento LateraleAudit di ConfigurazioneRaccolta InformazioniPenetration TestingSicurezza CloudGestione Identità e Accessi (IAM)Red Teaming
GitHubsquidsec/bloodbash

BloodBash

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.

40649272 giorni faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
Vedi Repository

BloodBash

Logo SquidSec

Un progetto open source di SquidSec
SquidOffense.com · GitHub

Esegui test unitari Compila e pubblica binari Ultima release Licenza: MIT

BloodBash è un analizzatore JSON offline open source per SharpHound e AzureHound, creato e gestito da SquidSec. Costruisce un grafo, mette in evidenza percorsi di attacco e configurazioni errate di AD/Entra e stampa i risultati prioritizzati. Non richiede Neo4j né l'interfaccia BloodHound.

I merge su main compilano automaticamente i binari Linux e Windows e pubblicano una GitHub Release (tag v1.4.2-build.N).


Informazioni su SquidSec

BloodBash è sviluppato e mantenuto da SquidSec per la community della sicurezza: red teamer, pentester e difensori che necessitano di un'analisi AD/Entra offline rapida senza dover configurare un'infrastruttura BloodHound.

  • Sito web: https://squidoffense.com/
  • Progetto: https://github.com/DotNetRussell/BloodBash

Download (Python non richiesto)

Eseguibili BloodBash standalone SquidSec - non sono richiesti Python, pip o venv:

PiattaformaUltimo download
Linux x64bloodbash-linux-x64
Windows x64bloodbash-windows-x64.exe
  • Tutte le release e i tag di versione: https://github.com/DotNetRussell/BloodBash/releases
  • Pagina dell'ultima release: https://github.com/DotNetRussell/BloodBash/releases/latest```bash

Linux

curl -sL -o bloodbash
https://github.com/DotNetRussell/BloodBash/releases/latest/download/bloodbash-linux-x64 chmod +x bloodbash ./bloodbash /path/to/json --all

root@kitploit:~
[No content provided in the INPUT section. Please paste the Markdown text you wish to have translated.]```powershell
# 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

Installazione (Python / sorgente)```bash

pipx install git+https://github.com/DotNetRussell/BloodBash

root@kitploit:~
Oppure da un clone:```bash
git clone https://github.com/DotNetRussell/BloodBash.git
cd BloodBash
python3 -m venv venv && source venv/bin/activate
pip install -r requirements.txt

Dependencies: networkx, rich, tqdm, pyyaml.

Avvio rapido

Inizia con questi 3 (indica una directory SharpHound/AzureHound o un .zip):```bash

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

root@kitploit:~
Da un checkout del sorgente, `python3 BloodBash.py` è equivalente a `bloodbash`.```bash
# 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 passata senza flag di controllo esegue il triage quick-wins. Usa --all per un'analisi completa del percorso di attacco (non inventario), oppure --wizard per un selettore interattivo.

Con --all e --quick-wins, le sezioni vuote dei rilevatori 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/.```bash bloodbash --help # start-here + cheat sheet bloodbash --help-advanced # full flag tables + all examples

root@kitploit:~
More recipes: [docs/cookbook.md](https://github.com/squidsec/bloodbash/blob/HEAD/docs/cookbook.md).

## Cosa trova

| Area | Controlli |
|------|--------|
| **Privilegi AD** | DCSync (GetChanges+GetChangesAll; DA/EA nidificati trattati come previsto), ACL pericolose su oggetti di alto valore, **interessante abuso ACL non-HV** (ForceChangePassword / GenericAll / GenericWrite su utenti/computer/gruppi; soppresso il rumore dei computer in blocco con GenericWrite), abuso GPO, RBCD (configurato + *può configurare*), delega vincolata/non vincolata (sezioni **DC vs non-DC**), cronologia SID, **trust di dominio** (`--trust`) |
| **Credenziali AD** | Kerberoastable, AS-REP roastable (con tag **AdminCount / OWNED / LASTLOG**), **roast privilegiato** (`--privileged-roast`: roastable + DA/EA nidificati / AdminCount), credenziali shadow, password nella descrizione, PasswordNeverExpires / PasswordNotRequired. SharpHound `sensitive` (NOT_DELEGATED) **non** esclude i candidati al roast |
| **ADCS** | ESC1-ESC7 (+ ESC8/ESC9/ESC13 quando esistono le proprietà del collector). ESC10-12 richiedono dati di ruolo registry/HTTP spesso assenti da SharpHound. Messaggio soft quando lo zip non ha oggetti certificato |
| **Azure / Entra** | Ruoli privilegiati, percorsi di *controllo* delle credenziali di app/SP, disattivazione esplicita MFA, utenti guest, diritti di abuso SP |
| **Percorsi** | Percorsi più brevi verso obiettivi di alto valore (set limitato in `--fast`; HV include Administrators predefiniti e **computer controller di dominio**), principal posseduti (`--owned` = in entrata), `--path-from` / `--path-to` personalizzati |
| **Dossier di compromissione** | `--from-user` / `--compromise`: appartenenze in uscita, conteggi AdminTo/RDP/ACL, gruppi nidificati, percorsi automatici verso HV, esportazione txt/csv inclusi **elenchi host AdminTo in blocco** |
| **Rimedi dei percorsi** | Classifica dei percorsi più trafficati (`--busiest-paths`), raccomandazioni per la rimozione di edge (`--path-break`) |
| **Inventario** | Scale di età delle password, account obsoleti/inattivi, gruppi di privilegi, strutturali (domini/DC/trust), inventario degli oggetti posseduti, **dashboard statistiche con %** |
| **Pacchetto CSV stile PlumHound** | `--csv-pack DIR`: inventario multi-CSV (domini, DA, roastable, LAPS, edge Everyone/overpriv, computer AdminTo computer, doppio admin privilegiato+locale, host AdminTo in blocco) + `index.csv` |
| **Input multiplo** | `--merge PATH…` unisce directory/zip aggiuntivi in un unico grafo (multi-dominio / raccolte duali low-priv+DA) |
| **Altro** | **Banner di salute della raccolta** (conteggi oggetti, copertura sessioni/AdminTo/RDP, presenza ADCS), copertura LAPS (`haslaps`) + **lettori di password LAPS** (`ReadLAPSPassword`), XML GPO (`--gpo-content-dir`), edge `Trusts[]` di dominio, nidificazione gruppi, `--list-domains` |

I risultati vengono valutati e riepilogati in una tabella **Prioritized Findings** (le categorie di igiene ad alto volume collassano; usa `--all-findings` per l'elenco completo collassato). I pannelli di abuso suggeriscono strumenti/comandi per categoria.

Questo è un **analizzatore euristico offline** di SquidSec, non un sostituto completo di BloodHound CE. Preferisci validare con BloodHound CE sullo stesso zip per parità dei percorsi.

---

## Esempi di comandi

Sostituisci `./sharpout` con la tua directory o zip di SharpHound/AzureHound. Checkout dal sorgente: usa `python3 BloodBash.py` invece di `bloodbash`.

### Nozioni di base```bash
# Help (tables + examples)
bloodbash --help
bloodbash --help-advanced

# Default = quick wins (high-signal day-0 triage)
bloodbash ./sharpout
bloodbash ./sharpout --quick-wins
bloodbash ./sharpout --quick-wins --domain CORP.LOCAL
bloodbash ./2024-collection.zip --quick-wins

# Interactive picker
bloodbash ./sharpout --wizard

# Full attack analysis (--all auto --fast on large graphs; inventory is separate)
bloodbash ./sharpout --all
bloodbash ./sharpout --all --fast
bloodbash ./2024-collection.zip --all
bloodbash ./sharpout --all --inventory

# Merge multiple collections into one graph
bloodbash ./lowpriv.zip --merge ./da.zip --all --fast
bloodbash ./forest-root --merge ./child-a.zip ./child-b.zip --quick-wins

# One domain / tenant only
bloodbash ./sharpout --all --domain CORP.LOCAL
bloodbash ./azureout --azure-privileged-roles --domain <tenantId>

# Domain trusts
bloodbash ./sharpout --trust
bloodbash ./sharpout --all --trust

# In-repo samples
bloodbash SampleSharphoundADData --quick-wins
bloodbash SampleSharphoundADData --all --fast --all-findings
bloodbash SampleAzurehoundData --azure-privileged-roles --azure-guest-access --all-findings

Cosa esegue --quick-wins

Set curato ad alto segnale (implica --fast, riepilogo dettagliato, tabella completa dei risultati). Non è un dump completo di inventario/Azure. Le sezioni vuote restano silenziose.

AreaModuli
PrivilegiDCSync (unexpected), ADCS, ACL pericolose + ACL non-HV interessanti, RBCD + can-configure, unconstrained (DC vs non-DC), constrained, shadow creds, LAPS (+ lettori), trust

Profilo equivalente: --profile quick-wins (vedi profiles/quick-wins.yaml).

Dossier di compromissione (utente appena compromesso / con accesso iniziale)

Vista in uscita: "Ho appena compromesso questo principal: cosa può fare?"

Console dossier only

bloodbash ./sharpout --from-user alice bloodbash ./sharpout --compromise [email protected]

Console + export pack

bloodbash ./sharpout --from-user alice --from-user-export bloodbash ./sharpout --from-user alice --from-user-export ./alice-dossier

Multiple footholds (one subdir each under ./footholds)

bloodbash ./sharpout --from-user alice,bob,svc_backup --from-user-export ./footholds

Domain-scoped + full findings table

bloodbash ./sharpout --from-user alice --domain CORP.LOCAL --from-user-export --all-findings

Sample lab: SCOTT has LocalAdmin via Tier2Support and paths to DA

bloodbash SampleSharphoundADData --from-user SCOTT --from-user-export ./scott-out --fast

Pair with inspect / explicit path

bloodbash ./sharpout --from-user alice --inspect alice bloodbash ./sharpout --path-from alice --path-to 'domain [email protected]'

Inbound (who can reach my loot) - not the dossier

bloodbash ./sharpout --owned alice --owned-inventory --shortest-paths bloodbash ./sharpout --owned-file ./owned.txt --owned-inventory

Foothold dossiers from a line-delimited list

bloodbash ./sharpout --from-user-file ./footholds.txt --from-user-export ./out

root@kitploit:~
**Layout di esportazione** (per principal):```text
compromise-alice/
  summary.md              README.txt           counts.csv
  membership_direct.txt   membership_effective.txt
  adminto_hosts.txt       adminto_hosts.csv    # bulk AdminTo/LocalAdmin host list
  paths_to_high_value.txt paths_to_high_value.csv
  dossier.json
  rights/
    AdminTo.txt  AdminTo.csv  CanRDP.txt  LocalAdmin.txt  GenericAll.txt  ...

Percorsi di attacco & rimedio```bash

bloodbash ./sharpout --shortest-paths bloodbash ./sharpout --shortest-paths --indirect --fast

Prefer multi-hop abuse chains (FCP / AdminTo / session / ACL) over pure MemberOf

bloodbash ./sharpout --shortest-paths --path-mode abuse

Deep discoverability: deeper hops, alternate paths, stepping stones, path-break

bloodbash ./sharpout --deep-paths bloodbash ./sharpout --path-mode deep --path-depth 16 --path-sources 400 --max-paths 20

One path to Domain Admins only (stdout = single plain-text path; exit 1 if none)

bloodbash ./sharpout --golden-path bloodbash ./sharpout --golden-path --from-user alice --domain CORP.LOCAL bloodbash ./sharpout --busiest-paths short --busiest-paths-top 10 bloodbash ./sharpout --busiest-paths all --busiest-paths-top 5 bloodbash ./sharpout --path-break --path-break-top 20 bloodbash ./sharpout --busiest-paths short --path-break --fast
--report-pack ./path-reports --export-zip path-reports.zip bloodbash ./sharpout --path-from helpdesk --path-to 'domain [email protected]' bloodbash ./sharpout --path-from alice,bob --path-to 'domain admins,enterprise admins' bloodbash ./sharpout --deep-analysis bloodbash ./sharpout --inspect 'DOMAIN [email protected]'

root@kitploit:~
### Controlli AD selettivi```bash
# Critical / common engagement set
bloodbash ./sharpout --dcsync --adcs --dangerous-permissions --verbose
bloodbash ./sharpout --dcsync --adcs --dangerous-permissions --all-findings

# Credentials (+ privilege-context tags on roast findings)
bloodbash ./sharpout --kerberoastable --as-rep-roastable --password-descriptions
# High-priority: roastable users nested into DA/EA/...
bloodbash ./sharpout --privileged-roast
bloodbash ./sharpout --password-never-expires --password-not-required --password-age

# Delegation / RBCD (configured + who can configure AllowedToAct) / shadow creds
bloodbash ./sharpout --unconstrained-delegation --constrained-delegation --rbcd
bloodbash ./sharpout --shadow-credentials

# Trusts, sessions, LAPS (coverage + ReadLAPSPassword readers), SID history, GPO
bloodbash ./sharpout --trust --sessions --laps --sid-history
bloodbash ./sharpout --gpo-abuse --gpo-parsing
bloodbash ./sharpout --gpo-abuse --gpo-content-dir ./sysvol-gpo-xml

Inventario, profili e deliverable```bash

List domains / tenants in a collection (then exit)

bloodbash ./sharpout --list-domains

Inventory modules (opt-in; not part of --all). Stats dashboard still prints on --all.

bloodbash ./sharpout --inventory bloodbash ./sharpout --stale-accounts --password-age --privilege-inventory bloodbash ./sharpout --owned alice --owned-inventory

Built-in YAML profiles (see profiles/)

bloodbash ./sharpout --profile quick bloodbash ./sharpout --profile quick-wins # same set as --quick-wins bloodbash ./sharpout --profile adcs-heavy bloodbash ./sharpout --profile hygiene bloodbash ./sharpout --profile ./my-engagement.yaml

Multi-page HTML report pack + zip

bloodbash ./sharpout --inventory --busiest-paths short --path-break
--report-pack ./reports --export-zip bloodbash-reports.zip --log-file ./bloodbash.log

PlumHound-style multi-CSV pack (task CSVs + index.csv; optional zip)

bloodbash ./sharpout --csv-pack ./ph-reports bloodbash ./sharpout --csv-pack ./ph-reports --export-zip ph-reports.zip bloodbash ./sharpout --all --fast --csv-pack ./ph-full --export-zip ph-full.zip

Single-file exports

bloodbash ./sharpout --all --export=md bloodbash ./sharpout --all --export=html bloodbash ./sharpout --all --export=csv bloodbash ./sharpout --all --export=json --export-bh --dot graph.dot bloodbash ./sharpout --all --export=yaml

Graph cache (automatic by default — re-run different checks without re-ingest)

bloodbash ./sharpout --dcsync # builds + caches graph bloodbash ./sharpout --kerberoastable # cache hit; only runs kerberoast check bloodbash ./sharpout --all --rebuild-cache # force re-ingest bloodbash ./sharpout --all --no-cache # disable cache bloodbash ./sharpout --cache-dir /tmp/bb-cache --all

Explicit SQLite path (still fingerprint-validated against sources)

bloodbash ./sharpout --all --db bloodbash.db bloodbash . --db bloodbash.db --from-user alice --from-user-export

root@kitploit:~
### Contenuti del pacchetto CSV in stile PlumHound

`--csv-pack DIR` scrive un CSV per ogni attività di inventario più `index.csv` / `README.txt` (senza Neo4j):

| CSV | Descrizione |
|-----|-------------|
| `domains.csv` | Domini AD nella raccolta |
| `domain_admins.csv` | Principal annidati in gruppi in stile DA/EA |
| `users.csv` / `computers.csv` / `groups.csv` | Inventario degli oggetti principali |
| `kerberoastable.csv` / `asrep_roastable.csv` | Candidati per credential roasting (+ tag) |
| `password_never_expires.csv` | Utenti PNE |
| `laps_not_enabled.csv` | Computer senza LAPS |
| `local_admins_users.csv` | Utente/gruppo → computer AdminTo/LocalAdmin |
| `user_sessions.csv` | HasSession computer ↔ utente |
| `relationships_everyone.csv` (e Auth Users, Domain Users, …) | Relazioni da principal eccessivamente ampi |
| `overprivileged_relationships.csv` | Relazioni combinate di Everyone/Auth/Domain Users/… |
| `computer_adminto_computer.csv` | Macchina → macchina AdminTo |
| `dual_privileged_and_local_admin.csv` | Membri DA/EA che hanno anche AdminTo (tiering) |
| `bulk_adminto_hosts.csv` | Principal classificati in base al numero di host AdminTo |
| `index.csv` | Indice del report (file → conteggio righe) |

### Azure / Entra```bash
bloodbash ./azureout --azure-privileged-roles
bloodbash ./azureout --azure-app-secrets --azure-sp-abuse
bloodbash ./azureout --azure-mfa-bypass --azure-guest-access
bloodbash ./azureout \
  --azure-privileged-roles --azure-app-secrets --azure-mfa-bypass \
  --azure-guest-access --azure-sp-abuse --all-findings --export=html

bloodbash SampleAzurehoundData \
  --azure-privileged-roles --azure-guest-access --all-findings

Ricette di engagement combinate```bash

Nightly full + deliverable

bloodbash ./sharpout --all --fast --all-findings
--report-pack ./nightly --export-zip nightly.zip --log-file nightly.log

Dual collection (low-priv then DA) in one pass

bloodbash ./lowpriv.zip --merge ./da.zip --all --fast --csv-pack ./ph-full

Foothold day-0 then domain hygiene

bloodbash ./sharpout --from-user alice --from-user-export ./dossiers bloodbash ./sharpout --profile hygiene --report-pack ./hygiene --export-zip hygiene.zip

ADCS-focused with path remediation

bloodbash ./sharpout --profile adcs-heavy --path-break --busiest-paths short
--report-pack ./adcs-paths --export-zip adcs-paths.zip

root@kitploit:~
---

## Riferimento flag

### Pacchetti report, profili, dossier, deliverable (v1.4+)

| Flag | Scopo |
|------|---------|
| `--from-user` / `--compromise USER` | **Dossier di compromissione** (in uscita): gruppi annidati, conteggi AdminTo/RDP/ACL, percorsi verso target ad alto valore |
| `--from-user-export [DIR]` | Esporta dossier txt/csv/json + elenchi **adminto_hosts** (predefinito `compromise-<user>/`) |
| `--busiest-paths [short\|all]` | Classifica i principal con il maggior numero di percorsi verso target ad alto valore |
| `--path-break` | Consiglia quali relazioni rimuovere per spezzare il maggior numero di percorsi di attacco |
| `--inventory` | Inventario strutturale + età password + account stagnanti + privilegi |
| `--password-age` / `--stale-accounts` / `--privilege-inventory` | Moduli di inventario individuali |
| `--owned-inventory` | Inventario AdminTo / MemberOf per i principal specificati da `--owned` / `--owned-file` |
| `--owned-file FILE` | Principal posseduti delimitati per riga (si uniscono a `--owned`) |
| `--from-user-file FILE` | Foothold delimitati per riga per i dossier di compromissione (si uniscono a `--from-user`) |
| `--report-pack DIR` | Suite HTML multipagina + `index.html` + CSV per sezione |
| `--csv-pack DIR` | **Pacchetto multi-CSV in stile PlumHound** (inventario + overpriv + report AdminTo + `index.csv`) |
| `--export-zip [FILE]` | Comprime in uno zip una directory `--report-pack` o `--csv-pack` in un unico deliverable |
| `--profile FILE\|name` | Profilo di analisi YAML (`quick`, `quick-wins`, `adcs-heavy`, `hygiene`, o percorso) |
| `--log-file [FILE]` | Log di esecuzione append-friendly (default `bloodbash.log`) |
| `--all-findings` | Al termine dell'esecuzione: stampa una tabella di **ogni** finding (anche se vuota) |

### Altre flag utili

| Flag | Scopo |
|------|---------|
| `--all` | Esegue ogni modulo di analisi (le sezioni AD vuote sono soppresse) |
| `--quick-wins` | **Triage day-0 ad alto segnale** (anche il **default** senza flag di check; implica `--fast`) |
| `--merge PATH…` | Directory o zip SharpHound/AzureHound aggiuntivi da unire in un unico grafo |
| `--trust` | Controlli su trust di dominio / abuso del SID filtering |
| `--wizard` | Selettore interattivo di modalità (quick-wins / full / dossier / profile) |
| `--help-advanced` | Tabelle complete delle flag + tutti gli esempi (il `--help` breve è solo start-here) |
| `--fast` | Limita il pathfinding ai target principali in stile DA/EA (non uno skip completo). Si attiva automaticamente per grafi grandi con `--all` |
| `--domain X` | Filtra su un singolo dominio AD o Azure `tenantId` (senza distinzione tra maiuscole e minuscole) |
| `--list-domains` | Elenca i domini AD / tenant Azure nella raccolta ed esce |
| `--owned a,b` | Percorsi **verso** i principal posseduti (in ingresso) |
| `--owned-file FILE` | Come `--owned`, da un file delimitato per righe (commenti `#` consentiti) |
| `--from-user-file FILE` | Come `--from-user`, da un file delimitato per righe |
| `--path-from` / `--path-to` | Percorsi più brevi arbitrari |
| `--inspect NODE` | Scarica proprietà + archi per un nodo |
| `--indirect` | Includi percorsi/diritti mediati da gruppi |
| `--deep-analysis` | Nesting dei gruppi lento + rilevamento cicli |
| `--privileged-roast` | Utenti Kerberoast/AS-REP annidati in gruppi DA/EA/altri gruppi privilegiati (o AdminCount) |
| `--gpo-content-dir DIR` | Analizza XML GPO (attività, script, cPassword) |
| `--export {md,json,html,csv,yaml}` | Scrivi un report (target ad alto valore + finding prioritizzati) |
| `--export-bh` | JSON del grafo in stile BloodHound |
| `--dot [FILE]` | Esportazione Graphviz DOT |
| `--db FILE` | Percorso SQLite del grafo (default: auto-cache in base all'impronta della raccolta in `~/.cache/bloodbash/`) |
| `--cache-dir DIR` | Sostituisce la directory auto-cache del grafo |
| `--no-cache` | Re-ingesta sempre; non leggere/scrivere la cache del grafo |
| `--rebuild-cache` | Forza la re-ingestione e aggiorna la cache del grafo |
| `--debug` | Log dettagliati di parsing/build |

Anche inclusi sotto `--all` / flag selettive: banner di stato della raccolta; interessante abuso ACL non-HV; tag di contesto privilegi sui finding roast; split DCSync inatteso; DC unconstrained vs non-DC; lettori LAPS; RBCD can-configure; percentuali della dashboard delle statistiche; sezioni vuote soppresse nelle esecuzioni ampie.

Toggle solo Azure: `--azure-privileged-roles`, `--azure-app-secrets`, `--azure-mfa-bypass`, `--azure-guest-access`, `--azure-sp-abuse`.

Esegui `bloodbash --help` per start-here + cheat sheet, oppure `--help-advanced` per le tabelle complete delle flag e gli esempi.

## Note su SharpHound CE

L'ingestione riconosce l'output dei collector moderni: `Members` dei gruppi, `AllowedToAct` (RBCD), Sessions / LocalGroups, `Trusts[]` del dominio, SID history, alias dei nomi delle proprietà CE ed estrazione zip sicura (Zip Slip bloccato). DCSync richiede **GetChanges + GetChangesAll**. Le etichette ADCS seguono SpecterOps ESC1-ESC8 (+ candidati ESC9/ESC13 quando le flag sono presenti). Gli oggetti computer dei domain controller restano target ad alto valore. Le flag `highvalue` delle workstation sui gruppi di amministratori locali non inondano il set HV.

## Modulo Metasploit

È un wrapper per la CLI SquidSec BloodBash (v1.4+) e riporta i finding nel database di Metasploit.
Le opzioni rispecchiano la CLI: controlli AD/Azure, inventario, busiest-paths / path-break,
dossier di compromissione `--from-user`, profili, report pack, esportazioni e cache del grafo (`--db` / auto-cache).```bash
cp modules/auxiliary/analyzer/bloodbash_analyzer.rb \
  /opt/metasploit-framework/modules/auxiliary/analyzer/
# then in msfconsole: reload_all

I didn't receive any content to translate. The input field after "INPUT:" is empty. Please provide the chunk text you'd like translated.```text use auxiliary/analyzer/bloodbash_analyzer set BLOODBASH_PATH /path/to/BloodBash/BloodBash.py set JSON_DIR /path/to/collector_json_or.zip set ALL_CHECKS true run

root@kitploit:~
I don't see any content after the "INPUT:" marker. The chunk appears to be empty, so there's nothing to translate.```text
# Foothold dossier + hygiene (parity with CLI examples)
set FROM_USER alice
set FROM_USER_EXPORT
set PASSWORD_NEVER_EXPIRES true
set KERBEROASTABLE true
set ALL_FINDINGS true
run

Imposta PYTHON se python3 non è nel PATH. Indirizza BLOODBASH_PATH verso un binario autonomo (non-.py) per bypassare l'interprete Python. Il filtraggio dei domini non fa distinzione tra maiuscole e minuscole (corrisponde alla CLI).

Sviluppo```bash

pip install -r requirements-dev.txt python3 -m pytest test_bloodbash.py test_members_ingest.py
test_detection_variations.py test_compromise_dossier.py
test_synthetic_corpus.py test_ludus_collections.py
test_real_data_reliability.py test_graph_cache.py
test_owned_file.py test_golden_path.py test_deep_paths.py
test_ci_pytest_suite.py -q

root@kitploit:~
### Corpus sintetico SharpHound (regressione ad alta entropia)

I dump di esempio pubblici sono piccoli e a bassa entropia. Per la regressione dei rilevatori forniamo un **lab sintetico SharpHound CE** (`testData/synthetic-corp-lab/`) con ground truth noto (DCSync inatteso, scrittura GPO per Auth Users, bulk can-configure RBCD, ESC1, roast, miscela LAPS, ecc.). Nessun dato reale di engagement.```bash
# Regenerate corpus + ground_truth.json
python3 tools/generate_synthetic_sharphound.py --out testData/synthetic-corp-lab

# Smoke BloodBash against it
python3 BloodBash.py testData/synthetic-corp-lab --all --fast --all-findings
python3 BloodBash.py testData/synthetic-corp-lab --from-user alice.low --fast

# 20 multi-hop engagement scenarios (classic + common debt paths)
python3 tools/run_scenario_battery.py
python3 tools/run_scenario_battery.py --count 20 --seed 42 -v
python3 tools/run_scenario_battery.py --list-profiles
python3 tools/run_scenario_battery.py --keep --work-dir /tmp/bb-engagements

CI (PR + main) esegue i test unitari/di integrazione e run_scenario_battery.py --count 20 --seed 42 (20 catene di engagement). La protezione del branch richiede lo status check test.

Helper di accuratezza (nessun dato cliente):```bash

Mutate synthetic corpus (dup ACEs, orphan SIDs, null ACEs, partial drops)

python3 tools/mutate_corpus.py --in testData/synthetic-corp-lab --out /tmp/mut --seed 1 python3 BloodBash.py /tmp/mut --all --fast

GPP / cPassword XML fixtures

python3 BloodBash.py testData/synthetic-corp-lab
--gpo-content-dir testData/gpo-xml-fixtures --gpo-parsing

root@kitploit:~
### Build locale del binario```bash
python3 -m venv .venv-build && source .venv-build/bin/activate
pip install -r requirements.txt -r requirements-build.txt
pyinstaller --onefile --console --name bloodbash-linux-x64 BloodBash.py
# -> dist/bloodbash-linux-x64

CI (a ogni push su main) esegue i test, compila binari single-file per Linux + Windows con PyInstaller e pubblica una Release con nomi di asset stabili per i link /releases/latest/download/... sopra. I tag hanno la forma v1.4.1-build.N.

Licenza e attribuzione

MIT - solo per test di sicurezza autorizzati e red teaming.

BloodBash è un progetto open source creato e gestito da SquidSec.

Scarica lo strumento
OrganizzazioneSquidSec
Sito webhttps://squidoffense.com/
Versione appv1.4.2
Ultimo binarioGitHub release
LicenzaMIT
Runtime (sorgente)Python 3.9+
CredenzialiKerberoast, AS-REP, privileged roast, password-in-description, PasswordNotRequired
OperazioniSessioni / riepilogo amministratori locali, stato della raccolta
PercorsiPercorsi più brevi per HV, percorsi brevi più trafficati, path-break
FlagSignificato
--from-user / --compromiseCrea dossier (gruppi annidati, diritti, percorsi HV)
--from-user-export [DIR]Scrive elenchi txt/csv/json (predefinito compromise-<user>/)
--owned / --owned-fileDiverso: percorsi verso quel principal (in entrata); il file è delimitato da linee