README
🚀 Zebbern Kali MCP 服务器
这是一个全面的 模型上下文协议(MCP) 服务器,专为 Kali Linux 渗透测试而设计。该项目允许 AI 助手(如 GitHub Copilot)通过标准化 API 直接在 Kali Linux 系统上执行安全工具。
✨ 主要特性
- 139 个 MCP 工具功能 - 完整的渗透测试工具包
- 22 个外部工具 - Nmap、SQLMap、Hydra、Metasploit、Nuclei 等
- API 安全测试 - GraphQL 自省、JWT 分析、FFUF、Arjun
- 活动目录工具 - BloodHound、Kerberoasting、Pass-the-Hash、LDAP 枚举
- 网络代理 - Chisel、SSH 隧道、Ligolo-ng、ProxyChains
- SSH 审计 - 全面的 SSH 服务器安全分析
- 证据收集 - 屏幕截图、笔记和发现管理
- 会话管理 - Metasploit 会话、反向 shell、SSH 连接
📚 详细文档
完整的文档可在 docs/ 文件夹中找到:
- 安装指南 - 所有安装方法
- 架构 - 系统设计和组件
- 工具参考 - 记录了所有 139 个 MCP 工具
- API 参考 - REST API 端点
- 工作流程 - 实际渗透测试示例
- 安全 - 加固建议
- 故障排除 - 常见问题
要在本地查看文档:
pip install mkdocs mkdocs-material
mkdocs serve
🚀 快速开始
前提条件
- Kali Linux 虚拟机(或任何安装了渗透测试工具的基于 Debian 的系统)
- 安装了 GitHub Copilot 的 VS Code(或任何兼容 MCP 的客户端)
- 你的机器和 Kali 虚拟机之间具有 网络访问权限
步骤 1:安装服务器(在 Kali Linux 上)
# 克隆仓库
git clone https://github.com/zebbern/zebbern-mcp.git
cd zebbern-mcp
# 运行安装脚本(需要 root 权限)
sudo ./install.sh
# 或者使用 Python 安装脚本
sudo python3 install.py --server
这将安装:
- Flask API 服务器,位于
/opt/zebbern-kali - Systemd 服务
kali-mcp(开机自动启动) - 所有渗透测试工具(nmap、sqlmap、nuclei 等)
步骤 2:配置 VS Code(在你的机器上)
将以下内容添加到你的 VS Code MCP 配置文件中(Windows 上为 %APPDATA%\Code\User\mcp.json):
{
"servers": {
"zebbern-kali": {
"type": "stdio",
"command": "python",
"args": [
"C:/path/to/zebbern-mcp/mcp_server.py",
"--server", "http://YOUR_KALI_IP:5000"
]
}
}
}
替换:
C:/path/to/zebbern-mcp/为克隆仓库的实际路径YOUR_KALI_IP为你的 Kali 虚拟机的 IP 地址(例如192.168.44.131)
步骤 3:验证连接
重启 VS Code 并向 Copilot 提问:
"使用 Kali 工具检查 nmap 是否可用" 如果配置正确,Copilot 将在你的 Kali 虚拟机上执行健康检查。
替代方法:一键远程安装
通过 SSH 从你的 Windows/Mac 机器上安装所有内容:
python install.py --remote --host 192.168.1.100 --user kali --password kali
📦 安装指南
脚本安装选项
sudo ./install.sh [选项]
选项:
--no-tools 跳过安装渗透测试工具(仅安装服务器)
--no-service 跳过 systemd 服务设置
--dev 在当前目录安装(开发模式)
--help 显示帮助信息
Python 脚本选项
python install.py [选项]
选项:
--server 在 Kali Linux 上安装服务器组件
--client 安装客户端组件(Windows/Mac/Linux)
--tools 仅安装渗透测试工具
--no-service 跳过 systemd 服务设置
--no-tools 跳过渗透测试工具安装
--dev 开发模式
--remote 通过 SSH 在远程服务器上安装
--host HOST SSH 安装的远程主机
--user USER SSH 用户名(默认:kali)
--password PW SSH 密码
--key FILE SSH 私钥文件
🔧 技术细节
┌─────────────────┐ HTTP/REST ┌─────────────────┐
│ VS Code │ ◄──────────────────► │ Kali Linux │
│ + Copilot │ │ API Server │
│ │ │ (Flask) │
│ MCP Client │ │ │
│ (Python) │ │ Pentest Tools │
└─────────────────┘ └─────────────────┘
💻 使用示例
服务管理
# 启动服务
sudo systemctl start kali-mcp
# 停止服务
sudo systemctl stop kali-mcp
# 重启服务
sudo systemctl restart kali-mcp
# 查看日志
sudo journalctl -u kali-mcp -f
# 检查状态
sudo systemctl status kali-mcp
API 端点
# 健康检查
curl http://<kali-ip>:5000/health
# 运行 nmap 扫描
curl -X POST http://<kali-ip>:5000/api/tools/nmap \
-H "Content-Type: application/json" \
-d '{"target": "192.168.1.1", "scan_type": "-sV"}'
# SSH 审计
curl -X POST http://<kali-ip>:5000/api/tools/ssh-audit \
-H "Content-Type: application/json" \
-d '{"target": "192.168.1.1", "port": 22}'
已安装工具
侦察工具
- Nmap、Masscan
- theHarvester、Recon-ng
- Subfinder、Assetfinder
- DNSenum、Fierce
Web 应用程序工具
- Nikto、Dirb、Gobuster
- SQLMap、WPScan
- FFUF、Nuclei
- OWASP ZAP
API 测试工具
- Arjun(参数发现)
- Kiterunner(API 端点发现)
- Newman(Postman 集合运行器)
- GraphQL 自省
密码破解工具
- John the Ripper
- Hashcat
- Hydra
- Medusa、Ncrack
漏洞利用工具
- Metasploit Framework
- Impacket 套件
- SET(社会工程学工具包)
活动目录工具
- BloodHound
- CrackMapExec
- Responder
- LDAP 实用工具
网络工具
- Chisel、Ligolo-ng
- SSH 隧道
- Socat
- Wireshark、tcpdump
安全审计工具
- ssh-audit
- SSLyze
- wafw00f
VS Code 配置
安装完成后,MCP 配置将添加到你的 VS Code 设置中:
位置:%APPDATA%\Code\User\mcp.json(Windows)或 ~/.config/Code/User/mcp.json(Linux)
{
"servers": {
"zebbern-kali": {
"type": "stdio",
"command": "path/to/venv/python",
"args": ["path/to/mcp_server.py"]
}
}
}
配置
编辑 mcp_server.py 以配置 Kali 服务器连接:
DEFAULT_KALI_SERVER = "http://192.168.44.131:5000" # 你的 Kali IP
DEFAULT_REQUEST_TIMEOUT = 300 # 超时时间(秒)
⚠️ 安全警告
⚠️ 重要提示
此服务器提供对强大渗透测试工具的无限制访问。
- 仅在隔离网络或授权测试环境中运行
- 切勿暴露在公共互联网上
- 如果可以远程访问,请使用强身份验证
- 在测试任何系统之前,请确保你有适当的授权
🔧 故障排除
服务无法启动
# 查看日志
sudo journalctl -u kali-mcp -n 50
# 检查端口是否被占用
sudo netstat -tlnp | grep 5000
# 验证 Python 环境
/opt/zebbern-kali/venv/bin/python --version
工具未找到
# 重新运行工具安装脚本
sudo ./install.sh --no-service
# 或者手动安装特定工具
sudo apt install nmap nikto sqlmap
连接被拒绝
# 检查防火墙
sudo ufw status
# 允许端口
sudo ufw allow 5000/tcp
欢迎贡献代码!请阅读 docs/contributing.md 了解贡献指南。
基于 模型上下文协议 构建。
微信扫一扫