📘 mcp-kali-server
← 返回首页

MCP Kali 服务器

Kali MCP 服务器 是一个轻量级的 API 桥接器,它将 MCP 客户端(例如:Claude Desktop、5ire)连接到 API 服务器,从而允许在 Linux 终端上执行命令。

这使得 MCP 能够运行诸如 nmapnxc 等终端命令或任何其他工具,使用 curlwgetgobuster 等工具与 Web 应用程序交互。 并执行 AI 辅助的渗透测试,实时解决 CTF Web 挑战,帮助 解决来自 HTB 或 THM 的机器

关于此工具的中等文章

MCP 如何革新攻防安全

👉 MCP 如何革新攻防安全


🔍 用例

目标是实现 AI 驱动的攻防安全测试,通过:

  • 让 MCP 与 AI 端点(如 OpenAI、Claude、DeepSeek 或任何其他模型)交互。
  • 暴露一个 API 以在 Kali 机器上执行命令。
  • 使用 AI 建议并运行终端命令来解决 CTF 挑战或自动化侦察/利用任务。
  • 允许 MCP 应用程序发送自定义请求(例如 curlnmapffuf 等)并接收结构化输出。

以下是我测试的一些示例(我使用了谷歌的 AI gemini 2.0 flash

示例:解决我在 RamadanCTF 中的 Web CTF 挑战

https://github.com/user-attachments/assets/dc93b71d-9a4a-4ad5-8079-2c26c04e5397

尝试解决 HTB 中的机器 "code"

https://github.com/user-attachments/assets/3ec06ff8-0bdf-4ad5-be71-2ec490b7ee27


🚀 特性

  • 🧠 AI 端点集成:将您的 Kali 连接到您喜欢的任何 MCP,例如 Claude Desktop 或 5ire。
  • 🖥️ 命令执行 API:暴露一个受控的 API,用于在您的 Kali Linux 机器上执行终端命令。
  • 🕸️ Web 挑战支持:AI 可以与网站和 API 交互,通过 curl 和 AI 所需的任何其他工具捕获标志。
  • 🔐 专为攻防安全专业人士设计:非常适合红队成员、漏洞赏金猎人或 CTF 玩家自动化常见任务。

🛠️ 安装与运行

在您的 Kali 机器上

git clone https://github.com/Wh0am123/MCP-Kali-Server.git
cd MCP-Kali-Server
pip install -r requirements.txt
python3 kali_server.py

命令行选项: - --ip <address>:指定服务器绑定的 IP 地址(默认:127.0.0.1,仅限本地主机) - 使用 127.0.0.1 仅允许本地连接(安全,推荐) - 使用 0.0.0.0 允许来自任何网络接口的连接(非常危险;请谨慎使用) - 使用特定的 IP 地址绑定到特定的网络接口 - --port <port>:指定端口号(默认:5000) - --debug:启用调试模式以获取详细日志

示例:

# 仅在本地主机上运行(安全,默认)
python3 kali_server.py

# 在所有接口上运行(安全性较低,适用于远程访问)
python3 kali_server.py --ip 0.0.0.0

# 在特定 IP 和自定义端口上运行
python3 kali_server.py --ip 192.168.1.100 --port 8080

# 在调试模式下运行
python3 kali_server.py --debug

在您的 MCP 客户端机器上(可以是本地或远程)

git clone https://github.com/Wh0am123/MCP-Kali-Server.git
cd MCP-Kali-Server
pip install -r requirements.txt

如果您在同一台机器上运行客户端和服务器:

./mcp_server.py --server http://127.0.0.1:5000

如果是不同的机器,请创建一个到您的 Kali MCP 服务器的 SSH 隧道,然后启动客户端:

ssh -L 5000:localhost:5000 user@KALI_IP
./mcp_server.py --server http://127.0.0.1:5000

注意:如果您在网络上公开托管 Kali MCP 服务器(kali_server --IP...),则不需要 SSH 隧道 ⚠️(强烈不推荐)⚠️。

./mcp_server.py --server http://LINUX_IP:5000

为 Claude Desktop 配置:

编辑 (C:\Users\USERNAME\AppData\Roaming\Claude\claude_desktop_config.json)

{
    "mcpServers": {
        "kali_mcp": {
            "command": "python3",
            "args": [
                "/absolute/path/to/mcp_server.py",
                "--server",
                "http://LINUX_IP:5000/"
            ]
        }
    }
}

5ire 桌面应用程序配置:

  • 只需添加一个 MCP,命令为 python3 /absolute/path/to/mcp_server.py http://LINUX_IP:5000,它将自动生成所需的配置文件。

🔮 其他可能性

由于 AI 模型现在可以在终端上执行命令,因此存在比所述更多的可能性。以下是一些示例:

  • 使用 Volatility 进行内存取证

    • 自动化内存分析任务,例如进程枚举、DLL 注入检查以及从内存转储中提取注册表。
  • 使用 SleuthKit 进行磁盘取证

    • 自动化分析磁盘映像、生成时间线、文件恢复和哈希比较。

⚠️ 免责声明:

本项目仅用于教育和符合道德规范的测试目的。严禁滥用所提供的任何信息或工具——包括未经授权的访问、利用或恶意活动。 作者对滥用行为不承担任何责任。