Back to MCP directory
publicPublicdnsLocal runtime

kali-docker-mcp

一个基于容器化Kali Linux的MCP服务器,提供渗透测试和安全研究工具的命令执行能力,支持后台任务管理和交互式漏洞检测。

article

README

🚀 Kali MCP Server

Kali MCP Server 是一个模型上下文协议(MCP)服务器,它在容器化的 Kali Linux 环境中提供命令执行功能,可用于半自动化渗透测试和安全研究。

🚀 快速开始

  1. 启动容器

    docker compose up --build -d
    
  2. 验证容器是否正在运行

    docker ps | grep kali-mcp-server
    
  3. 配置 MCP 客户端

    ⚠️ 重要提示

    禁用 MCP 客户端中任何内置的终端或命令执行工具,以防止命令意外地在主机系统而非 Kali 容器中执行。为确保安全和隔离,所有安全工具应仅在容器化环境中运行。

    Claude Desktop

    claude mcp add --transport stdio kali-mcp-server "docker exec -i kali-mcp-server python3 /app/kali_server.py"
    

    Gemini CLI

    gemini mcp add kali-mcp-server "docker exec -i kali-mcp-server python3 /app/kali_server.py"
    

    VS Code (Copilot): 在工作区中创建或编辑 .vscode/mcp.json

    {
        "servers": {
            "kali-mcp-server": {
                "type": "stdio",
                "command": "docker",
                "args": [
                    "exec",
                    "-i",
                    "kali-mcp-server",
                    "python3",
                    "/app/kali_server.py"
                ]
            }
        }
    }
    

    其他客户端

    {
        "mcpServers": {
            "kali-mcp-server": {
                "type": "stdio",
                "command": "docker",
                "args": [
                    "exec",
                    "-i",
                    "kali-mcp-server",
                    "python3",
                    "/app/kali_server.py"
                ],
                "env": {}
            }
        }
    }
    

    配置完成后:重启 MCP 客户端以加载 Kali MCP 服务器。

✨ 主要特性

  • 容器化命令执行:在容器化环境中运行 Kali Linux 安全工具。
  • 后台作业管理:长时间运行的命令(>60 秒)会自动作为后台作业运行。
  • Interactsh 集成:用于检测盲漏洞的带外交互检测。
  • 服务 API 管理:对侦察 API(如 GitHub、Shodan 等)进行集中配置。
  • 工作区管理:为渗透测试工件提供有组织的目录结构。

📦 安装指南

要求

  • Docker 与 Docker Compose
  • 兼容 MCP 的客户端(Claude Code、Gemini CLI、带有 Copilot 的 VS Code 等)

💻 使用示例

可用工具

核心 MCP 工具

  • run_kali_command - 在 Kali 环境中执行命令
  • get_job_status - 检查后台作业状态
  • list_background_jobs - 列出所有正在运行的作业
  • cancel_job - 取消正在运行的作业
  • get_workspace_info - 获取工作区配置

Interactsh 工具

  • start_interactsh - 启动带外交互监控
  • get_interactsh_status - 检查 Interactsh 工作进程状态
  • poll_interactsh - 检索记录的交互信息
  • stop_interactsh - 停止 Interactsh 工作进程

服务管理

  • get_service_tokens - 获取已配置的 API 服务令牌

预安装的安全工具

  • 网络扫描nmapmasscan
  • Web 测试dirbffufwhatwebnikto
  • DNS/域名digwhoisdnsrecon
  • 实用工具curlwgetjqexiftool
  • 字典文件Seclists

📚 详细文档

配置

编辑 config.toml 以进行以下配置:

  • 工作区目录结构
  • Interactsh 设置
  • API 服务令牌(如 GitHub、Shodan、VirusTotal 等)

安全注意事项

  • 容器以安全工具所需的权限运行。
  • 网络工具需要提升的能力(NET_ADMIN、NET_RAW)。
  • 所有命令执行都在 Docker 环境中进行。
  • 在生产环境中应安全配置 API 令牌。

📄 许可证

本项目是一个独立的开源贡献,与 OffSec 或 Kali Linux 没有关联、未得到其认可或与之相关。Kali Linux 是 Offensive Security 的商标。

🔍 演示

https://github.com/user-attachments/assets/demo.mp4

观看 Kali MCP Server 的实际运行情况

⚠️ 免责声明

本工具仅用于教育和授权的安全测试目的。使用时风险自担。作者不对本软件的任何滥用或损坏负责。在进行安全评估之前,请始终确保您已获得适当的授权。

help

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client