Kali工具API服务

通过Flask API暴露Kali工具,并通过MCP客户端连接进行管理,适用于渗透测试和安全研究。

  • by eleekhadhraoui
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 eleekhadhraoui/MCP

使用说明

如何使用kali_server和mcp_server(快速指南)

这篇简短的HOWTO演示了如何使用以下命令安装和运行两个文件 LM 工作室 通过以下方式运行MCP客户端 mcp.json 文件:

  • kali_server.py -Flask API暴露Kali工具。
  • mcp_server.py -MCP客户端连接到该API。

1.️⃣ 需求

  • Kali Linux或具有以下功能的Linux主机: nmap, gobuster, dirb, nikto, sqlmap, metasploit-framework, hydra, john, wpscan, enum4linux.
  • Python 3.8+, pip,以及两个组件之间的网络访问。
  • LM 工作室 已安装,用于通过以下方式管理和运行MCP客户端 mcp.json.

2.️⃣ 设置

python3 -m venv .venv
source .venv/bin/activate
pip install flask requests

设置环境变量:

export API_PORT=5000
export WPSCAN_API_TOKEN="your_token_here"

3.️⃣ 运行API服务器(kali_Server.py)

python kali_server.py --port 5000 --debug

检查:

curl http://localhost:5000/health

4.️⃣ 通过LM Studio运行MCP客户端(MCP_server.py)

在 LM 工作室,创建一个 mcp.json 定义MCP客户端连接的文件:

{
  "clients": [
    {
      "name": "Kali MCP Client",
      "entry_point": "mcp_server.py",
      "args": ["--server", "http://<KALI_IP>:5000"],
      "venv": ".venv"
    }
  ]
}

然后在LM Studio中,加载此配置并直接启动MCP客户端。它将连接到Kali API服务器并自动注册工具。


5.️⃣ 示例用法

curl -X POST -H 'Content-Type: application/json' \
  -d '{"command":"whoami"}' \
  http://localhost:5000/api/command

6.️⃣ 安全

  • 切勿公开服务器。
  • 添加基于令牌的身份验证和HTTPS。
  • 以非root用户身份运行或在容器内运行。

7.️⃣ 常见问题

  • 导入错误mcp.server.fastmcp → 安装或修复路径。
  • 缺少工具/健康 → 安装它们。
  • wpscan错误 → 添加令牌或安装工具。
  • LM Studio未检测到客户端 → 验证 mcp.json 语法和正确的路径。

负责任地使用——仅在授权系统上使用。