项目简介:

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 图数据库查询。
  • 支持通过自然语言进行数据查询和攻击路径分析。

安装步骤:

  1. 确保已安装 Python 3.11+ 和 'uv' 包管理器。
  2. 克隆仓库到本地目录。
  3. 进入仓库目录。
  4. 运行 'uv sync' 安装依赖。
  5. 创建 '.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

基本使用方法:

  1. 按照安装和配置步骤设置服务器和客户端。
  2. 启动配置好的 MCP 客户端(例如重启 Claude Desktop)。
  3. 在客户端中开始新的对话,客户端会自动发现 BloodHound MCP 提供的能力(工具和资源)。
  4. 使用自然语言提问,例如:
    • "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与计算