mrflippermen/BloodHound-Parser

GitHub: mrflippermen/BloodHound-Parser

一款用于自动解析 BloodHound/SharpHound JSON 数据并快速生成 Active Directory 攻击路径与风险分析报告的安全评估工具。

Stars: 0 | Forks: 0

``` ██████╗ ██╗ ██████╗ ██████╗ ██████╗ ██╗ ██╗ ██████╗ ██╗ ██╗███╗ ██╗██████╗ ██╔══██╗██║ ██╔═══██╗██╔═══██╗██╔══██╗██║ ██║██╔═══██╗██║ ██║████╗ ██║██╔══██╗ ██████╔╝██║ ██║ ██║██║ ██║██║ ██║███████║██║ ██║██║ ██║██╔██╗ ██║██║ ██║ ██╔══██╗██║ ██║ ██║██║ ██║██║ ██║██╔══██║██║ ██║██║ ██║██║╚██╗██║██║ ██║ ██████╔╝███████╗╚██████╔╝╚██████╔╝██████╔╝██║ ██║╚██████╔╝╚██████╔╝██║ ╚████║██████╔╝ ╚═════╝ ╚══════╝ ╚═════╝ ╚═════╝ ╚═════╝ ╚═╝ ╚═╝ ╚═════╝ ╚═════╝ ╚═╝ ╚═══╝╚═════╝ ██████╗ █████╗ ██████╗ ███████╗███████╗██████╗ ██╔══██╗██╔══██╗██╔══██╗██╔════╝██╔════╝██╔══██╗ ██████╔╝███████║██████╔╝███████╗█████╗ ██████╔╝ ██╔═══╝ ██╔══██║██╔══██╗╚════██║██╔══╝ ██╔══██╗ ██║ ██║ ██║██║ ██║███████║███████╗██║ ██║ ╚═╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚══════╝╚══════╝╚═╝ ╚═╝ ``` [![Python 3.8+](https://img.shields.io/badge/python-3.8+-blue.svg)](https://www.python.org/downloads/) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) [![BloodHound](https://img.shields.io/badge/BloodHound-Compatible-red.svg)](https://github.com/BloodHoundAD/BloodHound) ## 🇬🇧 English ### 描述 **BloodHound Parser** 是一款用于 BloodHound/SharpHound JSON 集合的企业级分析工具。它会自动识别关键的 Active Directory 错误配置和攻击路径: - **Kerberoastable 账户**检测(SPN 枚举) - **ASREProastable 用户**识别(DONT_REQ_PREAUTH) - **委派分析**(非约束性/约束性委派) - **高价值目标**枚举 - **权限提升路径**识别 - **多种导出格式**(JSON、CSV、Markdown、TXT) - **风险评分**和优先级排序 ### 为什么选择此工具? BloodHound 提供了图表,但 **BloodHound Parser 提取了可操作的情报**。非常适合: - 在 Active Directory 评估期间进行快速分类 - 自动生成报告 - 在时间有限的交战中确定攻击路径的优先级 - 与其他红队工具集成 ### 功能 ✅ **Kerberoasting 检测**:自动查找带有 SPN 的服务账户 ✅ **ASREProast 识别**:定位没有 Kerberos 预身份验证的账户 ✅ **委派问题**:识别非约束性/约束性委派风险 ✅ **管理员路径映射**:查找具有 AdminCount 属性的用户 ✅ **多格式导出**:JSON、CSV、Markdown、纯文本 ✅ **Dataclass 架构**:类型安全、现代化的 Python 设计 ### 安装说明 ``` git clone https://github.com/yourusername/BloodHound-Parser.git cd BloodHound-Parser pip install -r requirements.txt ``` ### 使用说明 #### 基础分析 ``` # Parse all JSON files in BloodHound directory python src/parseSharpHound.py /path/to/bloodhound/data ``` #### 生成所有格式 ``` # Export in all available formats python src/parseSharpHound.py /path/to/bloodhound -f all ``` #### 导出以便集成 ``` # JSON export for scripting python src/parseSharpHound.py /path/to/bloodhound -f json -o analysis.json # Markdown report for documentation python src/parseSharpHound.py /path/to/bloodhound -f markdown -o report.md ``` #### 自定义输出位置 ``` python src/parseSharpHound.py /path/to/bloodhound -o /custom/output/dir ``` ### 命令参考 ``` positional arguments: directory Directory containing SharpHound JSON files optional arguments: -o, --output PATH Output directory (default: same as input) -f, --format FORMAT Export format: txt, json, markdown, all (default: all) --output-format FMT Text file format: column, comma (default: column) -v, --verbose Verbose output ``` ### 示例输出 #### 控制台输出 ``` [INFO] Scanning directory: /data/bloodhound [INFO] Parsed 1234 users from 20241225_users.json [INFO] Analysis complete: 1234 users, 543 computers, 234 groups [INFO] Exported 1234 users to user_names_output.txt ``` #### 摘要报告 (resumen.txt) ``` ========================================================== SHARPHOUND COLLECTION SUMMARY ========================================================== OBJECT COUNTS: Users: 1234 Groups: 234 Computers: 543 USER ANALYSIS: Enabled: 1100 Privileged: 45 Kerberoastable: 12 ASREProastable: 3 High Value: 28 KERBEROASTABLE USERS: - sqlservice@corp.local - webservice@corp.local - svc_backup@corp.local ASREPROASTABLE USERS: - testuser@corp.local - legacyacct@corp.local ``` ### 项目结构 ``` BloodHound-Parser/ ├── src/ │ ├── parseSharpHound.py # Main parser │ └── __init__.py ├── examples/ │ ├── sample_output/ │ └── README.md ├── requirements.txt ├── .gitignore ├── LICENSE └── README.md ``` ## 🇪🇸 Español ### 描述 **BloodHound Parser** 是一款用于 BloodHound/SharpHound JSON 集合的企业级分析工具。它会自动识别关键的 Active Directory 错误配置和攻击路径: - **Kerberoastable 账户检测**(SPN 枚举) - **ASREProastable 用户识别**(DONT_REQ_PREAUTH) - **委派分析**(非约束性/约束性委派) - **高价值目标枚举** - **权限提升路径识别** - **多种导出格式**(JSON、CSV、Markdown、TXT) ### 为什么使用此工具? BloodHound 提供了图表,但 **BloodHound Parser 提取了可操作的情报**。非常适合: - 在 Active Directory 评估期间进行快速分类 - 自动生成报告 - 在时间有限的交战中确定攻击路径的优先级 - 与其他红队工具集成 ### 安装说明 ``` git clone https://github.com/yourusername/BloodHound-Parser.git cd BloodHound-Parser pip install -r requirements.txt ``` ### 基础使用 ``` # Análisis completo python src/parseSharpHound.py /path/to/bloodhound/data # Exportar solo JSON python src/parseSharpHound.py /path/to/bloodhound -f json -o analysis.json # Exportar en todos los formatos python src/parseSharpHound.py /path/to/bloodhound -f all ``` ### 示例输出 分析会识别出: - Kerberoastable 账户(SPN roast 的目标) - ASREProastable 用户(asreproast 的目标) - 具有非约束性委派的账户(委派攻击的目标) - 特权用户(AdminCount) ## 📋 要求 - Python 3.8+ - pathlib(标准库) - dataclasses(标准库) 无需外部依赖!纯 Python 实现。 ## 🔒 法律免责声明 **仅供授权的安全测试使用** 此工具仅用于授权的 Active Directory 安全评估。未经授权访问计算机系统是非法的。 - ✅ 仅在您拥有或获得书面测试许可的网络上使用 - ✅ 了解您当地关于渗透测试的法律 - ❌ 作者对滥用行为不承担任何责任 ## 📜 许可证 MIT 许可证 - 有关详细信息,请参阅 [LICENSE](LICENSE) 文件。 ## 👤 作者 **Esteban Jiménez** - 🏆 Hack The Box 厄瓜多尔第一名 - 🎯 红队操作员 - 💼 Active Directory 专家 - 🔗 [GitHub](https://github.com/virtualshoot) ## 🙏 致谢 - BloodHound/SharpHound 团队提供的出色 AD 分析工具 - Active Directory 安全研究社区 - MITRE ATT&CK 框架 **⚠️ 请负责任地使用。祝狩猎愉快!**
标签:Active Directory, BloodHound, Plaso, 攻击路径分析, 数据分析工具, 逆向工具