在网络安全领域,Kali Linux 是一款备受推崇的工具,而MCP(Make Code Perfect)则是一款功能强大的代码辅助工具。最近,国外有大神实现了用MCP调用Kali的方法,并开源了相关代码。这篇文章将详细介绍这一实现思路,并手把手教你如何操作。


一、实现思路

整体来看,这个方案通过两个Python文件实现了MCP与Kali的通信:

  1. kali_server.py:运行在Kali系统上,将Kali的功能封装成API,并监听5000端口。
  2. mcp_server.py:运行在本地,作为MCP的插件,与Cursor(MCP的核心工具)对接。

通过这两个脚本,Cursor可以根据用户的指令调用MCP_server的功能,再通过Kali_server对Kali进行操作,完成任务。


二、环境搭建

在开始之前,请确保以下环境已经准备好:

  1. Kali Linux:安装并配置好Kali系统。
  2. Python:确保Kali和本地环境都安装了Python 3.x。
  3. MCP:安装并配置好MCP工具。
  4. 网络连接:确保Kali和本地设备在同一网络中,或者可以通过互联网通信。

三、功能实现

1. kali_server.py 的作用

kali_server.py 是一个简单的API服务器,运行在Kali上。它通过Flask框架监听5000端口,接收来自本地的请求,并执行相应的Kali工具。

核心功能:

  • 封装Kali工具为API接口。
  • 支持几乎所有的Kali工具调用。
  • 提供RESTful API供本地脚本调用。
2. mcp_server.py 的作用

mcp_server.py 是MCP的插件,运行在本地。它通过调用kali_server.py提供的API,实现对Kali的远程控制。

核心功能:

  • 与Cursor对接,接收用户的指令。
  • 将指令转换为API请求,发送给Kali_server。
  • 返回Kali工具的执行结果。
3. Cursor的配置

为了实现MCP调用Kali,需要在Cursor中进行以下配置:

{
  "mcpkali": {
    "command": "cmd",
    "args": [
      "/c",
      "python",
      "D:\\XXX\\mcp_server.py",
      "--server",
      "http://IP:5000"
    ]
  }
}

配置说明:

  • command:指定命令类型,这里是cmd。
  • args:指定参数,包括Python脚本路径和Kali_server的地址。
  • http://IP:5000:替换为Kali_server的实际IP地址和端口。

四、使用案例

假设你想用MCP调用Kali的nmap工具进行端口扫描,具体步骤如下:

  1. 启动kali_server.py
    在Kali终端中运行:

    python3 kali_server.py
    
  2. 启动mcp_server.py
    在本地终端中运行:

    python3 mcp_server.py --server http://Kali_IP:5000
    
  3. 在Cursor中输入指令

    mcpkali nmap -sV 192.168.1.1
    
  4. 查看结果
    扫描结果会直接显示在Cursor终端中。


五、总结与展望

通过MCP调用Kali,可以将复杂的Kali操作封装成简单的指令,极大提升了工作效率。这种方法不仅适用于网络安全测试,还可以扩展到其他领域。

Logo

火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。

更多推荐