不设限、深挖到底、至少 3 个 Critical 漏洞
融合黑盒渗透 + 白盒源码审计 + Multi-Agent 协同工作流的 AI 驱动渗透测试方法论
Pentest Deep Dive 是一套面向 AI Agent(如 WorkBuddy、Claude Code、Cursor 等)的深度渗透测试 Skill。它不是简单的扫描器调用指南,而是一套以世界级漏洞挖掘专家为标准的实战方法论。
传统渗透测试往往止步于"扫描器跑一遍、报告有什么报什么"——这是面子工程。本 Skill 追求的是里子工程:每个功能点手动深挖、有源码就做白盒审计、单点漏洞组合成杀伤链、所有发现必须有 PoC 验证。
| 维度 | 普通扫描(面子工程) | 本标准(里子工程) |
|---|---|---|
| 入口 | 跑扫描器看报告 | 扫描器 + 手工梳理所有功能点/参数/接口 + 源码级分析 |
| 漏洞 | 发现什么报什么 | 每个点反思"还能怎么利用" + 横向扩展举一反三 |
| 限制 | 有 WAF/认证就跳过 | 任何限制都是 bypass 的起点 |
| 深度 | 单点漏洞 | 漏洞链组合打出杀伤链 |
| 验证 | "可能存在" | 必须有实际 PoC 验证危害 |
| 源码 | 不涉及 | 有源码时做白盒审计,跟踪数据流 + 污点分析 |
| 模式 | 核心手段 | 适用场景 |
|---|---|---|
| ⚡ 快速模式 | 扫描器 + Triage 过滤误报 | 时间紧的常规测试 |
| 🧠 深度模式 | 手动分析 + 源码审计 | 专啃硬骨头,挖 0Day |
| 🔍 综合模式 | 扫描 + 手动 + 源码全覆盖 | 打歼灭战,全面评估 |
复杂目标下自动拆分为多个并行 Agent,各司其职:
Orchestrator(统筹)
├── Recon Agent — 信息收集:子域名、端口、技术栈、GitHub 泄露、备案
├── Scan Agent — 扫描器调度:nuclei / nmap / sqlmap / dirsearch 等
├── Triage Agent — 扫描结果去重、排序、过滤误报、标记高优
├── Finding Agent — 核心:源码审计 + 手动深度挖掘
└── Verification Agent — PoC 验证、危害评估、漏洞链组合验证
当有目标源码时,按以下五层逐层深入:
- 入口点梳理 — 路由映射、参数入口、认证前置分析
- 数据流追踪 — 输入→处理→存储→输出的完整链路
- 污点分析 — 标记用户可控数据,追踪到敏感函数(sink)
- 危险函数清单 — 覆盖 Python / Java / Node.js / PHP 四大语言
- 历史 CVE 关联 — 版本比对、补丁分析、绕过可能性评估
涵盖请求方法变换、参数污染、Content-Type 绕过、编码绕过、WAF 绕过、认证绕过、文件上传 bypass、SSRF 协议绕过、SSTI 绕过等全方位绕过技术。
单个低危漏洞可能是杀伤链的一环。Skill 内置漏洞组合矩阵,强制 Agent 在发现每个漏洞时自问:
- 这个点还能怎么利用?
- 还有类似的点也可能有问题吗?(横向扩展)
- 限制在哪?怎么绕过?
- 和其他漏洞组合能打出什么效果?
所有发现必须有实际 PoC 验证危害,支持:
- 带外验证:DNSLog / HTTP Log / Burp Collaborator
- 时间盲注:sleep / benchmark 延时确认
- 布尔盲注:条件 True/False 返回差异判断
- 回显验证:直接命令回显 / 报错信息含敏感内容
- 二次确认:修改后再请求验证持久化效果
将本仓库克隆到 WorkBuddy 的 skills 目录:
# 用户级 Skill(所有项目可用)
git clone https://github.com/Liuzhiyong/pentest-deep-dive.git ~/.workbuddy/skills/pentest-deep-dive
# 或项目级 Skill(仅当前项目可用)
git clone https://github.com/Liuzhiyong/pentest-deep-dive.git .workbuddy/skills/pentest-deep-dive安装后在 WorkBuddy 对话中直接使用即可,Agent 会自动加载方法论指导渗透测试工作。
如果你使用的 AI 工具不支持 Skill 机制,可以直接将 penetration-testing-deep-dive.md 的内容复制到 System Prompt 或自定义指令中:
- 复制
penetration-testing-deep-dive.md全文 - 粘贴到你的 AI 工具的 System Prompt / 自定义指令 / Rules 配置中
- 开始对话,AI 将按照本方法论执行渗透测试
即使不使用 AI 工具,这份方法论本身也是一份优秀的渗透测试 Checklist 和知识库,可供安全研究人员参考学习。
本 Skill 设定了明确的交付底线:至少 3 个 Critical 漏洞。
目标漏洞类型(优先级从高到低):
- RCE(远程代码执行) — 命令注入、反序列化、模板注入、文件上传 Getshell
- 回显 SSRF — 能拿到云元数据、内网服务、甚至 RCE 的 SSRF
- SSTI(服务器端模板注入) — 利用模板引擎特性执行代码
- SQL 注入 — 从注入点到数据提取/文件写入/OS 命令
- 其他 High/Critical — 越权导致数据泄露 + 提权链、认证体系完全击穿
完成后按标准化模板输出报告:
- 漏洞分级:5 级(极高危 / 高危 / 中危 / 低危 / 信息提示)
- 整改时限:3 类(紧急 7 日 / 限期 30 日 / 长期优化)
- 保密声明 和 授权测试依据
- 危害验证:每个漏洞有详细验证说明
- 漏洞链分析:如果有组合利用路径
- 行风克制:禁止出现完整 EXP / payload / 攻击代码
- 法规引用:引用《关基保护条例》等法律法规
pentest-deep-dive/
├── README.md # 项目说明(本文件)
├── LICENSE # MIT 许可证
├── CONTRIBUTING.md # 贡献指南
├── CHANGELOG.md # 版本更新记录
├── .gitignore # Git 忽略规则
└── penetration-testing-deep-dive.md # 核心 Skill 文件
- 🏢 企业安全评估 — 对自有系统进行深度安全测试
- 🎓 安全团队培训 — 作为渗透测试方法论培训材料
- 🤖 AI 辅助渗透 — 让 AI Agent 按照专业标准执行安全测试
- 📋 安全合规检查 — 满足等保、关基保护等合规要求的安全评估
- 🔬 漏洞研究 — 作为漏洞挖掘的方法论参考和 Checklist
| 语言 | 危险函数覆盖 |
|---|---|
| Python | eval, exec, subprocess, pickle, yaml.load, render_template_string 等 |
| Java | Runtime.exec, ProcessBuilder, SpEL, XML解析(XXE), URLClassLoader 等 |
| Node.js | eval, child_process, require动态加载, vm沙箱绕过 等 |
| PHP | eval, assert, system, unserialize, preg_replace /e, 动态include 等 |
- 请求方法变换(GET/POST/PUT/PATCH/DELETE/OPTIONS/TRACE)
- 参数污染(HPP)、参数类型混淆
- Content-Type 绕过(JSON/XML/Form-data/纯文本)
- 编码绕过(URL/Unicode/Base64/双编码/Unicode规范化)
- WAF 绕过(分块传输、大小写混淆、注释混淆、空字节注入)
- 认证绕过(JWT算法混淆/空签名、Session固定、OAuth重定向)
- 文件上传 bypass(扩展名双重、MIME绕过、竞争条件、符号链接)
- SSRF 协议绕过(DNS Rebinding、302跳转、gopher协议)
- SSTI 绕过(过滤器绕过、多层嵌套、替代语法)
⚠️ 重要声明本项目仅用于授权的安全测试和安全教育目的。使用者必须:
- 仅在获得明确书面授权的目标上使用本方法论
- 遵守当地法律法规,包括但不限于《中华人民共和国网络安全法》《数据安全法》《个人信息保护法》
- 不得用于未授权的系统入侵、数据窃取或任何非法活动
- 测试报告中禁止出现完整 EXP / payload / 攻击代码
作者不对任何滥用本方法论的行为承担责任。
欢迎提交 Issue 和 Pull Request!请阅读 CONTRIBUTING.md 了解如何参与。
贡献方向:
- 补充新的 Bypass 技术
- 增加更多编程语言的危险函数清单
- 完善漏洞链组合矩阵
- 分享实战案例(脱敏后)
- 优化 Multi-Agent 工作流设计
MIT License © Liuzhiyong
如果这个项目对你有帮助,欢迎点个 Star ⭐