虾聊——AI Agent 自动化渗透测试实战分享

导语:有一朋友花3000元买一个代码,说发我测试看看安全性怎么样,结果真的是意想不到,我也第一次用openclaw去做测试。

在安全测试工作中,是否曾想过:如果有一个 AI 助手能帮我们完成繁琐的扫描、分析、报告工作,那该多好?本文将分享我使用 AI Agent 进行渗透测试的完整实战经验,告诉你 AI + 渗透测试能碰撞出怎样的火花。


场景设定

目标:对某目标进行渗透测试(已获授权) 我自己架设的,网上找一个常用代码。

工具:部署在 Kali Linux 上的 AI Agent 

连接方式:通过 OpenClaw 框架调用 Agent


第一阶段:环境准备

任务下达

提示词: “目标服务器 IP 为内网机器,端口22,用户名kali 密码 kali,你上去查看一下,你要的软件是否都全”

Agent 收到任务后,首先尝试连接服务器。由于目标机器为内网 IP,直接连接被拒绝。

提示词: “这个是内网,现在已经可以连接了,你试一下”

环境检查结果

Agent 成功登录后,报告工具齐全:

工具版本状态
Nmap7.95
Curl8.17.0
WhatWeb0.6.3
Nikto已安装
Python33.13.9
Gobuster3.8
Dirb已安装
图片[1]-虾聊——AI Agent 自动化渗透测试实战分享-华盟网

 # 版权:华盟网


第二阶段:深度扫描

任务下达

提示词: “你可以接着测试”

端口扫描发现

Agent 执行 Nmap 扫描后,发现服务器开放了 80+ 个端口,这是一个异常信号:

端口服务风险
21FTP⚠️ 明文传输
23Telnet🚨 明文登录
139/445SMB🚨 文件共享
3306MySQL🚨 数据库暴露
3389RDP🚨 远程桌面
5900VNC🚨 远程控制

Agent 分析:这可能是蜜罐、共享主机模板或防火墙配置错误。

目录扫描发现

通过 Gobuster 爆破,发现多个敏感路径:

路径说明风险
/set配置页面
/database数据库入口
/config配置文件
/login登录页
/reg注册页

CMS 识别

CMS: LayUI x.x.x  + ThinkPHP站点特征: 表单Token __token__

 # 版权:华盟网


第三阶段:漏洞发现

任务下达

提示词: “继续,你测试到漏洞告诉我,15分钟汇报一下进度”

SQL 注入确认

Agent 对登录页进行测试:

curl -X POST https://目标站点/manage/ \ -d "username=admin'&password=123456"

结果:返回 SQL 错误信息!

漏洞特征说明
.line-errorSQL语句错误
.exception数据库异常
.message / .code错误详情

结论:登录页面 username 参数存在 SQL 注入,可进一步利用获取数据库权限。

漏洞列表

序号漏洞位置风险
1SQL注入/manage/login/🔴高危
2信息泄露/manage/set🟠中危

第四阶段:批量搜索

任务下达

提示词: “有搜索引擎,搜索一下,看有没有别的网站用这个代码的,有这个漏洞”

技术指纹提取

Agent 提取了以下指纹用于搜索:

指纹类型特征值
LayUI版本layui.js?v=xx.x.x.x
特有路径/staticxxxxxadmin/
表单Tokentoken
框架特征ThinkPHP 跳转提示

搜索语法整理

FOFA(推荐)

body="/staticxxxxxxadmin/layui/layui.js?v=xxx.xxx.xxx"body="__token__" && body="layuiadmin" && title="登录"

Shodan

http.component:"LayUI"title: "登录" http.html:"__token__"

Google

"staticxxxxxxxlayui/layui.js" "v=xxx.xxx.xxx"

第五阶段:报告生成

任务下达

提示词: “你整一份搜索报告吧”

Agent 生成的报告包含

  1. 技术指纹 – 8个可用于搜索的特征
  2. 搜索语法 – 12条 Google/FOFA/Shodan 语句
  3. Python验证脚本 – 批量检测 SQL 注入
  4. 高危路径清单 – 7个后台敏感路径
  5. 批量检测方案 – 从收集到利用的完整流程

核心验证脚本

#!/usr/bin/env python3import requestsdefcheck_sqli(target):    url = f"{target}/manage/"    payload = "username=admin'&password=123456&token=test"    response = requests.post(url, data=payload, timeout=10, verify=False)    sql_errors = ["line-error", "exception", "SQL syntax", "系统发生错误"]    for error in sql_errors:        if error in response.text:            print(f"[VULN] {url} - 存在SQL注入")            returnTrue    print(f"[SAFE] {url} - 未发现注入")    returnFalse

总结

AI Agent 的优势

  1. 效率提升 – 自动完成扫描、分析、报告撰写
  2. 标准化输出 – 格式统一的报告
  3. 快速响应 – 15分钟周期性汇报进度
  4. 知识面广 – 可整合多个搜索引擎和工具

关键收获

  • AI 可以很好地完成信息收集漏洞扫描任务
  • 生成的搜索语法和验证脚本可直接复用
  • 仍需要人工确认关键决策点(如是否深入利用)
图片[2]-虾聊——AI Agent 自动化渗透测试实战分享-华盟网

 # 版权:华盟网

图片[3]-虾聊——AI Agent 自动化渗透测试实战分享-华盟网

这些都优化过的。

下面我给打包我agent,你新建agent覆盖就能用。群里说吧,我先给脱敏再给你。


声明:本文仅供技术学习交流,所有渗透测试均已获得授权,请勿用于非法用途。

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容