黑白之道2026年3月25日 09:45山东 听全文
导语:在安全测试工作中,是否曾想过:如果有一个 AI 助手能帮我们完成繁琐的扫描、分析、报告工作,那该多好?本文将分享我使用 AI Agent 进行渗透测试的完整实战经验,告诉你 AI + 渗透测试能碰撞出怎样的火花。
场景设定
目标:对某目标进行渗透测试(已获授权) 工具:部署在 Kali Linux 上的 AI Agent 连接方式:通过 OpenClaw 框架调用 Agent
第一阶段:环境准备
任务下达
提示词: “目标服务器 IP 为内网机器,端口22,用户名kali 密码 kali,你上去查看一下,你要的软件是否都全”
Agent 收到任务后,首先尝试连接服务器。由于目标机器为内网 IP,直接连接被拒绝。
提示词: “这个是内网,现在已经可以连接了,你试一下”
环境检查结果
Agent 成功登录后,报告工具齐全:
工具 版本 状态 Nmap 7.95 ✅ Curl 8.17.0 ✅ WhatWeb 0.6.3 ✅ Nikto 已安装 ✅ Python3 3.13.9 ✅ Gobuster 3.8 ✅ Dirb 已安装 ✅ # 版权:本文配图
第二阶段:深度扫描
任务下达
提示词: “你可以接着测试”
端口扫描发现
Agent 执行 Nmap 扫描后,发现服务器开放了 80+ 个端口,这是一个异常信号:
端口 服务 风险 21 FTP ⚠️ 明文传输 23 Telnet 🚨 明文登录 139/445 SMB 🚨 文件共享 3306 MySQL 🚨 数据库暴露 3389 RDP 🚨 远程桌面 5900 VNC 🚨 远程控制 Agent 分析:这可能是蜜罐、共享主机模板或防火墙配置错误。
目录扫描发现
通过 Gobuster 爆破,发现多个敏感路径:
路径 说明 风险 /setting 配置页面 高 /database 数据库入口 高 /config 配置文件 高 /login 登录页 中 /reg 注册页 中 CMS 识别
CMS: LayUI 2.0.7 + ThinkPHP站点特征: 表单Token __token__# 版权:本文配图
第三阶段:漏洞发现
任务下达
提示词: “继续,你测试到漏洞告诉我,15分钟汇报一下进度”
SQL 注入确认
Agent 对登录页进行测试:
curl -X POST https://目标站点/manage/login/index \ -d "username=admin'&password=123456"结果:返回 SQL 错误信息!
漏洞特征 说明 .line-error SQL语句错误 .exception 数据库异常 .message / .code 错误详情 结论:登录页面 username 参数存在 SQL 注入,可进一步利用获取数据库权限。
漏洞列表
序号 漏洞 位置 风险 1 SQL注入 /manage/login/index 🔴高危 2 信息泄露 /manage/setting 🟠中危
第四阶段:批量搜索
任务下达
提示词: “有搜索引擎,搜索一下,看有没有别的网站用这个代码的,有这个漏洞”
技术指纹提取
Agent 提取了以下指纹用于搜索:
指纹类型 特征值 LayUI版本 layui.js?v=2.0.7 特有路径 /static/layuiadmin/ 表单Token token 框架特征 ThinkPHP 跳转提示 搜索语法整理
FOFA(推荐):
body="/static/layuiadmin/layui/layui.js?v=2.0.7"body="__token__" && body="layuiadmin" && title="登录"Shodan:
http.component:"LayUI"title: "登录" http.html:"__token__"Google:
"static/layuiadmin/layui/layui.js" "v=2.0.7"
第五阶段:报告生成
任务下达
提示词: “你整一份搜索报告吧”
Agent 生成的报告包含
- 技术指纹 – 8个可用于搜索的特征
- 搜索语法 – 12条 Google/FOFA/Shodan 语句
- Python验证脚本 – 批量检测 SQL 注入
- 高危路径清单 – 7个后台敏感路径
- 批量检测方案 – 从收集到利用的完整流程
核心验证脚本
#!/usr/bin/env python3import requestsdefcheck_sqli(target): url = f"{target}/manage/login/index" 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 的优势
- 效率提升 – 自动完成扫描、分析、报告撰写
- 标准化输出 – 格式统一的报告
- 快速响应 – 15分钟周期性汇报进度
- 知识面广 – 可整合多个搜索引擎和工具
关键收获
- AI 可以很好地完成信息收集和漏洞扫描任务
- 生成的搜索语法和验证脚本可直接复用
- 仍需要人工确认关键决策点(如是否深入利用)
# 版权:本文配图
声明:本文仅供技术学习交流,所有渗透测试均已获得授权,请勿用于非法用途。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END


![图片[2]-AI Agent 自动化渗透测试实战分享-华盟网](https://www.77169.net/wp-content/uploads/2026/03/c094992e299da97a5a31f9b6eb784b7e.jpg)
![图片[3]-AI Agent 自动化渗透测试实战分享-华盟网](https://www.77169.net/wp-content/uploads/2026/03/9947177bed04b656a515ecc4279feed0.jpg)












暂无评论内容