SquidSec 开源项目
SquidOffense.com ·
GitHub
BloodBash 是一个开源的离线 SharpHound 和 AzureHound JSON 分析器,由 SquidSec 创建和维护。它会构建图、揭示 AD/Entra 攻击路径和配置错误,并输出按优先级排序的发现结果。无需 Neo4j 或 BloodHound UI。
| 组织 | SquidSec |
| 网站 | https://squidoffense.com/ |
| 应用版本 | v1.4.2 |
| 最新二进制文件 | |
| 许可证 | MIT |
| 运行时(源代码) | Python 3.9+ |
合并到 main 的更改会自动构建 Linux 和 Windows 二进制文件,并发布 GitHub Release(标签为 v1.4.2-build.N)。
BloodBash 由 SquidSec 为安全社区构建和维护——红队成员、渗透测试人员以及防御者,他们需要快速进行离线 AD/Entra 分析,而无需搭建 BloodHound 基础设施。
独立的 SquidSec BloodBash 可执行文件——无需 Python、pip 或 venv:
| 平台 | 最新下载 |
|---|---|
| Linux x64 | bloodbash-linux-x64 |
| Windows x64 | bloodbash-windows-x64.exe |
curl -sL -o bloodbash
https://github.com/DotNetRussell/BloodBash/releases/latest/download/bloodbash-linux-x64
chmod +x bloodbash
./bloodbash /path/to/json --all
未提供需要翻译的内容。请提供 chunk 3 的原文。```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
pipx install git+https://github.com/DotNetRussell/BloodBash
或者从克隆仓库:```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.
从这 3 个开始(指向 SharpHound/AzureHound 目录或 .zip):```bash
bloodbash /path/to/json
bloodbash /path/to/json --quick-wins
bloodbash ./sharpout --from-user alice --from-user-export
bloodbash /path/to/json --all --fast
bloodbash /path/to/json --all --inventory
从源码检出中,`python3 BloodBash.py` 等同于 `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
裸目录(无检查标志)运行 quick-wins 分流。使用 --all 进行完整的攻击路径分析(而非清单),或使用 --wizard 进行交互式选择。
在 --all 和 --quick-wins 模式下,空的检测器部分会被隐藏,以保持控制台输出可读。选择性标志仍会为所请求的检查打印绿色的“none found”行。
示例数据:SampleSharphoundADData/ 和 SampleAzurehoundData/。```bash
bloodbash --help # start-here + cheat sheet
bloodbash --help-advanced # full flag tables + all examples
更多示例:[docs/cookbook.md](https://github.com/squidsec/bloodbash/blob/HEAD/docs/cookbook.md)。
## 它能发现什么
| 区域 | 检查项 |
|------|--------|
| **AD 权限** | DCSync(GetChanges+GetChangesAll;嵌套 DA/EA 按预期处理),高价值对象上的危险 ACL,**值得关注的非 HV ACL 滥用**(对用户/计算机/组的 ForceChangePassword / GenericAll / GenericWrite;大量计算机 GenericWrite 噪音已抑制),GPO 滥用,RBCD(已配置 + *可以配置*),受约束/不受约束的委派(**DC 与非 DC** 部分),SID 历史记录,**域信任**(`--trust`) |
| **AD 凭据** | 可 Kerberoast、可 AS-REP roast(带 **AdminCount / OWNED / LASTLOG** 标签),**特权 roast**(`--privileged-roast`:可 roast + 嵌套 DA/EA / AdminCount),影子凭据,描述中的密码,PasswordNeverExpires / PasswordNotRequired。SharpHound `sensitive`(NOT_DELEGATED)**不会**排除 roast 候选对象 |
| **ADCS** | ESC1-ESC7(当收集器属性存在时还包括 ESC8/ESC9/ESC13)。ESC10-12 需要注册表/HTTP 角色数据,而 SharpHound 通常缺少这些数据。当 zip 中没有证书对象时给出温和提示 |
| **Azure / Entra** | 特权角色,应用/服务主体凭据 *控制* 路径,显式禁用 MFA,来宾用户,SP 滥用权限 |
| **路径** | 到高价值目标的最短路径(`--fast` 中为受限集合;HV 包括内置管理员和**域控制器计算机**),已拥有主体(`--owned` = 入站),自定义 `--path-from` / `--path-to` |
| **失陷档案** | `--from-user` / `--compromise`:出站成员资格,AdminTo/RDP/ACL 计数,嵌套组,到 HV 的自动路径,txt/csv 导出,包括**批量 AdminTo 主机列表** |
| **路径修复** | 最繁忙路径排名(`--busiest-paths`),边移除建议(`--path-break`) |
| **资产清单** | 密码年限阶梯,陈旧/非活动账户,特权组,结构(域/DC/信任),已拥有对象清单,**带 % 的统计仪表盘** |
| **PlumHound 风格 CSV 包** | `--csv-pack DIR`:多 CSV 清单(域、DA、可 roast 对象、LAPS、Everyone/过度特权边、计算机 AdminTo 计算机、双重特权+本地管理员、批量 AdminTo 主机)+ `index.csv` |
| **多输入** | `--merge PATH…` 将额外的目录/zip 合并到一个图中(多域 / 双重低权限+DA 收集) |
| **其他** | **收集健康状态**横幅(对象计数、会话/AdminTo/RDP 覆盖率、ADCS 存在情况),LAPS 覆盖率(`haslaps`)+ **LAPS 密码读取者**(`ReadLAPSPassword`),GPO XML(`--gpo-content-dir`),域 `Trusts[]` 边,组嵌套,`--list-domains` |
发现的结果会经过评分并汇总到**优先级发现**表中(高容量卫生类目会折叠;使用 `--all-findings` 查看完整的折叠列表)。滥用面板会按类别建议工具/命令。
这是来自 SquidSec 的**离线启发式分析器**,并非完整的 BloodHound CE 替代品。建议在同一 zip 上对照 BloodHound CE 进行验证,以确保路径一致性。
---
## 示例命令
将 `./sharpout` 替换为你的 SharpHound/AzureHound 目录或 zip。源码检出:使用 `python3 BloodBash.py` 而不是 `bloodbash`。
### 基本用法```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
--quick-wins 运行什么精选的高信号集(隐含 --fast、详细摘要、完整结果表)。并非完整的清单/Azure 转储。空的部分保持静默。
| 区域 | 模块 |
|---|---|
| 权限 | DCSync(意外), ADCS, 危险 ACL + 值得关注的非 HV ACL, RBCD + can-configure, unconstrained(DC 与非 DC), constrained, 影子凭据, LAPS(+ 读取者), 信任关系 |
| 凭据 | Kerberoast, AS-REP, 特权 roast, password-in-description, PasswordNotRequired |
等效配置文件:--profile quick-wins(参见 profiles/quick-wins.yaml)。
出站视图:“我刚攻陷了这个主体——它能做什么?”
bloodbash ./sharpout --from-user alice bloodbash ./sharpout --compromise [email protected]
bloodbash ./sharpout --from-user alice --from-user-export bloodbash ./sharpout --from-user alice --from-user-export ./alice-dossier
bloodbash ./sharpout --from-user alice,bob,svc_backup --from-user-export ./footholds
bloodbash ./sharpout --from-user alice --domain CORP.LOCAL --from-user-export --all-findings
bloodbash SampleSharphoundADData --from-user SCOTT --from-user-export ./scott-out --fast
bloodbash ./sharpout --from-user alice --inspect alice bloodbash ./sharpout --path-from alice --path-to 'domain [email protected]'
bloodbash ./sharpout --owned alice --owned-inventory --shortest-paths bloodbash ./sharpout --owned-file ./owned.txt --owned-inventory
bloodbash ./sharpout --from-user-file ./footholds.txt --from-user-export ./out
**导出布局**(每个主体):```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 ...
bloodbash ./sharpout --shortest-paths bloodbash ./sharpout --shortest-paths --indirect --fast
bloodbash ./sharpout --shortest-paths --path-mode abuse
bloodbash ./sharpout --deep-paths bloodbash ./sharpout --path-mode deep --path-depth 16 --path-sources 400 --max-paths 20
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]'
### 选择性 AD 检查```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
bloodbash ./sharpout --list-domains
bloodbash ./sharpout --inventory bloodbash ./sharpout --stale-accounts --password-age --privilege-inventory bloodbash ./sharpout --owned alice --owned-inventory
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
bloodbash ./sharpout --inventory --busiest-paths short --path-break
--report-pack ./reports --export-zip bloodbash-reports.zip --log-file ./bloodbash.log
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
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
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
bloodbash ./sharpout --all --db bloodbash.db bloodbash . --db bloodbash.db --from-user alice --from-user-export
### PlumHound 风格的 CSV 包内容
`--csv-pack DIR` 为每个清单任务写入一个 CSV,外加 `index.csv` / `README.txt`(不使用 Neo4j):
| CSV | 描述 |
|-----|-------------|
| `domains.csv` | 集合中的 AD 域 |
| `domain_admins.csv` | 嵌套到 DA/EA 样式组中的主体 |
| `users.csv` / `computers.csv` / `groups.csv` | 核心对象清单 |
| `kerberoastable.csv` / `asrep_roastable.csv` | 可 Roast 的凭据候选(+ 标签) |
| `password_never_expires.csv` | PNE 用户 |
| `laps_not_enabled.csv` | 未启用 LAPS 的计算机 |
| `local_admins_users.csv` | 用户/组 → 计算机 AdminTo/LocalAdmin |
| `user_sessions.csv` | HasSession 计算机 ↔ 用户 |
| `relationships_everyone.csv` (以及 Auth Users、Domain Users …) | 来自过宽主体的边 |
| `overprivileged_relationships.csv` | Everyone/Auth/Domain Users/… 的组合边 |
| `computer_adminto_computer.csv` | 计算机 → 计算机 AdminTo |
| `dual_privileged_and_local_admin.csv` | 同时具有 AdminTo 的 DA/EA 成员(分层) |
| `bulk_adminto_hosts.csv` | 按 AdminTo 主机数排名的主体 |
| `index.csv` | 报告索引(文件 → 行数) |
### 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
bloodbash ./sharpout --all --fast --all-findings
--report-pack ./nightly --export-zip nightly.zip --log-file nightly.log
bloodbash ./lowpriv.zip --merge ./da.zip --all --fast --csv-pack ./ph-full
bloodbash ./sharpout --from-user alice --from-user-export ./dossiers bloodbash ./sharpout --profile hygiene --report-pack ./hygiene --export-zip hygiene.zip
bloodbash ./sharpout --profile adcs-heavy --path-break --busiest-paths short
--report-pack ./adcs-paths --export-zip adcs-paths.zip
---
## 标志参考
### 报告包、配置文件、档案、交付物(v1.4+)
| 标志 | 用途 |
|------|---------|
| `--from-user` / `--compromise USER` | **失陷档案**(出站):嵌套组、AdminTo/RDP/ACL 计数、通向高价值目标的路径 |
| `--from-user-export [DIR]` | 导出档案 txt/csv/json 及 **adminto_hosts** 列表(默认 `compromise-<user>/`) |
| `--busiest-paths [short\|all]` | 按通向高价值目标的最多路径对主体进行排名 |
| `--path-break` | 建议移除哪些关系以切断最多的攻击路径 |
| `--inventory` | 结构 + 密码年龄 + 陈旧账户 + 权限清单 |
| `--password-age` / `--stale-accounts` / `--privilege-inventory` | 单独的清单模块 |
| `--owned-inventory` | 针对 `--owned` / `--owned-file` 主体的 AdminTo / MemberOf 清单 |
| `--owned-file FILE` | 行分隔的已拥有主体(与 `--owned` 合并) |
| `--from-user-file FILE` | 行分隔的失陷档案立足点(与 `--from-user` 合并) |
| `--report-pack DIR` | 多页 HTML 套件 + `index.html` + 分节 CSV |
| `--csv-pack DIR` | **PlumHound 风格多 CSV 包**(清单 + 过度授权 + AdminTo 报告 + `index.csv`) |
| `--export-zip [FILE]` | 将 `--report-pack` 或 `--csv-pack` 目录打包为一个可交付的 Zip 文件 |
| `--profile FILE\|name` | YAML 分析配置文件(`quick`、`quick-wins`、`adcs-heavy`、`hygiene` 或路径) |
| `--log-file [FILE]` | 可追加的运行日志(默认 `bloodbash.log`) |
| `--all-findings` | 运行结束:打印**所有**发现结果的表格(即使为空) |
### 其他有用标志
| 标志 | 用途 |
|------|---------|
| `--all` | 运行所有分析模块(抑制空的 AD 分区) |
| `--quick-wins` | **高信号的第 0 天快速分类**(未指定检查标志时的**默认**模式;隐含 `--fast`) |
| `--merge PATH…` | 额外的 SharpHound/AzureHound 目录或 zip,合并为一张图 |
| `--trust` | 域信任 / SID 过滤滥用检查 |
| `--wizard` | 交互式模式选择器(quick-wins / full / dossier / profile) |
| `--help-advanced` | 完整标志表 + 所有示例(简短 `--help` 仅提供入门信息) |
| `--fast` | 将路径查找限制为顶层 DA/EA 类目标(并非完全跳过)。与 `--all` 一起用于大型图时自动启用 |
| `--domain X` | 过滤为单个 AD 域或 Azure `tenantId`(不区分大小写) |
| `--list-domains` | 列出集合中的 AD 域 / Azure 租户并退出 |
| `--owned a,b` | 通向已拥有主体的路径(入站) |
| `--owned-file FILE` | 与 `--owned` 相同,但来自行分隔文件(支持 `#` 注释) |
| `--from-user-file FILE` | 与 `--from-user` 相同,但来自行分隔文件 |
| `--path-from` / `--path-to` | 任意最短路径 |
| `--inspect NODE` | 转储节点的属性 + 边 |
| `--indirect` | 包含经组介导的路径/权限 |
| `--deep-analysis` | 慢速组嵌套 + 循环检测 |
| `--privileged-roast` | 对嵌套在 DA/EA/其他特权组(或 AdminCount)中的用户进行 Kerberoast/AS-REP 烤制 |
| `--gpo-content-dir DIR` | 解析 GPO XML(任务、脚本、cPassword) |
| `--export {md,json,html,csv,yaml}` | 写入报告(高价值目标 + 按优先级排序的发现结果) |
| `--export-bh` | BloodHound 风格图 JSON |
| `--dot [FILE]` | Graphviz DOT 导出 |
| `--db FILE` | 图 SQLite 路径(默认:按集合指纹自动缓存在 `~/.cache/bloodbash/` 下) |
| `--cache-dir DIR` | 覆盖自动图缓存目录 |
| `--no-cache` | 始终重新摄取;不读/写图缓存 |
| `--rebuild-cache` | 强制重新摄取并刷新图缓存 |
| `--debug` | 详细的解析/构建日志 |
在 `--all` / 选择性标志下还包括:集合健康横幅;有趣的非 HV ACL 滥用;烤制发现结果的特权上下文标签;意外的 DCSync 拆分;非约束委派 DC 与非 DC;LAPS 读取者;可配置 RBCD;统计面板百分比;广泛运行下静默隐藏空分区。
仅 Azure 的开关:`--azure-privileged-roles`、`--azure-app-secrets`、`--azure-mfa-bypass`、`--azure-guest-access`、`--azure-sp-abuse`。
运行 `bloodbash --help` 获取入门指南 + 速查表,或 `--help-advanced` 获取完整标志表和示例。
## SharpHound CE 说明
摄取功能能理解现代收集器输出:组 `Members`、`AllowedToAct`(RBCD)、Sessions / LocalGroups、域 `Trusts[]`、SID 历史、CE 属性名别名,以及安全的 zip 解压(阻止 Zip Slip)。DCSync 需要 **GetChanges + GetChangesAll**。ADCS 标签遵循 SpecterOps ESC1-ESC8(+ 存在相应标志时的 ESC9/ESC13 候选)。域控制器计算机对象始终是高价值目标。本地管理员组上的工作站 `highvalue` 标志不会淹没 HV 集合。
## Metasploit 模块
封装 SquidSec BloodBash CLI(v1.4+),并将发现结果写入 Metasploit 数据库。
选项与 CLI 一致:AD/Azure 检查、清单、busiest-paths / path-break、
`--from-user` 失陷档案、配置文件、报告包、导出和图缓存(`--db` / 自动缓存)。```bash
cp modules/auxiliary/analyzer/bloodbash_analyzer.rb \
/opt/metasploit-framework/modules/auxiliary/analyzer/
# then in msfconsole: reload_all
The input content to translate is missing. Please provide the Markdown text (chunk 33/45) you would like me to translate from English to Chinese.```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
本块(chunk 35)内容为空,未提供可翻译的文本。```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
如果 PATH 中没有 python3,请设置 PYTHON。将 BLOODBASH_PATH 指向一个独立的
二进制文件(非 .py)以跳过 Python 解释器。域名过滤不区分大小写
(与 CLI 一致)。
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
### 合成 SharpHound 语料库(高熵回归)
公开的样本转储数据量小且熵值低。为进行检测器回归,我们附带了一个
**合成 SharpHound CE 实验环境**(`testData/synthetic-corp-lab/`),其中包含已知的
基准真值(意外的 DCSync、Auth Users GPO 写入、批量 can-configure RBCD、
ESC1、roast、LAPS 混合等)。不含真实项目数据。```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)运行单元/集成测试 和 run_scenario_battery.py --count 20 --seed 42
(20 条交互链)。分支保护要求通过 test 状态检查。
准确性辅助工具(无客户数据):```bash
python3 tools/mutate_corpus.py --in testData/synthetic-corp-lab --out /tmp/mut --seed 1 python3 BloodBash.py /tmp/mut --all --fast
python3 BloodBash.py testData/synthetic-corp-lab
--gpo-content-dir testData/gpo-xml-fixtures --gpo-parsing
### 本地二进制构建```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(每次推送到 main 时)运行测试,使用 PyInstaller 构建 Linux 和 Windows 的单文件二进制文件,并发布一个版本,其资源名称稳定,用于上方的 /releases/latest/download/... 链接。标签形如 v1.4.1-build.N。
MIT 许可 - 仅限授权安全测试和红队行动。
BloodBash 是一个开源项目,由 SquidSec 创建并维护。
| 运维 | Sessions / 本地管理员摘要, 收集健康状态 |
| 路径 | 到 HV 的最短路径, 最繁忙的短路径, path-break |
| 标志 | 含义 |
|---|
--from-user / --compromise | 构建档案(嵌套组、权限、HV 路径) |
--from-user-export [DIR] | 将 txt/csv/json 列表写出(默认 compromise-<user>/) |
--owned / --owned-file | 不同:到该主体的路径(入站);文件为行分隔格式 |