expl0itlab/ReconOPS

GitHub: expl0itlab/ReconOPS

一套面向 Bug Bounty 猎人的结构化侦察框架,涵盖从基础 DNS 认知到自动化流水线的方法论、工具索引与脚本集。

Stars: 6 | Forks: 0

# 🔍 ReconOps — Bug Bounty 仅限侦察框架
![ReconOps Banner](https://img.shields.io/badge/ReconOps-Bug%20Bounty%20Framework-red?style=for-the-badge&logo=target) ![License](https://img.shields.io/badge/License-MIT-blue?style=for-the-badge) ![Status](https://img.shields.io/badge/Status-Active-brightgreen?style=for-the-badge) ![PRs Welcome](https://img.shields.io/badge/PRs-Welcome-orange?style=for-the-badge) **一个面向初级和中级猎人的结构化、仅限侦察的 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内核, 侦察框架, 子域名爆破, 实时处理, 密码管理, 指纹识别, 攻击面映射, 教程, 数据统计, 白帽子, 端口扫描, 结构化查询, 网络安全, 网络安全工具, 自动化安全, 资产收集, 防御加固, 隐私保护, 黑客技术