README
🚀 Kali_Linux_MCP
Kali_Linux_MCP 是一款用于安全测试的工具,它通过特定的服务器脚本将 Kali Linux 中的安全工具以 API 的形式暴露出来,支持通过 MCP 客户端进行调用,可用于授权实验、CTF 竞赛、HTB/THM 机器测试等场景。
🚀 快速开始
项目概述
Kali_Linux_MCP 通过以下方式暴露 Kali 工具:
- Kali_Linux_Server.py:使用 Flask API 封装了如
nmap、gobuster、nikto、sqlmap、metasploit、hydra、john、wpscan、enum4linux等工具。 - MCP_Server.py:使用 FastMCP 的 MCP 桥接器,将 MCP 客户端的请求转发到 API。
本项目可用于授权实验室、CTF 竞赛、HTB/THM 机器,或通过 MCP 客户端(如 Claude Desktop、5ire 等)进行 AI 辅助测试。
环境要求
- 需使用 Kali Linux 系统(或安装了相关工具并将其添加到环境变量的 Linux 系统)。
- 安装 Python 3 并安装
flask、requests、mcp库。 安装命令如下:
pip install flask requests mcp
运行步骤
- 启动 API:
python3 Kali_Linux_Server.py --port 5000
- 健康检查:
curl http://localhost:5000/health
- 启动 MCP 桥接器:
python3 MCP_Server.py --server http://localhost:5000 --timeout 300
📦 安装指南
本项目的安装主要是安装所需的 Python 库,具体命令如下:
pip install flask requests mcp
💻 使用示例
基础用法
Nmap 扫描
curl -X POST http://localhost:5000/api/tools/nmap -H "Content-Type: application/json" -d '{"target":"scanme.nmap.org","additional_args":"-sV"}'
WPScan 扫描
curl -X POST http://localhost:5000/api/tools/wpscan -H "Content-Type: application/json" -d '{"url":"https://example.com","additional_args":"--enumerate u"}'
MCP 客户端配置
添加 MCP 配置,指向:
python3 /path/to/MCP_Server.py --server http://LINUX_IP:5000
📚 详细文档
API 端点
- GET
/health:用于检查工具状态。 - POST
/api/command:用于运行任意命令。 - POST
/api/tools/<tool>:封装了nmap、gobuster、dirb、nikto、sqlmap、metasploit、hydra、john、wpscan、enum4linux等工具的调用接口。
每个请求都需要包含一个 JSON 格式的请求体,其中包含工具特定的参数(如 target、url 等)。
MCP 工具
桥接器注册了以下 MCP 工具:nmap_scan、gobuster_scan、dirb_scan、nikto_scan、sqlmap_scan、metasploit_run、hydra_attack、john_crack、wpscan_analyze、enum4linux_scan,以及 execute_command 和 check_health。
使用场景
- 信息收集:使用
nmap_scan映射目标服务。 - Web 枚举:使用
gobuster_scan或dirb_scan。 - 漏洞排查:使用
nikto_scan、sqlmap_scan。 - WordPress 检查:使用
wpscan_analyze。 - SMB 信息收集:使用
enum4linux_scan。 - 凭证测试(仅适用于实验室环境):使用
hydra_attack。 - 漏洞利用检查:使用
metasploit_run。
🔧 技术细节
本项目主要由两个 Python 脚本组成:
- Kali_Linux_Server.py:基于 Flask 框架构建了一个 API 服务器,将 Kali Linux 中的安全工具封装成 API 接口,方便外部调用。
- MCP_Server.py:使用 FastMCP 作为桥接器,将 MCP 客户端的请求转发到 API 服务器,实现了 MCP 客户端与 API 服务器之间的通信。
📄 注意事项
- 本项目支持 AI 辅助工作流,模型可以建议并运行命令。
- 可与 Claude Desktop、5ire 等 MCP 客户端配合使用。
- 项目具有可扩展性,未来可以集成其他取证工具(如 Volatility、SleuthKit)。
Scan to join WeChat group