expl0itlab/ReconOPS
GitHub: expl0itlab/ReconOPS
一套面向 Bug Bounty 猎人的结构化侦察框架,涵盖从基础 DNS 认知到自动化流水线的方法论、工具索引与脚本集。
Stars: 6 | Forks: 0
# 🔍 ReconOps — Bug Bounty 仅限侦察框架




**一个面向初级和中级猎人的结构化、仅限侦察的 Bug Bounty 框架。**
*在攻击之前,先理解其表面。*
[📖 框架概览](#-framework-overview) •
[🛠️ 工具索引](#️-tools-index) •
[🗺️ 方法论](#️-recon-methodology-map) •
[📂 文档](#-documentation) •
[🤝 贡献](#-contributing)
## ⚠️ 免责声明
## 🧠 理念
大多数初学者直接跳到漏洞利用阶段,而不理解他们正在观察什么。ReconOps 解决了这个问题。这是一个**仅限侦察的框架** —— 它不涵盖漏洞利用。它涵盖了漏洞利用*之前*的所有内容:映射攻击面、理解基础设施、寻找被遗忘的资产,以及构建能让后续工作卓有成效的情报。
侦察占了 80% 的工作。本框架正是基于这一理念构建。
## 📦 框架概览
```
ReconOps/
├── README.md ← You are here
├── FRAMEWORK.md ← Full tier breakdown with tools
├── TOOLS.md ← Tools index & install guide
├── CHECKLIST.md ← Per-engagement recon checklist
├── docs/
│ ├── passive-recon.md ← Deep dive: passive techniques
│ ├── active-recon.md ← Deep dive: active techniques
│ ├── js-analysis.md ← JavaScript mining guide
│ ├── api-recon.md ← API surface discovery
│ ├── cloud-recon.md ← Cloud & bucket enumeration
│ └── automation.md ← Building your own pipelines
├── scripts/
│ ├── subdomain-enum.sh ← Automated subdomain pipeline
│ ├── js-harvest.sh ← JS endpoint harvester
│ ├── alive-check.sh ← Live asset validation
│ ├── screenshot-all.sh ← Mass screenshotting
│ └── change-monitor.sh ← Surface diff monitoring
├── wordlists/
│ └── README.md ← Recommended wordlist sources
└── templates/
├── scope-notes.md ← Scope tracking template
└── recon-report.md ← Recon findings template
```
## 🗺️ 侦察方法论图谱
```
Target Acquired
│
▼
┌─────────────────────────────────────────────┐
│ TIER 0: Pre-Recon Infrastructure Cognition │ ← Understand HOW the internet works first
└─────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────┐
│ TIER 1: Passive Surface Intelligence │ ← Look without touching
└─────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────┐
│ TIER 2: Active Surface Expansion │ ← Probe and enumerate
└─────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────┐
│ TIER 3: Deep Surface Intelligence │ ← Go deeper on live assets
└─────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────┐
│ TIER 4: Recon Data Engineering │ ← Automate, deduplicate, monitor
└─────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────┐
│ TIER 5: Strategic Surface Dominance │ ← Prioritize, correlate, hand off
└─────────────────────────────────────────────┘
│
▼
[Handoff to Exploitation — NOT covered here]
```
## 🔭 层级 0 — 前期侦察基础设施认知
### 为什么存在这一层级
初学者经常在还没有理解*正在观察什么*的情况下就开始启动工具。层级 0 解决了这个问题。你需要先了解 DNS、CDN、ASN 和 HTTP 行为,然后你的工具输出才有意义。
### 0.1 DNS 基础
| 概念 | 为什么重要 |
|--------|----------------|
| DNS 解析链 | 理解 `dig` 输出如何反映真实路由 |
| A / CNAME / MX / TXT / NS 记录 | 每种记录类型泄露不同的情报 |
| DNS 传播 & TTL | 旧记录可能指向废弃的基础设施 |
| 通配符 DNS 行为 | `*.target.com` 解析并不一定意味着子域名存在 |
**学习工具:** `dig`, `nslookup`, `host`
### 0.2 ASN & IP 所有权
| 概念 | 为什么重要 |
|--------|----------------|
| ASN (自治系统号) | 查找公司拥有的 IP 范围 —— 甚至是未关联的 |
| WHOIS & RDAP | IP 和域名的合法所有权 |
| BGP 路由数据 | 理解哪些 IP 实际到达目标 |
| 反向 DNS (PTR 记录) | 将 IP 映射回主机名 |
**工具:** `whois`, [bgp.he.net](https://bgp.he.net), [ipinfo.io](https://ipinfo.io), `asnmap`
### 0.3 CDN & 反向代理感知
| 概念 | 为什么重要 |
|--------|----------------|
| CDN 检测 (Cloudflare, Akamai, Fastly) | 你可能并没有与真实源站服务器通信 |
| 源站 IP 泄露 | CDN 配置错误可能暴露真实 IP |
| 负载均衡器行为 | 不同的后端响应 = 有趣的发现 |
| 反向代理头 | `X-Forwarded-For`, `Via`, `CF-RAY` 泄露基础设施信息 |
**工具:** `curl -I`, [Shodan](https://shodan.io), [Censys](https://censys.io), [SecurityTrails](https://securitytrails.com)
### 0.4 HTTP 行为基础
| 概念 | 为什么重要 |
|--------|----------------|
| HTTP 响应头 | 指纹识别技术栈、WAF、缓存层 |
| 状态码行为 | 200/301/302/403/404/429 各自讲述不同的故事 |
| CORS 头 | `Access-Control-Allow-Origin` 中可见的信任边界 |
| 缓存头 | `X-Cache`, `Age`, `Cache-Control` 揭示缓存拓扑 |
## 🕵️ 层级 1 — 被动表面情报
### 1.1 组织足迹映射
查找组织拥有的一切 —— 不仅仅是明显的域名。
| 任务 | 推荐工具 |
|------|------------------|
| 查找母公司 / 子公司 | [Crunchbase](https://crunchbase.com), [LinkedIn](https://linkedin.com), 手动 OSINT |
| 历史 M&A (并购) 研究 | [Wikipedia](https://en.wikipedia.org), 新闻档案, SEC 文件 |
| 品牌 & 商标资产发现 | [USPTO TESS](https://tess.uspto.gov), Google dorks |
| 查找所有注册域名 | [WhoisXMLAPI](https://whoisxmlapi.com), `amass intel`, [Shodan](https://shodan.io) |
**专业提示:** 收购了初创公司的公司通常会继承旧的、被遗忘的基础设施。那是范围中的金矿。
### 1.2 子域名发现 (被动)
| 任务 | 推荐工具 |
|------|------------------|
| 证书透明性日志 | [crt.sh](https://crt.sh), `certspotter`, `tlsx` |
| 被动 DNS 数据库 | [SecurityTrails](https://securitytrails.com), [VirusTotal](https://virustotal.com), [Robtex](https://robtex.com) |
| 历史 DNS 记录 | [SecurityTrails](https://securitytrails.com), [DNSHistory](https://dnshistory.org) |
| 子域名枚举 (被动) | `subfinder`, `amass passive`, `assetfinder` |
| OSINT 聚合 | `theHarvester`, `chaos` (ProjectDiscovery) |
```
# 示例被动子域名 pipeline
subfinder -d target.com -silent | \
anew subdomains.txt
amass enum -passive -d target.com | \
anew subdomains.txt
cat subdomains.txt | sort -u > subdomains-final.txt
```
### 1.3 公共代码 & 敏感信息泄露
| 任务 | 推荐工具 |
|------|------------------|
| GitHub/GitLab 代码搜索 | [GitHub Search](https://github.com/search), `gitrob`, `trufflehog` |
| 泄露的凭据 & API 密钥 | `trufflehog`, `gitleaks`, `gitdorker` |
| 针对 target 的 Google dorks | `dork-cli`, 手动 Google 操作符 |
| Pastebin & 粘贴网站 | [psbdmp.ws](https://psbdmp.ws), Dehashed |
| 文档元数据泄露 | `exiftool`, `FOCA` |
**基本 Google Dorks:**
```
site:target.com ext:env OR ext:yml OR ext:config
site:github.com "target.com" password OR secret OR token
site:target.com inurl:api OR inurl:admin OR inurl:login
"@target.com" filetype:pdf
site:target.com -www
```
### 1.4 云存储泄露
| 任务 | 推荐工具 |
|------|------------------|
| S3 存储桶发现 | `s3scanner`, `cloud_enum`, `bucket_finder` |
| Azure Blob / GCP Storage | `cloud_enum`, `GCPBucketBrute` |
| 公共存储桶内容分析 | `s3scanner`, AWS CLI (匿名) |
| Firebase 数据库泄露 | 手动, `firebase-database-dump` |
```
# 云端资产枚举
cloud_enum -k target -k targetcompany -k target-corp
```
### 1.5 Web 机关 & 历史表面恢复
| 任务 | 推荐工具 |
|------|------------------|
| Wayback Machine URL 挖掘 | `waybackurls`, `gau` (GetAllURLs) |
| 历史端点发现 | `gau`, `waymore` |
| 废弃 API 重现 | `waybackurls`, 手动分析 |
| 旧 JS 文件恢复 | Wayback CDX API, `waymore` |
```
# 历史 URL 收集
echo "target.com" | gau --threads 5 | tee urls-historical.txt
waybackurls target.com | tee -a urls-historical.txt
cat urls-historical.txt | sort -u | grep -E "\.(js|json|php|asp|aspx|txt|env|yml|config)$"
```
## 🔬 层级 2 — 主动表面扩展
### 2.1 存活资产验证
| 任务 | 推荐工具 |
|------|------------------|
| 检查哪些子域名可解析 | `massdns`, `dnsx` |
| 检查哪些主机存活 (HTTP/S) | `httpx`, `httprobe` |
| 端口扫描 | `nmap`, `masscan`, `naabu` |
| 服务识别 | `nmap -sV`, `naabu` + `httpx` |
| 批量截图 | `gowitness`, `aquatone`, `eyewitness` |
```
# 全量存活资产验证 pipeline
cat subdomains-final.txt | dnsx -silent | tee resolved.txt
cat resolved.txt | httpx -silent -status-code -title -tech-detect | tee live-hosts.txt
cat resolved.txt | naabu -silent -top-ports 1000 | tee open-ports.txt
cat live-hosts.txt | awk '{print $1}' | gowitness file -f - -P screenshots/
```
### 2.2 子域名枚举 (主动/爆破)
| 任务 | 推荐工具 |
|------|------------------|
| DNS 爆破 | `puredns`, `shuffledns` |
| 排列 & 变异 | `altdns`, `gotator`, `dnsgen` |
| 虚拟主机发现 | `ffuf -H "Host: FUZZ.target.com"`, `gobuster vhost` |
| 子域名接管检测 | `nuclei -t takeovers/`, `subzy`, `subjack` |
```
# 主动子域名爆破
puredns bruteforce wordlists/subdomains-top.txt target.com -r resolvers.txt | \
anew subdomains-active.txt
# 基于排列的发现
cat subdomains-final.txt | gotator -sub wordlists/permutations.txt -depth 1 | \
puredns resolve -r resolvers.txt | anew subdomains-active.txt
```
### 2.3 Web 内容发现
| 任务 | 推荐工具 |
|------|------------------|
| 目录 & 文件爆破 | `ffuf`, `feroxbuster`, `gobuster` |
| 参数发现 | `arjun`, `x8`, `paramspider` |
| 备份文件搜寻 | `ffuf` 配合备份字典 |
| API 端点爆破 | `ffuf`, 自定义 API 字典 |
```
# 目录发现
ffuf -u https://target.com/FUZZ \
-w wordlists/SecLists/Discovery/Web-Content/raft-medium-directories.txt \
-ac -mc 200,201,301,302,401,403 \
-o ffuf-results.json -of json
# 参数发现
arjun -u https://target.com/api/endpoint --stable
```
### 2.4 技术 & 技术栈指纹识别
| 任务 | 推荐工具 |
|------|------------------|
| 技术栈检测 | `whatweb`, `wappalyzer`, `httpx -tech-detect` |
| WAF 检测 | `wafw00f`, `nmap --script http-waf-detect` |
| CMS 指纹识别 | `wpscan` (WordPress), `droopescan`, `cmseek` |
| 框架版本检测 | 手动头部分析, `nuclei` tech 模板 |
| SSL/TLS 分析 | `testssl.sh`, `sslyze`, `sslscan` |
### 2.5 子域名接管检测
| 任务 | 推荐工具 |
|------|------------------|
| 悬空 CNAME 检测 | `subjack`, `subzy`, `nuclei -t takeovers/` |
| 针对接管的服务指纹识别 | 手动 + `nuclei` |
| 云资源接管信号 | `cloudbrute`, 手动 |
```
# 接管扫描
cat subdomains-final.txt | subzy run --targets /dev/stdin
nuclei -l subdomains-final.txt -t nuclei-templates/takeovers/ -silent
```
## 🔎 层级 3 — 深度表面情报
### 3.1 JavaScript 情报挖掘
JavaScript 文件可以说是现代 Web 侦察中信息密度最高的资产。
| 任务 | 推荐工具 |
|------|------------------|
| 收集所有 JS URL | `gau`, `waybackurls`, `katana` |
| 下载 & 分析 JS 文件 | `getJS`, 手动 `curl` |
| 从 JS 提取端点 | `LinkFinder`, `JSluice`, `xnLinkFinder` |
| 在 JS 中查找硬编码的敏感信息 | `trufflehog`, `jsluice`, `secretfinder` |
| 检测隐藏参数 | `JSluice`, 手动正则分析 |
| 识别内部引用 | `LinkFinder`, 手动分析 |
```
# JS 挖掘 pipeline
katana -u https://target.com -jc -silent | grep "\.js$" | \
sort -u | tee js-urls.txt
# 下载并提取 endpoints
cat js-urls.txt | while read url; do
curl -sk "$url" | python3 linkfinder.py -i /dev/stdin -o cli
done | sort -u | tee js-endpoints.txt
# Secret 扫描
cat js-urls.txt | while read url; do
curl -sk "$url" > /tmp/jsfile.js
trufflehog filesystem /tmp/jsfile.js --no-update 2>/dev/null
done
```
### 3.2 API 表面发现
| 任务 | 推荐工具 |
|------|------------------|
| OpenAPI/Swagger 规范搜寻 | `ffuf` + api-docs 字典, `katana` |
| GraphQL 端点检测 | `graphw00f`, `clairvoyance`, 手动 |
| GraphQL 内省 | `graphql-path-enum`, `InQL` (Burp), 手动 |
| REST API 版本控制 | 手动分析, `ffuf` |
| 影子/未记录 API 检测 | JS 分析, `arjun`, `kiterunner` |
| API 路由爆破 | `kiterunner`, `ffuf` + API 字典 |
```
# API 发现
kr scan https://target.com -w routes-large.kite --output-file api-routes.txt
# GraphQL 检测
graphw00f -t https://target.com
# Swagger 探测
ffuf -u https://target.com/FUZZ \
-w wordlists/api-docs.txt \
-mc 200 -ac
```
**常见 API 文档路径检查清单:**
```
/api/docs
/api/swagger
/swagger.json
/openapi.json
/v1/docs
/v2/api-docs
/graphql
/graphiql
/api/graphql
```
### 3.3 云表面情报
| 任务 | 推荐工具 |
|------|------------------|
| S3/GCS/Azure 存储桶枚举 | `cloud_enum`, `s3scanner`, `GCPBucketBrute` |
| AWS IP 范围映射 | [ip-ranges.amazonaws.com](https://ip-ranges.amazonaws.com/ip-ranges.json) |
| 云元数据端点测试 | 手动 (`169.254.169.254`) |
| Serverless 端点发现 | JS 分析, `gau`, 手动 |
| 配置错误的云服务检测 | `nuclei -t cloud/`, Shodan 查询 |
```
# 云存储枚举
cloud_enum -k "targetcompany" -k "target-corp" -k "targetapp" \
--disable-azure # remove flags as needed
# S3 bucket 扫描器
s3scanner scan --buckets-file company-buckets.txt
```
### 3.4 信任边界映射
| 任务 | 推荐工具 |
|------|------------------|
| OAuth 端点发现 | 手动, JS 分析 |
| SSO 流程识别 | 手动, `ffuf`, 头部分析 |
| CORS 配置错误检测 | `corsy`, `nuclei -t cors/`, 手动 |
| 第三方集成 | JS 分析, `katana`, 手动 |
| 内 vs 外部 API 分离 | 手动头部/响应分析 |
```
# CORS 测试
python3 corsy.py -i live-hosts.txt -t 10 --headers "Origin: https://evil.com"
# CORS nuclei templates
nuclei -l live-hosts.txt -t nuclei-templates/vulnerabilities/generic/cors-*.yaml
```
## ⚙️ 层级 4 — 侦察数据工程 & 自动化
### 4.1 流水线架构
将你的侦察结构化为模块化、可组合的流水线:
```
# 示例模块化 pipeline 方法
TARGET="target.com"
# 阶段 1:被动子域名收集
passive_subs() {
subfinder -d "$1" -silent
amass enum -passive -d "$1"
curl -s "https://crt.sh/?q=%25.$1&output=json" | \
jq -r '.[].name_value' | sed 's/\*\.//g'
}
# 阶段 2:DNS 解析
resolve_subs() {
puredns resolve /dev/stdin \
-r resolvers.txt \
--write-massdns massdns-output.txt
}
# 阶段 3:HTTP 探测
probe_http() {
httpx -silent -status-code -title -tech-detect \
-json -o httpx-output.jsonl
}
# 运行完整 pipeline
passive_subs "$TARGET" | sort -u | resolve_subs | probe_http
```
### 4.2 核心流水线工具
| 工具 | 用途 |
|------|---------|
| `anew` | 仅追加唯一的新行 (非常适合差异监控) |
| `unfurl` | 解析 & 提取 URL 组件 |
| `qsreplace` | 替换查询字符串值用于测试 |
| `gf` (Tomnomnom) | 基于模式的 grep,带有预构建的 bug 模式 |
| `jq` | 流水线中的 JSON 处理 |
| `httpx` | 多功能 HTTP 探测 |
| `nuclei` | 基于模板的自动化扫描 |
| `notify` | 发送流水线警报到 Slack/Discord/Telegram |
### 4.3 用于侦察输出分类的 GF 模式
```
# 安装 gf patterns
git clone https://github.com/1ndianl33t/Gf-Patterns ~/.gf
# 使用 patterns 分类收集的 URLs
cat urls-historical.txt | gf xss | tee potential-xss.txt
cat urls-historical.txt | gf sqli | tee potential-sqli.txt
cat urls-historical.txt | gf ssrf | tee potential-ssrf.txt
cat urls-historical.txt | gf redirect | tee potential-redirects.txt
cat urls-historical.txt | gf idor | tee potential-idors.txt
```
### 4.4 表面变更监控
```
# 监控新子域名 (通过 cron 运行)
#!/bin/bash
TARGET="target.com"
DATE=$(date +%Y%m%d)
subfinder -d "$TARGET" -silent | sort -u > /tmp/subs-today.txt
diff /data/subs-previous.txt /tmp/subs-today.txt | grep "^>" | \
cut -c3- | notify -bulk -provider telegram
cp /tmp/subs-today.txt /data/subs-previous.txt
```
### 4.5 字典工程
不要只使用默认字典。构建特定于目标的字典。
| 字典来源 | 用例 |
|----------------|---------|
| [SecLists](https://github.com/danielmiessler/SecLists) | 一切的基础 |
| [Assetnote Wordlists](https://wordlists.assetnote.io) | API 路径, 云资产, 特定技术 |
| [CommonSpeak2](https://github.com/assetnote/commonspeak2) | 从真实 Web 数据生成 |
| `cewl` | 从目标网站生成自定义字典 |
| 手动目标关键词 | 从 JS、关于页面、文档中提取术语 |
```
# 构建针对目标的专用 wordlist
cewl https://target.com -d 3 -m 5 | sort -u > target-wordlist.txt
```
## 🧭 层级 5 — 战略表面主导
### 5.1 高价值资产优先级排序
并非所有攻击面都是平等的。优先考虑:
| 信号 | 为什么是高价值 |
|--------|---------------------|
| 旧子域名 / 遗留端点 | 维护较少 = 更多 bug |
| 管理面板 & 内部工具 | 更高权限 = 更大影响 |
| 没有版本控制的 API 端点 | 可能未记录,测试较少 |
| 第三方集成 | OAuth 流程, webhook 端点 |
| 移动 API 后端 | 通常具有不同的安全态势 |
| 最近收购的域名 | 新代码,旧基础设施 |
| 自定义 404/403 页面 | 可以指示后端框架 |
| 开放端口的子域名 (非 80/443) | 攻击面经常被忽略 |
### 5.2 侦察数据中的模式识别
```
# 在收集的 URLs 中查找有趣的 patterns
cat urls-historical.txt | unfurl paths | sort | uniq -c | sort -rn | head -50
# 查找唯一的参数名
cat urls-historical.txt | unfurl keys | sort -u | tee params.txt
# 查找具有多个参数的 endpoints (更大的攻击面)
cat urls-historical.txt | grep -E "(\?|&).+=.+&.+=.+" | sort -u
# 查找管理/内部路径
cat urls-historical.txt | grep -Ei "(admin|internal|manage|staff|panel|dashboard|portal|backstage)"
```
### 5.3 侦察数据关联
| 交叉引用 | 洞察 |
|----------------|---------|
| ASN IP 范围 ↔ 开放端口 | 范围内未关联的资产 |
| JS 端点 ↔ 主动爆破结果 | 确认发现的路由 |
| 历史 URL ↔ 存活端点 | 重现废弃的端点 |
| 云存储名称 ↔ 子域名 | 命名模式 = 更多存储桶 |
| GitHub 敏感信息 ↔ 发现的 API | 验证泄露的凭据 |
### 5.4 漏洞利用移交打包
当你完成侦察后,组织发现结果以便进行漏洞利用:
```
targets/target.com/
├── recon-summary.md ← High-level findings overview
├── subdomains-live.txt ← Verified live subdomains
├── interesting-urls.txt ← URLs worth manual testing
├── js-endpoints.txt ← Extracted JS endpoints
├── api-routes.txt ← Discovered API routes
├── open-ports.txt ← Non-standard open ports
├── tech-stack.md ← Technology fingerprinting notes
├── secrets-found.txt ← Any exposed secrets (handle carefully)
├── screenshots/ ← Gowitness screenshots
└── notes.md ← Manual observations
```
## 🛠️ 工具索引
### 安装快速参考
```
# Go 工具 (一键安装)
go install github.com/projectdiscovery/subfinder/v2/cmd/subfinder@latest
go install github.com/projectdiscovery/httpx/cmd/httpx@latest
go install github.com/projectdiscovery/nuclei/v2/cmd/nuclei@latest
go install github.com/projectdiscovery/naabu/v2/cmd/naabu@latest
go install github.com/projectdiscovery/dnsx/cmd/dnsx@latest
go install github.com/projectdiscovery/katana/cmd/katana@latest
go install github.com/projectdiscovery/notify/cmd/notify@latest
go install github.com/tomnomnom/assetfinder@latest
go install github.com/tomnomnom/waybackurls@latest
go install github.com/tomnomnom/anew@latest
go install github.com/tomnomnom/unfurl@latest
go install github.com/tomnomnom/qsreplace@latest
go install github.com/tomnomnom/gf@latest
go install github.com/lc/gau/v2/cmd/gau@latest
go install github.com/dwisiswant0/gowitness@latest
go install github.com/s0md3v/Smap/cmd/smap@latest
go install github.com/pry0cc/axiom/cmd/axiom@latest
go install github.com/haccer/subjack@latest
go install github.com/PentestPad/subzy@latest
```
### 完整工具参考表
| 工具 | 类别 | 用途 | 链接 |
|------|----------|---------|------|
| `subfinder` | 被动子域名 | 被动子域名枚举 | [ProjectDiscovery](https://github.com/projectdiscovery/subfinder) |
| `amass` | 子域名 | 主动 + 被动子域名枚举 | [OWASP](https://github.com/OWASP/Amass) |
| `assetfinder` | 被动子域名 | 快速子域名发现 | [tomnomnom](https://github.com/tomnomnom/assetfinder) |
| `puredns` | DNS | 可靠的 DNS 爆破 + 解析 | [d3mondev](https://github.com/d3mondev/puredns) |
| `shuffledns` | DNS | 使用 massdns 进行子域名爆破 | [ProjectDiscovery](https://github.com/projectdiscovery/shuffledns) |
| `dnsx` | DNS | 多功能 DNS 工具包 | [ProjectDiscovery](https://github.com/projectdiscovery/dnsx) |
| `massdns` | DNS | 高性能 DNS 存根解析器 | [blechschmidt](https://github.com/blechschmidt/massdns) |
| `altdns` | DNS 排列 | 子域名排列生成器 | [infosec-au](https://github.com/infosec-au/altdns) |
| `gotator` | DNS 排列 | 子域名排列引擎 | [Josue87](https://github.com/Josue87/gotator) |
| `httpx` | HTTP 探测 | 多功能 HTTP 工具包 | [ProjectDiscovery](https://github.com/projectdiscovery/httpx) |
| `naabu` | 端口扫描 | 快速端口扫描器 | [ProjectDiscovery](https://github.com/projectdiscovery/naabu) |
| `nmap` | 端口扫描 | 经典端口 + 服务扫描器 | [nmap.org](https://nmap.org) |
| `ffuf` | Fuzzing | 快速 Web Fuzzer | [ffuf](https://github.com/ffuf/ffuf) |
| `feroxbuster` | 内容发现 | 递归内容发现 | [epi052](https://github.com/epi052/feroxbuster) |
| `gobuster` | 内容发现 | 目录/vhost/DNS 爆破 | [OJ](https://github.com/OJ/gobuster) |
| `katana` | 爬虫 | 下一代 Web 爬虫 | [ProjectDiscovery](https://github.com/projectdiscovery/katana) |
| `gau` | URL 收集 | 从档案获取所有 URL | [lc](https://github.com/lc/gau) |
| `waybackurls` | URL 收集 | Wayback Machine URL 获取器 | [tomnomnom](https://github.com/tomnomnom/waybackurls) |
| `waymore` | URL 收集 | 扩展 URL 收集工具 | [xnl-h4ck3r](https://github.com/xnl-h4ck3r/waymore) |
| `nuclei` | 扫描 | 基于模板的漏洞扫描器 | [ProjectDiscovery](https://github.com/projectdiscovery/nuclei) |
| `gowitness` | 截图 | Web 截图工具 | [sensepost](https://github.com/sensepost/gowitness) |
| `aquatone` | 截图 | 可视化侦察工具 | [michenriksen](https://github.com/michenriksen/aquatone) |
| `LinkFinder` | JS 分析 | 在 JS 文件中查找端点 | [GerbenJavado](https://github.com/GerbenJavado/LinkFinder) |
| `JSluice` | JS 分析 | JS 敏感信息 + 端点提取器 | [BishopFox](https://github.com/BishopFox/jsluice) |
| `xnLinkFinder` | JS 分析 | 高级链接查找器 | [xnl-h4ck3r](https://github.com/xnl-h4ck3r/xnLinkFinder) |
| `secretfinder` | 敏感信息检测 | 在 JS 中查找敏感信息 | [m4ll0k](https://github.com/m4ll0k/SecretFinder) |
| `trufflehog` | 敏感信息检测 | Git + 文件敏感信息扫描器 | [trufflesecurity](https://github.com/trufflesecurity/trufflehog) |
| `gitleaks` | 敏感信息检测 | Git 历史敏感信息扫描器 | [gitleaks](https://github.com/gitleaks/gitleaks) |
| `arjun` | 参数发现 | HTTP 参数发现 | [s0md3v](https://github.com/s0md3v/Arjun) |
| `x8` | 参数发现 | 隐藏参数发现 | [sh1yo](https://github.com/sh1yo/x8) |
| `paramspider` | 参数发现 | 从 Wayback 挖掘参数 | [devanshbatham](https://github.com/devanshbatham/paramspider) |
| `kiterunner` | API 发现 | API 路由爆破 | [assetnote](https://github.com/assetnote/kiterunner) |
| `graphw00f` | GraphQL | GraphQL 引擎指纹识别 | [nicowillis](https://github.com/nicowillis/graphw00f) |
| `cloud_enum` | 云 | 多云资产枚举 | [initstring](https://github.com/initstring/cloud_enum) |
| `s3scanner` | 云 | S3 存储桶扫描器 | [sa7mon](https://github.com/sa7mon/S3Scanner) |
| `subzy` | 接管 | 子域名接管检测 | [PentestPad](https://github.com/PentestPad/subzy) |
| `subjack` | 接管 | 子域名接管检查器 | [haccer](https://github.com/haccer/subjack) |
| `corsy` | CORS | CORS 配置错误扫描器 | [s0md3v](https://github.com/s0md3v/Corsy) |
| `wafw00f` | WAF | WAF 检测 | [EnableSecurity](https://github.com/EnableSecurity/wafw00f) |
| `testssl.sh` | TLS | SSL/TLS 配置测试 | [testssl.sh](https://github.com/drwetter/testssl.sh) |
| `whatweb` | 指纹识别 | Web 技术指纹识别器 | [urbanadventurer](https://github.com/urbanadventurer/WhatWeb) |
| `gf` | 分类 | 基于模式的 URL 分类 | [tomnomnom](https://github.com/tomnomnom/gf) |
| `anew` | 流水线 | 追加新的唯一行 | [tomnomnom](https://github.com/tomnomnom/anew) |
| `unfurl` | 流水线 | URL 组件解析器 | [tomnomnom](https://github.com/tomnomnom/unfurl) |
| `qsreplace` | 流水线 | 查询字符串替换 | [tomnomnom](https://github.com/tomnomnom/qsreplace) |
| `notify` | 警报 | 流水线通知发送器 | [ProjectDiscovery](https://github.com/projectdiscovery/notify) |
| `cewl` | 字典 | 自定义字典生成器 | [digininja](https://github.com/digininja/CeWL) |
| `theHarvester` | OSINT | 邮件, 域名, IP OSINT | [laramies](https://github.com/laramies/theHarvester) |
| `asnmap` | ASN | ASN 到 IP 范围映射器 | [ProjectDiscovery](https://github.com/projectdiscovery/asnmap) |
## 📋 侦察检查清单 (快速参考)
```
PRE-RECON
[ ] Understand scope (in-scope domains, IPs, exclusions)
[ ] Set up organized folder structure
[ ] Configure resolvers.txt with valid DNS resolvers
TIER 1 — PASSIVE
[ ] Passive subdomain enum (subfinder, amass, assetfinder)
[ ] Certificate transparency (crt.sh, certspotter)
[ ] ASN & IP range discovery
[ ] Google dorking
[ ] GitHub/GitLab secret hunting
[ ] Historical URL collection (gau, waybackurls)
[ ] Cloud storage enumeration
[ ] Document metadata (if applicable)
TIER 2 — ACTIVE
[ ] DNS resolution of all collected subdomains
[ ] HTTP probing (httpx)
[ ] Port scanning (naabu / nmap)
[ ] Screenshots (gowitness)
[ ] Directory/file brute force on interesting targets
[ ] Virtual host brute force
[ ] Technology fingerprinting
[ ] Subdomain takeover scanning
TIER 3 — DEEP
[ ] Collect all JavaScript URLs
[ ] Extract endpoints from JS
[ ] Hunt for secrets in JS
[ ] API documentation hunting
[ ] GraphQL detection + introspection
[ ] Cloud bucket deep dive
[ ] CORS testing
[ ] Parameter discovery on key endpoints
TIER 4 — AUTOMATION
[ ] Set up change monitoring (new subdomains, new endpoints)
[ ] Triage URLs with gf patterns
[ ] Deduplicate and organize all findings
[ ] Build target-specific wordlist
TIER 5 — STRATEGY
[ ] Prioritize high-value assets
[ ] Cross-reference findings
[ ] Create handoff package
[ ] Document anomalies and interesting observations
```
## 📖 文档
| 文档 | 描述 |
|----------|-------------|
| [FRAMEWORK.md](./FRAMEWORK.md) | 一目了然的完整框架结构 |
| [TOOLS.md](./TOOLS.md) | 详细的工具安装 & 使用 |
| [CHECKLIST.md](./CHECKLIST.md) | 可打印的每次任务检查清单 |
| [docs/passive-recon.md](./docs/passive-recon.md) | 被动侦察深入研究 |
| [docs/active-recon.md](./docs/active-recon.md) | 主动侦察深入研究 |
| [docs/js-analysis.md](./docs/js-analysis.md) | JavaScript 挖掘指南 |
| [docs/api-recon.md](./docs/api-recon.md) | API 表面发现 |
| [docs/cloud-recon.md](./docs/cloud-recon.md) | 云 & 存储桶枚举 |
| [docs/automation.md](./docs/automation.md) | 流水线自动化指南 |
## 🤝 贡献
欢迎贡献!如果你知道更好的工具、缺失的技术或更简洁的方法:
1. Fork 本仓库
2. 创建一个分支 (`git checkout -b feature/add-cloud-recon-tip`)
3. 进行更改
4. 提交 Pull Request
请遵循现有的格式,并保持专注于**仅限侦察**。
## 📚 推荐学习资源
| 资源 | 类型 |
|----------|------|
| [Bug Bounty Bootcamp (book)](https://nostarch.com/bug-bounty-bootcamp) | 书籍 |
| [HackerOne Hacker101](https://www.hacker101.com) | 免费课程 |
| [TryHackMe — Web Fundamentals](https://tryhackme.com) | 实验室 |
| [Nahamsec's Live Recons (YouTube)](https://www.youtube.com/@NahamSec) | 视频 |
| [STÖK's videos (YouTube)](https://www.youtube.com/@STOKfredrik) | 视频 |
| [ProjectDiscovery Blog](https://blog.projectdiscovery.io) | 博客 |
| [intigriti Blog](https://blog.intigriti.com) | 博客 |
| [pentester.land writeups](https://pentester.land/list-of-bug-bounty-writeups.html) | Writeups (报告) |
## 🪪 许可证
MIT 许可证 — 详见 [LICENSE](./LICENSE)。
**如果这个框架对你有帮助,请给它一个 ⭐ —— 这能帮助其他人发现它。**
为社区而做。请合乎道德地使用。
标签:API发现, BugBounty, C2日志可视化, Cutter, DNS枚举, ESC6, GitHub, JS挖掘, Recon, TShark, Windows内核, 侦察框架, 子域名爆破, 实时处理, 密码管理, 指纹识别, 攻击面映射, 教程, 数据统计, 白帽子, 端口扫描, 结构化查询, 网络安全, 网络安全工具, 自动化安全, 资产收集, 防御加固, 隐私保护, 黑客技术