Real-Fruit-Snacks/Runoff

GitHub: Real-Fruit-Snacks/Runoff

从 BloodHound CE 数据中自动提取 AD 攻击路径、配置错误和权限提升机会的安全审计工具。

Stars: 0 | Forks: 0

Runoff ![Python](https://img.shields.io/badge/Python-3.9+-3776AB?logo=python&logoColor=white) ![Platform](https://img.shields.io/badge/platform-Linux%20%7C%20Windows%20%7C%20macOS-lightgrey) ![License](https://img.shields.io/badge/license-MIT-blue.svg) **Active Directory 安全审计工具 -- 从 BloodHound CE 提取快速成果、攻击路径和配置错误** Runoff 查询 BloodHound Community Edition 的 Neo4j 数据库,识别 Active Directory 攻击路径、配置错误和权限提升机会,涵盖 15 个类别共 177 个安全查询,包含利用指导、严重等级评估和多格式报告功能。
## 快速开始 ### 前置条件 - **Python** 3.9+ - **Neo4j** 已加载 BloodHound CE 数据 - **pip** 或 **pipx** ### 安装 ``` # pipx(推荐 - 隔离环境) pipx install git+https://github.com/Real-Fruit-Snacks/Runoff.git # 或从本地克隆 git clone https://github.com/Real-Fruit-Snacks/Runoff.git cd Runoff && pip install -e . ``` ### 运行 ``` # 运行全部 177 个查询 runoff -p 'bloodhoundcommunityedition' run all # 快速成果摘要 runoff -p 'pass' quickwins # 调查特定节点 runoff -p pass investigate USER@CORP.LOCAL # 使用 abuse 命令运行 runoff -p pass --abuse run acl adcs # JSON 输出通过管道传输到 jq runoff -p pass -o json run all | jq '.[] | select(.count > 0)' ``` ## 功能 ### 177 个安全查询 查询涵盖 15 个类别,通过 `@register_query` 装饰器注册,可按类别或单独运行: ``` # 运行特定类别 runoff -p pass run acl adcs delegation # 按严重程度筛选 runoff -p pass -s critical,high run all # 按标签筛选 runoff -p pass --tags quick-win run all ``` 类别包括 ACL 滥用、ADCS ESC1-ESC15、委托、 coerced relay、横向移动、Azure/混合环境、凭证攻击 Kerberoasting、DCSync、GPO 滥用和 Exchange。 ### 节点调查 单条命令即可查看属性、攻击边、组成员身份、管理权限、会话和到 Domain Admins 的路径: ``` # 完整节点调查 runoff -p pass investigate USER@CORP.LOCAL # 通配符分诊模式 runoff -p pass investigate 'SVC_*@CORP.LOCAL' # 到达 Domain Admins 的最短路径 runoff -p pass path USER@CORP.LOCAL 'DOMAIN ADMINS@CORP.LOCAL' ``` ### 滥用命令 每个发现都附带利用命令 -- Impacket、Certipy、bloodyAD、Rubeus -- 并自动替换目标、域名和 OPSEC 警告: ``` # 启用 abuse 命令 runoff -p pass --abuse run acl # 命令包括工具调用、标志和目标替换 ``` ### 多格式输出 单次运行即可生成 Table、JSON、CSV、HTML 和 Markdown 报告。结构化输出到 stdout,状态信息到 stderr: ``` # JSON 导出 runoff -p pass -o json run all > results.json # CSV 用于电子表格分析 runoff -p pass -o csv run all > results.csv # HTML 报告 runoff -p pass -o html run all > report.html # Markdown 表格 runoff -p pass -o markdown run all ``` ### 已控跟踪 标记已入侵的账户并从当前立足点运行针对性查询: ``` # 将主体标记为已拥有 runoff -p pass own add USER@CORP.LOCAL # 从已拥有的主体运行查询 runoff -p pass run --from-owned ``` ### 执行摘要 自动生成域画像、安全态势评估和优先的下一步行动: ``` runoff -p pass summary ``` ### BloodHound CE API 集成 无需浏览器即可摄取数据、查看历史和管理数据库: ``` # 导入 SharpHound 数据 runoff -p pass api ingest data.zip # 查看收集历史 runoff -p pass api history ``` ### 插件系统 放置自定义查询文件以进行组织特定的检查: ``` # 自定义查询位于 ~/.config/runoff/queries/ runoff -p pass run custom ``` ## 架构 ``` runoff/ ├── cli/ # Click CLI with 11 command modules ├── core/ # BloodHoundCE class, Neo4j driver, Cypher utilities ├── queries/ # 177 queries in 15 category folders (@register_query) ├── abuse/ # YAML exploitation templates per technique ├── display/ # Rich tables, panels, trees (Catppuccin Mocha theme) ├── api/ # BloodHound CE API integration (HMAC auth) └── tests/ # Test suite ``` CLI 连接到 Neo4j,通过核心引擎执行 Cypher 查询,并通过显示层渲染结果。查询通过装饰器自动注册,可在运行时发现。 ## 平台支持 | 功能 | Linux | macOS | Windows | |---|---|---|---| | CLI | 完整 | 完整 | 完整 | | Neo4j 连接 | 完整 (Bolt) | 完整 (Bolt) | 完整 (Bolt) | | Rich 终端 UI | 完整 | 完整 | 完整 (推荐 Windows Terminal) | | BloodHound CE API | 完整 | 完整 | 完整 | | Shell 补全 | bash, zsh, fish | bash, zsh, fish | 有限 | | JSON/CSV/HTML 导出 | 完整 | 完整 | 完整 | ## 安全 请通过 [GitHub Security Advisories](https://github.com/Real-Fruit-Snacks/Runoff/security/advisories/new)(首选)或私下联系维护者报告安全问题。负责任披露时间线:90 天。请勿为漏洞开启公开问题。 Runoff **不会**: - 触碰 Active Directory -- 仅查询 BloodHound 已收集的数据 - 存储或外泄域凭证 - 执行网络扫描或主动侦察 - 管理植入或远程执行命令 ## 许可证 [MIT]( -- Copyright 2026 Real-Fruit-Snacks
标签:Active Directory, AD安全, AMSI绕过, BloodHound, Conpot, CSV导出, Misconfiguration, Neo4j, PE 加载器, Plaso, Privilege Escalation, Python, Quick Wins, StruQ, Web报告查看器, Windows安全, 协议分析, 反取证, 域渗透, 威胁检测, 安全评估, 攻击路径分析, 无后门, 无线安全, 权限提升, 电子数据取证, 网络安全, 聊天机器人, 调试插件, 逆向工具, 隐私保护