# Pentest Recon

> 信息收集入口 - 目标类型判断、CDN检测、WAF识别、端口扫描

- Skill: `openaisec/pentest-recon` (Agent Skill, multi-file: 3 files)
- Install (CLI): `npx skillmds@latest add openaisec/pentest-recon`
- Raw SKILL.md: https://api.skillmd.com/api/skills/openaisec/pentest-recon/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: openaisec (https://skillmd.com/u/openaisec)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/openaisec/pentest-recon

---


# 信息收集

## 文件组织

所有工具输出写入 `tmp/<时间戳>/raw/`：
```
tmp/<时间戳>/raw/
├── target_type.txt
├── cdn_result/
├── waf_result/
├── honeypot/
├── port_scan/
├── fingerprint/    → fingerprint.md
└── dir_scan/       → dir-scan.md
```

项目根目录禁止存放任何扫描结果。

## 阶段1：目标类型判断

域名必须先 nslookup 解析再判断：

| 目标类型 | CDN | WAF |
|----------|-----|-----|
| 内网IP（10.x/172.16-31.x/192.168.x/127.x） | 跳过 | 跳过 |
| 内网域名（解析后IP为内网） | 跳过 | 跳过 |
| 外网IP | httpx `-cdn` | httpx `-waf` + Payload触发 |
| 外网域名 | cdnChecker 完整检测 | httpx `-waf` + Payload触发 |

## 阶段2：CDN检测

外网IP → httpx 快速：
```bash
"{{AITOOLS_DIR}}/httpx_1.9.0_windows_amd64/httpx.exe" -u <target> -cdn -silent -json -o <项目tmp>/cdn_result/httpx.json
```

外网域名 → cdnChecker 完整：
```bash
echo <domain> > <项目tmp>/cdn_result/target_domains.txt

"{{AITOOLS_DIR}}/cdnChecker_1.0.0_windows_amd64/cdnChecker.exe" \
  -df <项目tmp>/cdn_result/target_domains.txt \
  -cf "{{AITOOLS_DIR}}/cdnChecker_1.0.0_windows_amd64/cdn_cname.txt" \
  -r "{{AITOOLS_DIR}}/cdnChecker_1.0.0_windows_amd64/resolvers.txt" \
  -o <项目tmp>/cdn_result/non_cdn.txt \
  -oc <项目tmp>/cdn_result/use_cdn.txt \
  -od <项目tmp>/cdn_result/domain_info.txt \
  -oi <项目tmp>/cdn_result/non_cdn_ips.txt
```

有CDN → 用真实IP扫描和直连测试，同时保留域名测试。

## 阶段3：WAF识别

内网跳过。外网执行：

1. **httpx**：`httpx -u <target> -waf -cdn -silent -json`
2. **Payload触发**：SQL注入/XSS/路径穿越payload → 被拦截(403/503/302)=有WAF
3. **响应头分析**：Cloudflare(`cf-ray`)、加速乐(`__jsl_clearance_s`)、知道创宇(`acw_tc`)、SafeLine(`safeline`)、阿里云(`X-Cache`)、腾讯云(`AZTEC`)

绕过优先级：真实IP直连 > 获取JS Cookie(Playwright) > 降速+伪造头

有WAF时：目录扫描降速(`-t 10 -rate 5`)、端口扫描用真实IP、指纹识别优先Playwright。

## 阶段4：蜜罐检测

**检测到蜜罐→立即停止所有测试**（见 pentest-rules）。

AI 综合分析判断（不依赖单一工具）：

| 特征 | 可疑点 |
|------|--------|
| 端口 | 异常多的开放端口、所有端口统一响应 |
| Banner | 版本号与实际行为不匹配、多服务同时"在线" |
| 页面 | 伪造的登录表单(无真实后端)、404页面统一风格 |
| 行为 | 任意路径返回200、无实际交互功能 |
| 已知产品 | HFish/T-Pot/Conpot/Dionaea/Cowrie等蜜罐特征 |

综合多个异常才判定蜜罐。不确定时询问用户。

## 阶段5：端口扫描

用真实IP（如CDN绕过有结果）：

```bash
"{{AITOOLS_DIR}}/TscanClient_windows_amd64_v2.9.5/TscanClient_windows_amd64_v2.9.5.exe" \
  -h <ip> -m port -p Top1000 -t 600 -o <项目tmp>/port_scan/tscan_port.txt
```

存活端口用 httpx 探测指纹：
```bash
"{{AITOOLS_DIR}}/httpx_1.9.0_windows_amd64/httpx.exe" \
  -l <项目tmp>/port_scan/alive_ports.txt \
  -title -status-code -tech-detect -web-server -o <项目tmp>/port_scan/port_fingerprints.txt
```

## 后续

→ [fingerprint.md](fingerprint.md) 指纹与架构识别
→ [dir-scan.md](dir-scan.md) 目录与敏感文件扫描

