--- category: web name: pentest-recon description: 信息收集入口 - 目标类型判断、CDN检测、WAF识别、端口扫描 when_to_use: 拿到目标URL/IP/域名后第一步 --- # 信息收集 ## 文件组织 所有工具输出写入 `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 -cdn -silent -json -o <项目tmp>/cdn_result/httpx.json ``` 外网域名 → cdnChecker 完整: ```bash echo > <项目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 -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 -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) 目录与敏感文件扫描