name: auto-pentest description: > 自动化渗透测试技能 v1.0。输入一个目标URL/域名/IP,自动执行完整的渗透测试流程: 信息收集→漏洞发现→漏洞利用→后渗透→报告输出。每个阶段分步骤执行并汇报进度。 触发条件:用户给出具体目标(URL/域名/IP)并要求渗透测试/安全评估/漏洞挖掘。 不触发:纯概念讨论、防御方案咨询、代码审计、CVE查询。
自动化渗透测试
核心流程: 输入目标 → 分阶段自动化测试 → 输出漏洞报告 行为准则: 授权优先 | 风险标注 | 链式思维 | 命令可执行
工作流程总览
整个渗透测试分为 5个阶段、15个步骤,按顺序逐步执行:
阶段1: 信息收集 ──── 步骤1-4 阶段2: 漏洞发现 ──── 步骤5-9 阶段3: 漏洞利用 ──── 步骤10-12 阶段4: 后渗透 ───── 步骤13-14 阶段5: 报告输出 ──── 步骤15
每个步骤完成后自动进入下一步,并向用户汇报进度。
阶段1: 信息收集
步骤1: 目标确认 & 基础信息
- 解析目标URL/IP/域名
- 检查目标可达性 (ping / curl -I)
- WhoIs 信息查询
- 备案信息查询(中国目标)
步骤2: 子域名收集
- 子域名爆破/枚举
- DNS 记录分析 (A/AAAA/CNAME/MX/NS/TXT)
- CDN 识别
步骤3: 端口扫描 & 服务识别
- 全端口扫描 (1-65535)
- 服务版本识别
- 操作系统指纹识别
- 常见端口漏洞快速筛查
步骤4: Web 指纹识别 & 目录扫描
- Web 服务器指纹 (Server头/X-Powered-By)
- CMS/框架识别
- 敏感目录/文件扫描
- robots.txt / sitemap.xml 分析
- JS 文件中的隐藏端点提取
阶段2: 漏洞发现
步骤5: Web漏洞 Tier 1 — 高危漏洞(优先检测)
- SQL注入 — 登录框/搜索框/参数点检测 → \references/web-sqli.md
- XSS (反射/存储/DOM) — 所有输入点测试 → \references/web-xss.md
- RCE/命令注入 — 文件上传/命令执行参数 → \references/web-rce.md
- 文件上传漏洞 — 上传功能点测试 → \references/web-upload.md
- SSRF — URL参数/跳转功能 → \references/web-ssrf.md
步骤6: Web漏洞 Tier 2 — 中高危漏洞
- LFI/路径遍历 — 文件包含参数 → \references/web-lfi-path.md
- XXE — XML 解析点 → \references/web-xxe.md
- SSTI — 模板引擎参数 → \references/web-ssti.md
- 反序列化 — Java/PHP 反序列化点 → \references/web-deser.md
- 身份认证绕过 — JWT/会话管理 → \references/web-auth-logic.md
步骤7: Web漏洞 Tier 3 — 中危漏洞(默认不报,除非证明危害)
- CORS 配置错误 → \references/web-cors.md
- CRLF 注入 → \references/web-crlf.md
- Host 头注入 → \references/web-host-header.md
- 缓存投毒 → \references/web-cache-poison.md
- HTTP 请求走私 → \references/web-http-smuggling.md
- GraphQL 内省 → \references/web-graphql.md
步骤8: 弱口令/暴力破解
- 常用后台路径爆破
- 默认口令测试
- 弱口令字典爆破(登录框/SSH/FTP/数据库)
步骤9: 逻辑漏洞
- IDOR/越权
- 支付逻辑
- 验证码绕过
- 业务逻辑缺陷
阶段3: 漏洞利用
步骤10: 漏洞验证 & 利用链构建
- 对步骤5-9发现的漏洞进行手动验证
- 构建完整的利用链 (入口 → 提权 → 数据获取)
- 使用 SQLMap/MSF/自定义脚本进行自动化利用
步骤11: 数据获取
- 数据库数据提取
- 敏感文件读取
- JS/HTML 中的密钥/Token提取
- 后台管理权限获取
步骤12: 权限维持(如需要)
- Webshell 上传
- 反弹 Shell
- 后门植入
阶段4: 后渗透
步骤13: 内网信息收集
- 网络拓扑探测
- 双网卡/跳板机识别
- 内网存活主机扫描
- 域环境识别
步骤14: 横向移动
- 凭据窃取
- 内网服务爆破
- 域渗透(如适用)
阶段5: 报告输出
步骤15: 漏洞报告生成
- 按风险等级排序输出
- 每个漏洞包含:
- 🔴致命 / 🔴高危 / 🟡中危 / 🟢低危 风险标注
- 漏洞名称与描述
- 利用条件
- 复现步骤(附请求/命令)
- 影响范围
- 修复建议(简短)
漏洞质量铁律
每条漏洞输出前必须通过以下自检:
[ ] 1. 实际发出了验证请求? YES/NO [ ] 2. 拿到了真实响应数据? YES/NO [ ] 3. 造成了实际危害? YES/NO [ ] 4. 利用链完整可复现? YES/NO [ ] 5. 已排除误报可能? YES/NO
任一项为NO → 不输出该漏洞
禁止报告的黑名单(直接丢弃,不输出)
- 缺少安全响应头 (CSP/HSTS/XFO等)
- Server/X-Powered-By 版本泄露
- 目录列表(无敏感文件)
- 登录用户名枚举(无爆破证明)
- 默认页面存在(无法进入后台)
- 扫描器原始告警未验证
- 凭经验推测的漏洞
- “建议开启XXX” 类的加固建议
工具速查
| 场景 | 推荐工具 |
|---|---|
| 子域名收集 | subfinder, amass, dig |
| 端口扫描 | nmap, masscan |
| 目录扫描 | gobuster, dirsearch, ffuf |
| SQL注入 | sqlmap |
| 密码爆破 | hydra, medusa |
| Web指纹 | whatweb, wappalyzer |
| 漏洞扫描 | nuclei, nikto |
| 后台扫描 | gobuster dir |
| 反弹Shell | nc, msfvenom |
| 提权辅助 | linpeas, winpeas |
| 凭据窃取 | mimikatz |
| 域渗透 | impacket |
零结果处理
| 场景 | 处理方式 |
|---|---|
| 目标不可达 | ❌ 报告: 目标无响应,中止测试 |
| 无漏洞发现 | ✅ 报告: 经测试未发现可利用漏洞(附测试清单) |
| WAF拦截 | 尝试WAF绕过方法 (编码/分块/HPP) |
| 利用失败 | 检查版本差异 → 尝试替代Payload |
| 无授权 | 仅输出检测方法,不出武器化Payload |