这是一个模型上下文协议(MCP)服务器,它使大型语言模型能够通过Claude Desktop与BloodHound社区版的数据进行交互。此工具允许安全专业人员使用自然语言查询和分析Active Directory攻击路径。
此MCP服务器提供了一个全面的接口来访问BloodHound社区版的REST API,而不仅仅是Cypher查询的包装器。实现包括:
/api/v2/domains,/api/v2/users,/api/v2/groups等)虽然Cypher查询非常强大,但这个MCP超越了简单的查询执行:
作为正确的模型上下文协议实现:
克隆仓库
git clone <repository-url>
cd bloodhound-mcp
安装依赖项
uv sync
配置环境变量
在项目根目录创建一个.env文件:
BLOODHOUND_DOMAIN=your-bloodhound-instance.domain.com
BLOODHOUND_TOKEN_ID=your-token-id
BLOODHOUND_TOKEN_KEY=_your-token-key
claude_desktop_config.json中:{
"mcpServers": {
"bloodhound_mcp": {
"command": "uv",
"args": [
"--directory",
"/path/to/your/bloodhound-mcp",
"run",
"main.py"
]
}
}
}
/path/to/your/bloodhound-mcp替换为您实际的安装路径.env文件使用BloodHound中有哪些可用的域?
域侦察:
显示DOMAIN.LOCAL域中的所有用户
该域中的计算机有哪些?
找到所有域管理员
用户分析:
john.doe@domain.local拥有哪些管理权限?
显示该用户的全部会话
该用户是哪些组的成员?
特权提升:
找到所有可以Kerberoasting的用户
显示具有DCSync权限的用户
我可以从这个用户RDP到哪些计算机?
高级分析:
运行Cypher查询以找到通往域管理员的所有路径
显示用户A到用户B的最短路径
找到所有设置了SPN的用户
此工具通过Claude Desktop处理BloodHound数据,这意味着Active Directory信息会被传输到Anthropic的服务器上。不要使用此工具处理生产或敏感的BloodHound数据。
运行测试套件以验证功能:
# 基本功能测试
uv run pytest tests/test_basics.py -v
# HTTP请求测试
uv run pytest tests/test_bloodhound_http.py -v
# MCP工具测试
uv run pytest tests/test_mcp_tools.py -v
# 集成测试(需要运行BloodHound实例)
BLOODHOUND_INTEGRATION_TESTS=1 uv run pytest tests/test_integration.py -v
欢迎贡献!此项目旨在学习和实验MCP和BloodHound API。
此项目根据GNU通用公共许可证v3.0许可 - 详情见LICENSE文件。