Cobalt Strike API服务器

一个提供Cobalt Strike API操作访问的MCP服务器,支持自动认证、动态工具生成和完整API覆盖。

  • by ibaiC
  • Python
  • 本地部署
  • 11 星标
  • 更新于
在 GitHub 查看 ibaiC/CS-MCP

使用说明

Cobalt Strike MCP服务器

提供访问Cobalt Strike API操作的MCP(模型上下文协议)服务器。

特性

  • 自动身份验证:使用Cobalt Strike API进行身份验证并管理承载令牌
  • 动态工具生成:根据OpenAPI规范自动创建MCP工具
  • API全面覆盖:将所有Cobalt Strike API操作作为MCP工具进行展示

设置

  1. 安装依赖项:
pip install -r requirements.txt
  1. 配置环境变量(复制 .env.example 到 .env 和编辑):
cp .env.example .env
  1. 设置您的Cobalt Strike凭据:
export CS_BASE_URL="https://your-cs-server:50443"
export CS_USERNAME="your-username"
export CS_PASSWORD="your-password"
export CS_VERIFY_SSL="false"  # Set to "true" if using valid SSL cert

用法

运行服务器

python server.py

与MCP客户端一起使用

添加到您的MCP客户端配置中(例如,Claude Desktop):

{
  "mcpServers": {
    "cobalt-strike": {
      "command": "python",
      "args": ["/path/to/CS-MCP/server.py"],
      "env": {
        "CS_BASE_URL": "https://your-cs-server:50443",
        "CS_USERNAME": "your-username",
        "CS_PASSWORD": "your-password",
        "CS_VERIFY_SSL": "false"
      }
    }
  }
}

运作原理

  1. 认证:启动时,服务器通过以下方式进行身份验证 /api/auth/login 并检索承载令牌
  2. API客户端初始化:使用Authorization标头中的承载令牌创建HTTP客户端
  3. OpenAPI规范加载:从以下位置获取OpenAPI规范 /v3/api-docs
  4. 工具生成:为每个API操作动态创建MCP工具
  5. 请求处理:将工具调用路由到具有正确身份验证的相应API终结点

环境变量

  • CS_BASE_URL:Cobalt Strike服务器的基本URL
  • CS_USERNAME:身份验证用户名(必填)
  • CS_PASSWORD:身份验证密码(必填)
  • CS_VERIFY_SSL:是否验证SSL证书(默认值: false)

安全说明

  • 安全地存储凭据(使用环境变量,而不是硬编码值)
  • 考虑在生产中使用SSL证书验证(CS_VERIFY_SSL=true)
  • 承载令牌会自动管理,并根据需要刷新