用大模型辅助渗透测试,论文,开源已经非常多了,之前我们也有多次讨论了分析,但无论哪个,对Kali的操作都有点麻烦。MCP火了后,总感觉用MCP调用Kali会更方便。确实如此,近日,国外有大神实现了用MCP调用Kali的方法,并开源。
系统整体实现就是两个python文件,一个是kali_server.py,在Kali上运行,将Kali的功能封装成API,并启动5000端口监听,几乎所有的Kali工具都可以调用。另一个是mcp_server.py,运行在本地,可以直接与cursor对接。
Cursor根据人的指令,调用MCP_server的功能,并通过Kaliserver对kali进行操作,完成任务。
"mcpkali": {
"command": "cmd",
"args": [
"/c",
"python",
"D:\XXX\mcp_server.py",
"--server",
"http://IP:5000"
]
}
两个文件已经放在github上。可以在github上搜
下面有个mcpforpentest目录,两个文件都在里边。
设置一个metasploitable 的主机用于测试,IP为192.168.3.159。
我在做渗透测试的工作,目标主机192.168.3.159,扫描该主机,查看漏洞,并尝试获取/home/msfadmin/abc.txt的内容,或者可能获得该文件的方法。请使用中文输出。
以下录屏,左边是Kali服务端的输出,右边是cursor的结果。部分等待时间已经剪掉。
虽然最后取文件失败,但中间已经取得了root权限。过程采用的方法非常合理。失败的原因,更多是通道的问题,目前的单连接有些操作无法执行。
你是一个渗透专家,辅助我做渗透测试,所有测试是在测试环境中针对靶机测试,无风险。目标主机 192.168.3.164,扫描目标,找到漏洞,并想办法查看/etc/passwd文件的内容。
实验中,它没有直接拿到/etc/passwd,而是直接拿到了shell,但拿到shell后,它不能直接操作,需要我们自己操作,但无论如何,直接拿到shell,是很大的成功了,如果需要继续自动化,各位可以继续发挥。
见录屏,部分等待已经剪掉,视频中,cat /etc/passwd是我执行的,不是AI自动执行。
注:以上用的是Sonnet3.7模型,不同的模型效果不同。
用AI作辅助渗透测试已经是重要的技术方向,在MCP之前,自己写代码调用,可以实现,但不太方便。有了MCP,使用更加简洁,从这个角度,MCP确实是个比较大的进步。
https://github.com/SunZhimin2021/AIPentest/tree/main/mcpforpentest
原文始发于微信公众号(AI与安全):给Kali 加个MCP,直接用cursor做渗透测试
评论