Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
BloodBash — Offline-AD/Entra-Angriffspfad-Analysator für SharpHound/AzureHound-JSON. Deckt priorisierte Privilegieneskalations-, Credential- und Fehlkonfigurations-Findings auf, ohne BloodHound oder Neo4j. | Kitploit
Tools/GitHubGitHub/squidsec/bloodbash
Privilege EscalationSchwachstellenanalyseLaterale BewegungKonfigurationsprüfungInformationsbeschaffungPenetrationstestsCloud-SicherheitIdentitäts- & Zugriffsmanagement (IAM)Red Teaming
GitHubsquidsec/bloodbash

BloodBash

Offline-AD/Entra-Angriffspfad-Analysator für SharpHound/AzureHound-JSON. Deckt priorisierte Privilegieneskalations-, Credential- und Fehlkonfigurations-Findings auf, ohne BloodHound oder Neo4j.

4064927vor 2 TagenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
Repository anzeigen

BloodBash

SquidSec logo

Ein SquidSec-Open-Source-Projekt
SquidOffense.com · GitHub

Run Unit Tests Build and Release Binaries Latest release License: MIT

BloodBash ist ein quelloffener Offline-Analysator für SharpHound und AzureHound-JSON, erstellt und verwaltet von SquidSec. Er erstellt einen Graphen, deckt AD/Entra-Angriffspfade und Fehlkonfigurationen auf und gibt priorisierte Ergebnisse aus. Keine Neo4j- oder BloodHound-UI erforderlich.

Bei Merges in main werden automatisch Linux- und Windows-Binaries erstellt und eine GitHub-Release veröffentlicht (Tag v1.4.2-build.N).


Über SquidSec

BloodBash wird von SquidSec für die Sicherheits-Community entwickelt und gepflegt - für Red-Teamer, Pentester und Verteidiger, die eine schnelle Offline-AD/Entra-Analyse benötigen, ohne eine BloodHound-Infrastruktur aufsetzen zu müssen.

  • Website: https://squidoffense.com/
  • Projekt: https://github.com/DotNetRussell/BloodBash

Download (kein Python erforderlich)

Eigenständige SquidSec-BloodBash-Executables - kein Python, pip oder venv erforderlich:

PlattformNeuester Download
Linux x64bloodbash-linux-x64
Windows x64bloodbash-windows-x64.exe
  • Alle Releases & Versions-Tags: https://github.com/DotNetRussell/BloodBash/releases
  • Neueste Release-Seite: 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:~
[Kein Markdown-Inhalt zum Übersetzen bereitgestellt. Bitte fügen Sie den zu übersetzenden Text nach „INPUT:" ein.]```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

Installation (Python / Quellcode)```bash

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

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

Abhängigkeiten: networkx, rich, tqdm, pyyaml.

Schnellstart

Starten Sie mit diesen 3 (zeigen Sie auf ein SharpHound/AzureHound-Verzeichnis oder eine .zip-Datei):```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:~
Bei einem Quellcode-Checkout entspricht `python3 BloodBash.py` dem Befehl `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

Mit nur einem Verzeichnis (ohne Prüf-Flags) wird die quick-wins-Triage ausgeführt. Verwende --all für eine vollständige Angriffspfad-Analyse (keine Inventarisierung) oder --wizard für eine interaktive Auswahl.

Bei --all und --quick-wins werden leere Detektor-Abschnitte ausgeblendet, damit die Konsole lesbar bleibt. Selektive Flags geben für die von dir angefragten Prüfungen weiterhin grüne "none found"-Zeilen aus.

Beispieldaten: SampleSharphoundADData/ und SampleAzurehoundData/.```bash bloodbash --help # start-here + cheat sheet bloodbash --help-advanced # full flag tables + all examples

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

## Was es findet

| Bereich | Prüfungen |
|------|--------|
| **AD-Privilegien** | DCSync (GetChanges+GetChangesAll; verschachtelte DA/EA wie erwartet behandelt), gefährliche ACLs auf High-Value-Objekten, **interessanter Non-HV-ACL-Missbrauch** (ForceChangePassword / GenericAll / GenericWrite auf Benutzern/Computern/Gruppen; Bulk-Computer-GenericWrite-Rauschen unterdrückt), GPO-Missbrauch, RBCD (konfiguriert + *kann konfigurieren*), eingeschränkte/unbeschränkte Delegierung (**DC vs. Nicht-DC**-Abschnitte), SID-Verlauf, **Domänenvertrauensstellungen** (`--trust`) |
| **AD-Anmeldedaten** | Kerberoastable, AS-REP-roastable (mit **AdminCount / OWNED / LASTLOG**-Tags), **privileged roast** (`--privileged-roast`: roastable + verschachtelte DA/EA / AdminCount), Schatten-Anmeldedaten, Passwort in Beschreibung, PasswordNeverExpires / PasswordNotRequired. SharpHound `sensitive` (NOT_DELEGATED) schließt Roast-Kandidaten **nicht** aus |
| **ADCS** | ESC1-ESC7 (+ ESC8/ESC9/ESC13, wenn Collector-Eigenschaften vorhanden sind). ESC10-12 benötigen Registrierungs-/HTTP-Rollendaten, die in SharpHound oft fehlen. Sanfte Meldung, wenn das Zip keine Zertifikatobjekte enthält. |
| **Azure / Entra** | Privilegierte Rollen, *Kontroll*pfade für App-/SP-Anmeldedaten, explizite MFA-Deaktivierung, Gastbenutzer, SP-Missbrauchsrechte |
| **Pfade** | Kürzeste Pfade zu High-Value-Zielen (eingeschränkte Menge in `--fast`; HV umfasst Builtin-Administratoren und **Domänencontroller-Computer**), Owned-Prinzipale (`--owned` = eingehend), benutzerdefinierte `--path-from` / `--path-to` |
| **Kompromittierungs-Dossier** | `--from-user` / `--compromise`: ausgehende Mitgliedschaft, AdminTo/RDP/ACL-Zählungen, verschachtelte Gruppen, automatische Pfade zu HV, txt/csv-Export einschließlich **Bulk-AdminTo-Hostlisten** |
| **Pfad-Behebung** | Ranking der am stärksten genutzten Pfade (`--busiest-paths`), Empfehlungen zum Entfernen von Kanten (`--path-break`) |
| **Inventar** | Passwortalters-Leitern, veraltete/inaktive Konten, Berechtigungsgruppen, strukturell (Domänen/DCs/Vertrauensstellungen), Owned-Objekt-Inventar, **Statistik-Dashboard mit %** |
| **PlumHound-artiges CSV-Paket** | `--csv-pack DIR`: Multi-CSV-Inventar (Domänen, DA, Roastables, LAPS, Everyone/überprivilegierte Kanten, Computer-AdminTo-Computer, doppelte Privilegien + lokaler Admin, Bulk-AdminTo-Hosts) + `index.csv` |
| **Multi-Input** | `--merge PATH…` vereinigt zusätzliche Verzeichnisse/Zips zu einem Graphen (Multi-Domänen / duale Low-Priv+DA-Sammlungen) |
| **Sonstiges** | **Erfassungsstatus**-Banner (Objektzahlen, Session-/AdminTo-/RDP-Abdeckung, ADCS-Vorhandensein), LAPS-Abdeckung (`haslaps`) + **LAPS-Passwortleser** (`ReadLAPSPassword`), GPO-XML (`--gpo-content-dir`), Domänen-`Trusts[]`-Kanten, Gruppenverschachtelung, `--list-domains` |

Ergebnisse werden bewertet und in einer **Prioritized Findings**-Tabelle zusammengefasst (Hygiene-Kategorien mit hohem Volumen werden eingeklappt; verwenden Sie `--all-findings` für die vollständige eingeklappte Liste). Missbrauchs-Panels schlagen Tools/Befehle pro Kategorie vor.

Dies ist ein **Offline-Heuristik-Analysator** von SquidSec und kein vollständiger Ersatz für BloodHound CE. Für die Pfad-Parität sollte die Validierung gegen BloodHound CE mit demselben Zip bevorzugt werden.

---

## Beispielbefehle

Ersetzen Sie `./sharpout` durch Ihr SharpHound/AzureHound-Verzeichnis oder Zip. Source-Checkout: verwenden Sie `python3 BloodBash.py` anstelle von `bloodbash`.

### Grundlagen```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

Was --quick-wins ausführt

Kuratierte Auswahl mit hoher Signalqualität (impliziert --fast, ausführliche Zusammenfassung, vollständige Ergebnistabelle). Kein vollständiger Inventar-/Azure-Dump. Leere Abschnitte bleiben unerwähnt.

BereichModule
PrivilegienDCSync (unerwartet), ADCS, dangerous ACLs + interesting non-HV ACLs, RBCD + can-configure, unconstrained (DC vs non-DC), constrained, shadow creds, LAPS (+ readers), trusts

Entsprechendes Profil: --profile quick-wins (siehe profiles/quick-wins.yaml).

Kompromittierungsdossier (neu kompromittierter / Foothold-Benutzer)

Outbound-Ansicht: „Ich habe gerade diesen Principal kompromittiert – was kann er tun?“

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:~
**Export-Layout** (pro 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  ...

Angriffspfade & Behebung```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:~
### Selektive AD-Checks```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

Inventar, Profile und Liefergegenstände```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:~
### PlumHound-Stil CSV-Pack-Inhalte

`--csv-pack DIR` schreibt für jede Inventaraufgabe eine CSV-Datei sowie `index.csv` / `README.txt` (ohne Neo4j):

| CSV | Beschreibung |
|-----|-------------|
| `domains.csv` | AD-Domänen in der Sammlung |
| `domain_admins.csv` | Prinzipale, die in DA/EA-artige Gruppen verschachtelt sind |
| `users.csv` / `computers.csv` / `groups.csv` | Kernobjekt-Inventar |
| `kerberoastable.csv` / `asrep_roastable.csv` | Kandidaten für Credential Roasting (+ Tags) |
| `password_never_expires.csv` | PNE-Benutzer |
| `laps_not_enabled.csv` | Computer ohne LAPS |
| `local_admins_users.csv` | Benutzer/Gruppe → Computer AdminTo/LocalAdmin |
| `user_sessions.csv` | HasSession-Computer ↔ Benutzer |
| `relationships_everyone.csv` (und Auth Users, Domain Users, …) | Kanten von übermäßig weit gefassten Prinzipalen |
| `overprivileged_relationships.csv` | Kombinierte Everyone/Auth/Domain-Users/…-Kanten |
| `computer_adminto_computer.csv` | Maschine → Maschine AdminTo |
| `dual_privileged_and_local_admin.csv` | DA/EA-Mitglieder, die ebenfalls AdminTo besitzen (Tiering) |
| `bulk_adminto_hosts.csv` | Prinzipale, sortiert nach Anzahl der AdminTo-Hosts |
| `index.csv` | Berichtsindex (Datei → Zeilenanzahl) |

### 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

Kombinierte Engagement-Rezepte```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:~
---

## Flag-Referenz

### Report-Pakete, Profile, Dossiers, Deliverables (v1.4+)

| Flag | Zweck |
|------|---------|
| `--from-user` / `--compromise USER` | **Kompromittierungs-Dossier** (ausgehend): verschachtelte Gruppen, AdminTo-/RDP-/ACL-Zählungen, Pfade zu High-Value-Zielen |
| `--from-user-export [DIR]` | Export des Dossiers als txt/csv/json + **adminto_hosts**-Listen (Standard: `compromise-<user>/`) |
| `--busiest-paths [short\|all]` | Rangfolge der Principals mit den meisten Pfaden zu High-Value-Zielen |
| `--path-break` | Empfehlen, welche Beziehungen entfernt werden sollten, um die meisten Angriffspfade zu unterbrechen |
| `--inventory` | Strukturelle + Kennwortalter- + veraltete + Berechtigungsinventare |
| `--password-age` / `--stale-accounts` / `--privilege-inventory` | Einzelne Inventarmodule |
| `--owned-inventory` | AdminTo-/MemberOf-Inventar für `--owned`-/`--owned-file`-Principals |
| `--owned-file FILE` | Zeilenweise getrennte Owned-Principals (wird mit `--owned` zusammengeführt) |
| `--from-user-file FILE` | Zeilenweise getrennte Ausgangspunkte für Kompromittierungs-Dossiers (wird mit `--from-user` zusammengeführt) |
| `--report-pack DIR` | Mehrseitige HTML-Suite + `index.html` + CSVs pro Abschnitt |
| `--csv-pack DIR` | **Multi-CSV-Paket im PlumHound-Stil** (Inventar + Overpriv- + AdminTo-Berichte + `index.csv`) |
| `--export-zip [FILE]` | Packt ein `--report-pack`- oder `--csv-pack`-Verzeichnis in ein einziges Deliverable |
| `--profile FILE\|name` | YAML-Analyseprofil (`quick`, `quick-wins`, `adcs-heavy`, `hygiene` oder Pfad) |
| `--log-file [FILE]` | Fortschreibbares Laufprotokoll (Standard: `bloodbash.log`) |
| `--all-findings` | Am Ende des Laufs: Tabelle mit **allen** Befunden ausgeben (auch wenn leer) |

### Weitere nützliche Flags

| Flag | Zweck |
|------|---------|
| `--all` | Führt jedes Analysemodul aus (leere AD-Abschnitte werden unterdrückt) |
| `--quick-wins` | **Hochsignifikante Day-0-Triage** (außerdem die **Standardoption**, wenn keine Check-Flags gesetzt sind; impliziert `--fast`) |
| `--merge PATH…` | Zusätzliche SharpHound-/AzureHound-Verzeichnisse oder ZIP-Dateien, die zu einem einzigen Graphen vereinigt werden |
| `--trust` | Prüfungen auf Domain-Trust-/SID-Filtering-Missbrauch |
| `--wizard` | Interaktiver Modus-Auswähler (quick-wins / full / dossier / profile) |
| `--help-advanced` | Vollständige Flag-Tabellen + alle Beispiele (das kurze `--help` ist nur der Einstieg) |
| `--fast` | Begrenzt die Pfadsuche auf Top-Ziele im DA/EA-Stil (kein vollständiges Überspringen). Automatisch aktiv für große Graphen mit `--all` |
| `--domain X` | Auf eine AD-Domäne oder Azure-`tenantId` filtern (Groß-/Kleinschreibung wird ignoriert) |
| `--list-domains` | AD-Domänen / Azure-Tenants in der Sammlung auflisten und beenden |
| `--owned a,b` | Pfade **zu** Owned-Principals (eingehend) |
| `--owned-file FILE` | Wie `--owned`, aus einer zeilenweise getrennten Datei (`#`-Kommentare ok) |
| `--from-user-file FILE` | Wie `--from-user`, aus einer zeilenweise getrennten Datei |
| `--path-from` / `--path-to` | Beliebige kürzeste Pfade |
| `--inspect NODE` | Eigenschaften + Kanten eines Knotens ausgeben |
| `--indirect` | Gruppenvermittelte Pfade/Rechte einbeziehen |
| `--deep-analysis` | Langsame Gruppenverschachtelung + Zykluserkennung |
| `--privileged-roast` | Kerberoast-/AS-REP-Benutzer, die in DA/EA/anderen privilegierten Gruppen verschachtelt sind (oder AdminCount) |
| `--gpo-content-dir DIR` | GPO-XMLs parsen (Aufgaben, Skripte, cPassword) |
| `--export {md,json,html,csv,yaml}` | Einen Bericht schreiben (High-Value-Ziele + priorisierte Befunde) |
| `--export-bh` | Graph-JSON im BloodHound-Stil |
| `--dot [FILE]` | Graphviz-DOT-Export |
| `--db FILE` | SQLite-Pfad des Graphen (Standard: Auto-Cache anhand des Fingerabdrucks der Sammlung unter `~/.cache/bloodbash/`) |
| `--cache-dir DIR` | Automatisches Graph-Cache-Verzeichnis überschreiben |
| `--no-cache` | Immer neu einlesen; Graph-Cache weder lesen noch schreiben |
| `--rebuild-cache` | Neueinlesen erzwingen und Graph-Cache aktualisieren |
| `--debug` | Ausführliches Logging beim Parsen/Aufbauen |

Ebenfalls unter `--all` / selektiven Flags enthalten: Banner zur Integrität der Sammlung; interessante Nicht-HV-ACL-Missbrauchsfälle; Privilegien-Kontext-Tags bei Roast-Befunden; unerwarteter DCSync-Split; uneingeschränkter DC vs. Nicht-DC; LAPS-Leser; RBCD konfigurierbar; Prozentangaben im Statistik-Dashboard; stille, leere Abschnitte bei breiten Läufen.

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

Führen Sie `bloodbash --help` für den Einstieg + Spickzettel aus, oder `--help-advanced` für vollständige Flag-Tabellen und Beispiele.

## Hinweise zu SharpHound CE

Der Ingest versteht moderne Collector-Ausgaben: Gruppen-`Members`, `AllowedToAct` (RBCD), Sessions / LocalGroups, Domain-`Trusts[]`, SID-Historie, CE-Eigenschaftsnamen-Aliasse und sichere ZIP-Extraktion (Zip Slip blockiert). DCSync erfordert **GetChanges + GetChangesAll**. ADCS-Beschriftungen folgen SpecterOps ESC1-ESC8 (+ ESC9/ESC13-Kandidaten, wenn Flags vorhanden sind). Computerobjekte von Domänencontrollern bleiben High-Value-Ziele. `highvalue`-Flags von Workstations auf lokalen Admin-Gruppen überfluten die HV-Menge nicht.

## Metasploit-Modul

Kapselt die SquidSec BloodBash-CLI (v1.4+) und schreibt Befunde in die Metasploit-DB.
Die Optionen entsprechen denen der CLI: AD/Azure-Checks, Inventar, busiest-paths / path-break,
`--from-user`-Kompromittierungs-Dossiers, Profile, Report-Pakete, Exporte und Graph-Cache (`--db` / Auto-Cache).```bash
cp modules/auxiliary/analyzer/bloodbash_analyzer.rb \
  /opt/metasploit-framework/modules/auxiliary/analyzer/
# then in msfconsole: reload_all

Please provide the Markdown content to translate.```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'm ready to translate the content, but the chunk text appears to be missing from your message. Please provide the actual Markdown content for chunk 35, and I'll translate it from English to German following all the specified rules.```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

Setze PYTHON, wenn python3 nicht im PATH ist. Setze BLOODBASH_PATH auf eine eigenständige Binärdatei (nicht-.py), um den Python-Interpreter zu überspringen. Die Domänenfilterung ist case-insensitiv (entspricht der CLI).

Entwicklung```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:~
### Synthetisches SharpHound-Korpus (Hochenropie-Regression)

Öffentliche Beispieldumps sind klein und haben eine geringe Entropie. Für die Detektor-Regression liefern wir ein
**synthetisches SharpHound-CE-Labor** (`testData/synthetic-corp-lab/`) mit bekannter
Ground Truth (unerwartetes DCSync, Auth Users GPO write, bulk can-configure RBCD,
ESC1, roast, LAPS mix usw.). Keine echten Engagement-Daten.```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) führt Unit-/Integrationstests und run_scenario_battery.py --count 20 --seed 42 aus (20 Engagement-Ketten). Branch Protection erfordert den Statuscheck test.

Genauigkeits-Helfer (keine Kundendaten):```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:~
### Lokaler Binär-Build```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 (bei jedem Push auf main) führt Tests aus, erstellt Linux- und Windows-Ein-Datei-Binaries mit PyInstaller und veröffentlicht ein Release mit stabilen Asset-Namen für die /releases/latest/download/... Links oben. Tags sehen aus wie v1.4.1-build.N.

Lizenz & Namensnennung

MIT - nur für autorisierte Sicherheitstests und Red Teaming.

BloodBash ist ein Open-Source-Projekt, das von SquidSec erstellt und verwaltet wird.

Tool herunterladen
OrganisationSquidSec
Websitehttps://squidoffense.com/
App-Versionv1.4.2
Neuestes BinaryGitHub release
LizenzMIT
Laufzeit (Quellcode)Python 3.9+
AnmeldedatenKerberoast, AS-REP, privileged roast, password-in-description, PasswordNotRequired
BetriebSessions / local admin summary, collection health
PfadeShortest paths to HV, busiest short paths, path-break
FlagBedeutung
--from-user / --compromiseDossier erstellen (verschachtelte Gruppen, Rechte, HV-Pfade)
--from-user-export [DIR]Schreibt txt/csv/json-Listen (Standard: compromise-<user>/)
--owned / --owned-fileAnders: Pfade zu diesem Principal (eingehend); Datei ist zeilengetrennt