用MCP协议调用Kali工具

MCP是由Anthropic推出的开放协议,它就像AI世界的"USB-C接口",标准化了AI模型与外部工具的连接方式。通过MCP,AI可以:

- 直接调用Kali中的Nmap、Metasploit等工具

- 读取扫描结果并生成分析报告

- 根据测试结果动态调整渗透策略

- 自动化执行复杂的安全测试流程

传统方式需要手动输入命令并解析结果,而MCP让这一切可以通过自然语言指令完成。例如,你只需告诉AI:"扫描172.10.10.0/24网段,找出开放22端口的Linux主机",AI就会自动调用Nmap执行扫描并返回结构化结果。

搭建环境
硬件准备
• 攻击机:Kali Linux虚拟机(推荐2025.1版)

• 控制端:Windows/Mac电脑(需安装Python3.9+Node.js

Cursor

代码:https://github.com/SunZhimin2021/AIPentest/tree/main/mcpforpentest

一、Kali端配置

1.下载Python 3.7源码包‌:‌

使用wget命令从Python官方网站下载Python 3.7的源码包。‌‌

2.解压源码包‌:‌

使用tar命令解压下载的源码包:‌

3.‌安装依赖包‌:‌

在编译Python之前,‌需要安装一些依赖包,使用apt-get命令来安装这些依赖:‌

4.编译安装Python 3.7‌:‌

进入解压后的Python源码目录,‌执行配置脚本,‌然后进行编译和安装。‌可以指定一个安装前缀来安装Python 3.7到自定义目录:‌

5.更新系统(可选但推荐):
首先确保Kali系统是最新的,这样可以避免一些潜在的依赖库问题。

6.创建并激活虚拟环境

这里在项目目录内创建一个名为 venv 的文件夹来存放虚拟环境。

激活虚拟环境

7.在虚拟环境中安装依赖

现在可以使用pip安装Flask和requests了,它们只会被安装到当前的虚拟环境中。

8.创建并编辑文件
nano文本编译器编译kali_server.py。

9.启动服务(关键参数说明)

在Kali上运行kali_server.py,将Kali的功能封装成API,并启动5000端口监听

二、本地端配置

1.本地中安装Node.js(MCP服务器通常基于Node.js运行)

2.在mcp_server.py,在本地运行,可以直接与cursor对接

3.在cursor中配置MCP

  • 运行测试
  1. 在Cursor输入:
    “扫描172.20.10.2的开放端口,识别Web服务版本”

结果

  1. 在Cursor输入:
    “你现在要做一个渗透测试,请调用kali的sqlmap来测试@https://sqli-labs.bachang.org/Less-40/ 这个URL有没有注入漏洞”

结果

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐