安全测试容器化工具

一个基于Docker容器的Kali Linux环境,提供半自动化渗透测试和安全研究的命令执行能力。

  • by hassanaftab93
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 hassanaftab93/pentesting-mcp-setup

使用说明

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 info

MCP客户端未连接

  1. 验证容器是否正在运行: docker ps | grep kali-mcp-server
  2. 配置更改后重新启动MCP客户端
  3. 检查是否没有其他工具正在拦截命令

权限问题

容器以安全工具的提升权限运行。如果您遇到权限问题:

# 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的商标。