Cobalt Strike MCP服务器
提供访问Cobalt Strike API操作的MCP(模型上下文协议)服务器。
特性
- 自动身份验证:使用Cobalt Strike API进行身份验证并管理承载令牌
- 动态工具生成:根据OpenAPI规范自动创建MCP工具
- API全面覆盖:将所有Cobalt Strike API操作作为MCP工具进行展示
设置
- 安装依赖项:
pip install -r requirements.txt- 配置环境变量(复制
.env.example到.env和编辑):
cp .env.example .env- 设置您的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"
}
}
}
}运作原理
- 认证:启动时,服务器通过以下方式进行身份验证
/api/auth/login并检索承载令牌 - API客户端初始化:使用Authorization标头中的承载令牌创建HTTP客户端
- OpenAPI规范加载:从以下位置获取OpenAPI规范
/v3/api-docs - 工具生成:为每个API操作动态创建MCP工具
- 请求处理:将工具调用路由到具有正确身份验证的相应API终结点
环境变量
CS_BASE_URL:Cobalt Strike服务器的基本URLCS_USERNAME:身份验证用户名(必填)CS_PASSWORD:身份验证密码(必填)CS_VERIFY_SSL:是否验证SSL证书(默认值:false)
安全说明
- 安全地存储凭据(使用环境变量,而不是硬编码值)
- 考虑在生产中使用SSL证书验证(
CS_VERIFY_SSL=true) - 承载令牌会自动管理,并根据需要刷新
