Kali Linux交互式服务器

一个支持交互式会话的Kali Linux服务器,作为Kali Linux与支持标准MCP的LLM之间的桥梁,提供安全工具搜索、命令执行和会话管理功能。

  • by DVT-Purple
  • Python
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 DVT-Purple/mcp-kali-server

使用说明

mcp-kali服务器

支持交互式会话的快速kali-mcp服务器

描述

这款mcp-kali服务器的灵感来自最初的“mcp-kali-server”(https://www.kali.org/tools/mcp-kali-server/)但支持交互式会话。

它充当kali-linux和任何支持标准MCP的LLM之间的桥梁。

此工具的演示可在此处获得:

如何运行它

Visual Studio Code

在 .vscode/mcp.json :

{
  "servers": {
    "kali-terminal": {
      "command": "/home/kali/mcp-kali-server/venv/bin/python",
      "args": ["${workspaceFolder}/mcp_client.py"],
      "env": {},
      "disabled": false,
      "autoApprove": []
    }
  }
}

然后单击重新加载窗口并启动服务器。您应该看到以下列表出现在工具列表中:

克劳德代码

编辑Claude的配置文件:

{
  "mcpServers": {
    "kali-terminal": {
      "command": "python",
      "args": [
        "<full path to mcp_client.py>"
      ],
      "disabled": false,
      "autoApprove": []
    }
  }
}

安装依赖项:

pip install flask

然后使用命令启动服务器 python kali_server.py

可用工具

  1. search_tools(查询) -按名称或类别查找可用的安全工具

    • 类别:信息收集、漏洞分析、web应用程序、密码攻击、无线攻击、利用、嗅探欺骗、后利用、取证、逆向工程
    • 示例:search_tools(“密码攻击”)或search_tools(“nmap”)
  2. read_tool_manual(工具) -在使用任何工具之前,获取其帮助输出

    • 使用此功能了解语法、标志和选项
    • 示例:read_tool_manual(“netexec”)
  3. run_terminal命令(命令,超时) -执行快速完成的命令

    • 用于扫描、计数、一次性攻击
    • 默认超时时间:180秒。增加扫描时间。
    • 示例:run_terminal命令(“nmap-sV-p 445 192.168.10.10”,超时=300)
  4. start_interactive_session(命令) -启动长时间运行/交互式工具

    • 用于:应答器、ntlmrelayx、mitmproxy、tcpdump、警犬蟒蛇等。
    • 返回用于管理会话的session_id
  5. poll_session(会话id) -从交互式会话中获取新输出

    • 定期调用以检查结果(捕获的哈希值、中继成功等)
  6. send_session_input(session_id,input_text) -向交互式会话发送输入

    • 用于回答提示或发送命令
  7. send_session_signal(会话id,信号) -发送信号(SIGINT=Ctrl+C、SIGTERM、SIGKILL)

    • 用于优雅地停止工具或中断操作
  8. stop_session(会话id) -终止会话并获取最终输出

  9. list_sessions() -查看所有活动的后台会话

    • 如果存在端口冲突,请使用此选项,并终止相应的会话。