详细介绍
BloodHound-MCP 是一款结合 BloodHound、Neo4j 和 MCP 协议的工具,允许用户通过自然语言查询 Active Directory 环境中的安全数据,从而更高效地识别攻击路径和潜在漏洞。该工具特别适用于需要定期评估域内权限结构和安全状况的企业安全团队。
核心功能
BloodHound-MCP 提供了多种核心功能,帮助用户深入分析 Active Directory 环境的安全性:
- 自然语言接口:用户可以通过简单的英语句子进行查询,例如“显示所有从用户A到组B的路径”,而无需编写复杂的 Cypher 查询。
- 全面分析类别:支持多种安全分析,包括域结构映射、权限提升路径、Kerberos 安全问题(如 Kerberoasting 和 AS-REP Roasting)、证书服务漏洞、NTLM 中继攻击向量、代理滥用机会等。
- 高级报告生成功能:能够自动生成详细的域安全报告,帮助安全团队快速了解整体安全状况。
安装方法
安装 BloodHound-MCP 需要以下先决条件:
- BloodHound 4.x+,并已从 Active Directory 环境中收集数据。
- Neo4j 数据库中已加载 BloodHound 数据。
- Python 3.8 或更高版本。
- MCP 客户端。
以下是安装步骤:
- 克隆项目仓库:
git clone https://github.com/your-username/MCP-BloodHound.git- 进入项目目录并安装依赖项:
cd MCP-BloodHound
pip install -r requirements.txt- 配置 MCP 服务器,示例配置如下:
{
"server": {
"port": 5000,
"host": "localhost"
},
"db": {
"type": "neo4j",
"uri": "bolt://localhost:7687",
"user": "neo4j",
"password": "password"
}
}- 启动服务器:
python server.py使用方法
使用 BloodHound-MCP 的基本流程如下:
- 启动 MCP 客户端:
mcp-client- 发送查询请求,例如:
{
"action": "query",
"params": {
"query": "MATCH (n) RETURN n LIMIT 10"
}
}此外,还可以使用自然语言进行查询,例如:
show paths from kerberoastable users to Domain Admins该命令将返回所有从 Kerberoastable 用户到 Domain Admins 的路径。
使用场景
BloodHound-MCP 适用于以下场景:
- 企业安全团队需要定期评估 Active Directory 的权限结构和潜在漏洞。
- 识别 Kerberos 安全问题,如 Kerberoasting 和 AS-REP Roasting。
- 发现 NTLM 中继攻击向量和证书服务漏洞。
- 生成全面的域安全报告,用于内部审计或合规性检查。
注意事项
在使用 BloodHound-MCP 时,需注意以下事项:
- 必须获得合法授权才能在目标环境中使用该工具。
- 确保 Neo4j 数据库中已正确加载 BloodHound 数据。
- 对于非常大的域环境,查询可能需要较长时间。
- 查询结果的准确性依赖于输入语句的正确性和数据的完整性。
使用示例
以下是几个典型使用示例:
- 示例1:查找 Kerberoastable 用户到 Domain Admins 的路径
show paths from kerberoastable users to Domain Admins该命令将返回一系列路径,显示哪些用户可以通过哪些方式到达 Domain Admins。
- 示例2:查找具有本地管理员权限的计算机上的 Domain Users 账户
find computers where Domain Users has local admin rights该命令将列出所有 Domain Users 账户拥有本地管理员权限的计算机。
- 示例3:生成全面的域安全报告
generate full domain security report该命令将自动生成一份详细的域安全报告,涵盖多个安全维度。
BloodHound-MCP 通过自然语言查询大幅降低了 Active Directory 安全分析的复杂性,使安全人员能够更高效地识别和应对潜在威胁。