Kali Docker MCP安装指南
全面的设置指南 卡利码头mcp 服务器-一种模型上下文协议(MCP)服务器,在容器化的Kali Linux环境中提供命令执行功能,用于半自动渗透测试和安全研究。
免责声明
此工具用于 仅用于教育和授权的安全测试目的.使用风险自负。在进行安全评估之前,始终确保您有适当的授权。
______________________________________________________________________
先决条件
- 码头工人 & Docker Compose 已安装并正在运行
- MCP兼容客户端 (Claude Desktop、Claude Code、Gemini CLI、VS Code with Copilot等)
- 勇敢的API密钥 (可选)-用于网络搜索功能(买一个)
- Azure凭据 (可选)-用于Azure云集成
- 基本熟悉命令行工具
______________________________________________________________________
安装说明
步骤1:克隆存储库
cd /path/to/your/projects
git clone https://github.com/hassanaftab93/kali-docker-mcp
cd kali-docker-mcp步骤2:配置API令牌(可选但推荐)
编辑 config.toml 添加API令牌以增强侦察功能:
nano config.toml可配置的服务:
| 服务 | 描述 | 获取令牌 |
|---|---|---|
| GitHub | 存储库和代码智能挖掘 | https://github.com/settings/tokens |
| Shodan | 基础设施和公开服务发现 | https://account.shodan.io/ |
| Censys | 证书和子域发现 | https://censys.io/account/api |
| VirusTotal | 被动DNS和恶意软件情报 | https://www.virustotal.com/gui/my-apikey |
| SecurityTrails | 历史DNS和子域数据 | https://securitytrails.com/app/account/credentials |
| Hunter.io | 电子邮件枚举和违规数据 | https://hunter.io/api_keys |
| DeHashed | 凭证漏洞搜索 | https://dehashed.com/profile |
| Wayback Machine | 历史URL和内容挖掘 | 不需要API密钥 |
集 enabled = true 您想要使用的服务。
步骤3:构建并启动Kali容器
docker compose up --build -d步骤3b:提取额外的MCP Docker镜像(可选)
如果您想使用Brave Search或Azure MCP服务器:
# Brave Search MCP
docker pull mcp/brave-search
# Azure MCP
docker pull mcp/azure步骤4:验证容器是否正在运行
docker ps | grep kali-mcp-server你应该看看 kali-mcp-server 在输出中。
步骤5:配置MCP客户端
⚠️ 重要:禁用MCP客户端中的任何内置终端或命令执行工具,以防止命令在主机系统而不是Kali容器上意外执行。
看 MCP配置 下面部分介绍特定于客户端的设置。
______________________________________________________________________
MCP配置
这 mcp-settings.json 文件包含多个MCP服务器的配置:
| 服务器 | 描述 | 要求 |
|---|---|---|
| kali mcp服务器 | Kali Linux渗透测试环境 | Docker容器正在运行 |
| 勇敢 | 勇敢的搜索API用于网络搜索 | BRAVE_API_KEY (买一个) |
| 蔚蓝 | Azure云服务集成 | 已配置Azure凭据 |
克劳德桌面/克劳德代码
单独添加每个服务器:
# Kali MCP Server
claude mcp add --transport stdio kali-mcp-server "docker exec -i kali-mcp-server python3 /app/kali_server.py"
# Brave Search (set your API key)
claude mcp add brave "docker run -i --rm -e BRAVE_MCP_TRANSPORT=stdio -e BRAVE_API_KEY=your-api-key mcp/brave-search"
# Azure
claude mcp add azure "docker run -i --rm mcp/azure server start"Gemini CLI
# Kali MCP Server
gemini mcp add kali-mcp-server "docker exec -i kali-mcp-server python3 /app/kali_server.py"
# Brave Search
gemini mcp add brave "docker run -i --rm -e BRAVE_MCP_TRANSPORT=stdio -e BRAVE_API_KEY=your-api-key mcp/brave-search"
# Azure
gemini mcp add azure "docker run -i --rm mcp/azure server start"VS代码(副本)
创建或编辑 .vscode/mcp.json 在您的工作空间中:
{
"servers": {
"kali-mcp-server": {
"type": "stdio",
"command": "docker",
"args": ["exec", "-i", "kali-mcp-server", "python3", "/app/kali_server.py"]
},
"brave": {
"command": "docker",
"args": ["run", "-i", "--rm", "-e", "BRAVE_MCP_TRANSPORT", "-e", "BRAVE_API_KEY", "mcp/brave-search"],
"env": {
"BRAVE_MCP_TRANSPORT": "stdio",
"BRAVE_API_KEY": "your-api-key"
}
},
"azure": {
"command": "docker",
"args": ["run", "-i", "--rm", "mcp/azure", "server", "start"]
}
}
}其他MCP客户端
看 mcp-settings.json 完整的JSON配置格式。
______________________________________________________________________
可用工具
核心MCP工具
run_kali_command-在Kali环境中执行命令get_job_status-检查后台作业状态list_background_jobs-列出所有正在运行的作业cancel_job-取消正在运行的作业get_workspace_info-获取工作区配置
交互式工具(带外检测)
start_interactsh-启动带外交互监控get_interactsh_status-检查交互工作者状态poll_interactsh-检索记录的交互stop_interactsh-停止交互工作者
服务管理
get_service_tokens-获取已配置的API服务令牌
______________________________________________________________________
预装的安全工具
| 类别 | 工具 |
|---|---|
| 网络扫描 | 马萨诸塞州nmap |
| Web测试 | dirb、ffuf、gobuster、nikto、whatweb、wfuzz、nuclears |
| DNS/域 | dig、whois、dnsrecon、dnsenum、mass、subinder |
| 剥削 | 元绘图框架、sqlmap |
| 密码攻击 | 约翰、哈沙猫、九头蛇 |
| SSL/TLS | sslscan,testssl.sh |
| SMB/Windows | enum4linux,smbclient |
| 公用事业 | curl、wget、jq、exiftool、swaks |
| 单词列表 | 机密列表 |
______________________________________________________________________
工作区结构
所有最重要的工件都组织在 /app/workspace/{date_target}/:
workspace/
└── {date_target}/
├── recon/ # Reconnaissance data
├── scans/ # Scan results
├── exploits/ # Exploit artifacts
├── evidence/ # Evidence collection
├── reports/ # Generated reports
├── logs/ # Activity logs
└── screenshots/ # Screenshots______________________________________________________________________
常用命令
管理容器
# Start the container
docker compose up -d
# Stop the container
docker compose down
# View container logs
docker logs kali-mcp-server
# Rebuild after changes
docker compose up --build -d
# Enter the container manually
docker exec -it kali-mcp-server /bin/bash测试MCP连接
# Test the MCP server directly
docker exec -i kali-mcp-server python3 /app/kali_server.py______________________________________________________________________
故障排除
容器未启动
# Check Docker logs
docker logs kali-mcp-server
# Ensure Docker is running
docker infoMCP客户端未连接
- 验证容器是否正在运行:
docker ps | grep kali-mcp-server - 配置更改后重新启动MCP客户端
- 检查是否没有其他工具正在拦截命令
权限问题
容器以安全工具的提升权限运行。如果您遇到权限问题:
# Rebuild the container
docker compose down
docker compose up --build -d______________________________________________________________________
安全说明
- 容器以安全工具所需的权限(NET_ADMIN、NET_RAW、SYS_ADMIN)运行
- 所有命令执行都包含在Docker环境中
- 网络模式设置为
host用于完全网络访问 - 应安全配置API令牌-切勿将其提交到版本控制
- 资源限制设置为8GB RAM和4个CPU
______________________________________________________________________
许可证
这个项目是一个独立的开源贡献 与OffSec或Kali Linux无关、不受其认可或关联Kali Linux是Offensive Security的商标。
