基于 Kali Linux 的 MCP(模型上下文协议)服务器项目,提供渗透测试和安全评估工具接口给AI助手。
该项目由两个主要组件组成:
AI助手 (MCP客户端) ←→ mcp_server.py ←→ kali_server.py ←→ Kali Linux工具
克隆项目
git clone <repository-url>
cd kali-mcp-server
安装依赖
pip install -r requirements.txt
配置 Kali 服务器
kali_server.py 配置(如 API 端口)启动 Kali API 服务器
python kali_server.py
服务器将在默认端口 5000 启动
配置 MCP 客户端
mcp.json 中的服务器地址启动 MCP 服务器
python mcp_server.py --server http://your-kali-ip:5000/
Kali Linux API 服务器提供以下功能:
主要功能:
API 端点:
POST /api/command -执行任意命令POST /api/tools/nmap -Nmap 网络扫描POST /api/tools/gobuster -Gobuster 目录扫描POST /api/tools/dirb -Dirb 网页内容扫描POST /api/tools/nikto -Nikto 网站服务器扫描POST /api/tools/sqlmap -SQLMap SQL 注入检测POST /api/tools/metasploit -Metasploit 模块执行POST /api/tools/hydra -Hydra 密码破解POST /api/tools/john -John the Ripper 密码破解POST /api/tools/wpscan -WPScan WordPress 扫描POST /api/tools/enum4linux -Enum 4Linux 枚举MCP 协议服务器提供以下实用功能:
渗透测试工具:
nmap_scan() -网络端口和服务发现gobuster_scan() -Web 目录和文件发现dirb_scan() -Web 内容扫描nikto_scan() -Web 服务器漏洞扫描sqlmap_scan() -SQL 注入检测metasploit_run() -Metasploit 模块执行hydra_attack() -密码暴力破解john_crack() -密码哈希破解wpscan_analyze() -WordPress 安全扫描enum4linux_scan() -Windows/Samba 枚举信息收集工具:
masscan_scan() -快速端口扫描zmap_scan() -互联网广泛扫描unicornscan_scan() -异步网络扫描MCP 客户端配置文件:
{
"mcpServers": {
"kali_mcp": {
"timeout": 180,
"type": "stdio",
"command": "python路径",
"args": [
"mcp_server.py路径",
"--server",
"Kali服务器地址"
]
}
}
}
nmap_scan(
target="192.168.1.1",
scan_type="-sV",
ports="80,443,22",
additional_args="-T4"
)
masscan_scan(
target="1.1.1.1/24",
ports="1-1000",
rate="1000"
)
gobuster_scan(
url="http://目标.com",
mode="dir",
wordlist="/usr/share/wordlists/dirb/common.txt"
)
sqlmap_scan(
url="http://目标.com/login.php",
data="username=admin&password=test",
additional_args="--level=3 --risk=2"
)
hydra_attack(
target="192.168.1.1",
service="ssh",
username="admin",
password="password123"
)
john_crack(
hash_file="/path/to/hashes.txt",
wordlist="/usr/share/wordlists/rockyou.txt"
)
所有工具均已集成到 MCP 服务器,并可通过相应的 API 端点调用。
在 kali_server.py 中可配置:
API_PORT -API 服务端口(默认:5000)DEBUG_MODE -调试模式开关COMMAND_TIMEOUT -命令执行超时(秒)在 mcp_server.py 中可配置:
DEFAULT_KALI_SERVER -默认 Kali 服务器地址DEFAULT_REQUEST_TIMEOUT -API 请求超时⚠️ 重要安全警告
连接失败
工具未找到
权限错误
所有操作日志可以在控制台查看或通过配置日志文件进行记录。
kali_server.py 中添加新的 API 端点mcp_server.py 中注册相应的 MCP 工具函数支持通过环境变量和配置文件进行自定义配置。
本项目发布在开源许可证下。请参阅 LICENSE 文件以获取具体的许可证信息。
欢迎提交 Issue 和 Pull Requests 来改进这个项目。
免责声明此工具仅供安全研究和授权测试用途,用户应对其行为承担全部法律责任。