项目简介:
BloodHound MCP 服务器是一个 Model Context Protocol (MCP) 实现,允许大型语言模型(如 Claude Desktop)与 BloodHound Community Edition 的安全数据进行交互。安全专业人员可以使用自然语言查询和分析 Active Directory 的用户、组、计算机、GPO、OU 以及攻击路径。
主要功能点:
- 访问 BloodHound CE 的完整 REST API。
- 查询域信息、用户、组、计算机、GPO、OU 详情。
- 分析用户和组的权限、组成员关系、活动会话。
- 分析计算机的权限和连接信息。
- 执行高级图搜索,如查找最短路径。
- 分析 ADCS(Active Directory 证书服务)组件及其控制器。
- 直接执行和管理 Cypher 图数据库查询。
- 支持通过自然语言进行数据查询和攻击路径分析。
安装步骤:
- 确保已安装 Python 3.11+ 和 'uv' 包管理器。
- 克隆仓库到本地目录。
- 进入仓库目录。
- 运行 'uv sync' 安装依赖。
- 创建 '.env' 文件配置 BloodHound 连接信息(见下文服务器配置)。
服务器配置 (MCP客户端中的配置):
MCP 客户端需要配置启动 BloodHound MCP 服务器的命令。以下是配置信息示例,你需要根据实际情况调整 '/path/to/your/bloodhound-mcp' 到仓库的实际路径:
{ "mcpServers": { "bloodhound_mcp": { "command": "uv", "args": [ "--directory", "/path/to/your/bloodhound-mcp", "run", "main.py" ], "description": "BloodHound MCP Server connects LLMs to BloodHound data for security analysis.", "isMcp": true } } }
- 'command': 用于启动服务器的可执行文件路径,这里是 'uv' 命令。
- 'args': 传递给 'command' 的参数列表,用于在指定目录下运行 'main.py' 脚本。
- 'description': 服务器的描述信息。
- 'isMcp': 表明这是一个 MCP 服务器。
此外,你还需要在仓库目录下的 '.env' 文件中配置连接 BloodHound CE 实例所需的域名、API Token ID 和 API Token Key:
BLOODHOUND_DOMAIN=your-bloodhound-instance.domain.com BLOODHOUND_TOKEN_ID=your-token-id BLOODHOUND_TOKEN_KEY=your-token-key
基本使用方法:
- 按照安装和配置步骤设置服务器和客户端。
- 启动配置好的 MCP 客户端(例如重启 Claude Desktop)。
- 在客户端中开始新的对话,客户端会自动发现 BloodHound MCP 提供的能力(工具和资源)。
- 使用自然语言提问,例如:
- "What domains are available in Bloodhound?" (查询可用域)
- "Show me all users in the DOMAIN.LOCAL domain." (列出域中的所有用户)
- "Find all Domain Admins." (查找 Domain Admins 组)
- "What administrative rights does [email protected] have?" (查询特定用户的管理权限)
- "Run a cypher query to find all paths to Domain Admin." (执行自定义 Cypher 查询)
信息
分类
AI与计算