MCP Kali 服务器
Kali MCP 服务器 是一个轻量级的 API 桥接器,它将 MCP 客户端(例如:Claude Desktop、5ire)连接到 API 服务器,从而允许在 Linux 终端上执行命令。
这使得 MCP 能够运行诸如 nmap、nxc 等终端命令或任何其他工具,使用 curl、wget、gobuster 等工具与 Web 应用程序交互。
并执行 AI 辅助的渗透测试,实时解决 CTF Web 挑战,帮助 解决来自 HTB 或 THM 的机器。
关于此工具的中等文章
🔍 用例
目标是实现 AI 驱动的攻防安全测试,通过:
- 让 MCP 与 AI 端点(如 OpenAI、Claude、DeepSeek 或任何其他模型)交互。
- 暴露一个 API 以在 Kali 机器上执行命令。
- 使用 AI 建议并运行终端命令来解决 CTF 挑战或自动化侦察/利用任务。
- 允许 MCP 应用程序发送自定义请求(例如
curl、nmap、ffuf等)并接收结构化输出。
以下是我测试的一些示例(我使用了谷歌的 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 进行磁盘取证
- 自动化分析磁盘映像、生成时间线、文件恢复和哈希比较。
⚠️ 免责声明:
本项目仅用于教育和符合道德规范的测试目的。严禁滥用所提供的任何信息或工具——包括未经授权的访问、利用或恶意活动。 作者对滥用行为不承担任何责任。
