项目简介
Kali AI Pentest MCP 工具集是一个基于 Model Context Protocol (MCP) 构建的后端服务,旨在将 Kali Linux 中丰富的渗透测试工具能力标准化,并通过 MCP 协议暴露给支持 MCP 的 AI 客户端。用户无需记忆复杂的命令行参数,只需通过自然语言向 AI 发出指令,即可驱动后端工具执行 SQL 注入检测、端口扫描、子域名发现等任务。
主要功能点
本项目通过集成多种安全工具,提供了以下核心功能:
- 自动化安全测试: 支持 AI 通过自然语言指令调用各类渗透测试工具,实现测试流程自动化。
- 工具能力整合: 将 sqlmap, Nmap, subfinder, Nikto, Metasploit, Aircrack-ng, tshark, John the Ripper, OpenVAS, Gobuster, wget/curl, SSH, tcpdump, theHarvester, Searchsploit 等工具的功能封装。
- 安全命令执行: 提供受控的系统命令执行能力,同时限制了关机、重启、全盘删除等危险操作。
- 标准化接口: 遵循 MCP 协议,为 AI 客户端提供统一的数据访问和工具调用接口。
安装步骤
根据仓库信息,该项目需要在 Kali Linux 环境中部署。
- 将仓库内容克隆或下载到本地目录,例如 '/home/kali/Desktop/kali_mcp'。
- 确保你的 Kali Linux 系统中已安装 README 中提到的各种渗透测试工具(如 sqlmap, Nmap, subfinder 等)。
- 仓库中应包含编译好的 MCP 服务器可执行文件,例如 'SubdomainMCP' 和 'kali_mcp_server'。请根据实际情况将这些文件放置在易于访问的位置。
- 具体的编译或安装脚本仓库未详细提供,用户可能需要根据代码类型(如 Go, Python 等)自行编译或执行安装脚本。
服务器配置
要使用此 MCP 服务器,你的 MCP 客户端需要配置连接信息。以下是根据仓库 README 提供的配置示例,展示了客户端如何启动或连接到这些 MCP 服务:
{ "mcpServers": { // SubdomainMCP 服务配置 "serverId1": { // 为此服务器分配一个唯一的ID "name": "subfinderMCP", // 服务器名称 "type": "stdio", // 传输类型,使用标准输入输出 "description": "用于发现目标域名子域名的 MCP 服务。", // 服务器描述 "isActive": true, // 是否启用此服务器 "timeout": "240", // 命令执行超时时间(秒) "command": "/path/to/your/kali_mcp/SubdomainMCP", // <-- **替换为 SubdomainMCP 可执行文件的实际路径** "args": [] // 启动 SubdomainMCP 时的额外命令行参数 }, // 主 Kali MCP 服务配置 "serverId2": { // 为此服务器分配一个唯一的ID "name": "kali mcp", // 服务器名称 "type": "stdio", // 传输类型,使用标准输入输出 "description": "提供多种 Kali 渗透测试工具能力的 MCP 服务。", // 服务器描述 "isActive": true, // 是否启用此服务器 "timeout": "240", // 命令执行超时时间(秒) "command": "/path/to/your/kali_mcp/kali_mcp_server", // <-- **替换为 kali_mcp_server 可执行文件的实际路径** "args": [] // 启动主 MCP 服务时的额外命令行参数 } // 客户端可以配置更多 MCP 服务器 } }
请将上述 JSON 配置中的 '"command"' 字段值替换为你系统中 'SubdomainMCP' 和 'kali_mcp_server' 可执行文件的实际绝对路径。此配置通常保存在 MCP 客户端的配置文件中。
基本使用方法
一旦 MCP 客户端成功配置并连接到 Kali AI Pentest MCP 服务器,用户就可以通过 AI 客户端的自然语言交互界面来驱动渗透测试。例如:
- 发送指令:"扫描 192.168.1.100 的开放端口"
- 发送指令:"使用 sqlmap 检测网站 http://example.com/vulnerable?id=5 的 SQL 注入漏洞"
- 发送指令:"获取 kali.org 的子域名"
AI 客户端会解析用户的自然语言,并将其转换为相应的 MCP 请求(例如,调用特定的 Tool),发送给 Kali AI Pentest MCP 服务器。服务器执行任务后,将结果通过 MCP 响应返回给客户端,客户端再将结果呈现给用户。
信息
分类
AI与计算