NipunDilshanSenevirathne/Recon2026-updated-from-25-
GitHub: NipunDilshanSenevirathne/Recon2026-updated-from-25-
recon2026 是一个并行聚合十个数据源进行子域名枚举、DNS 解析与存活主机 HTTP 探测的 Bash 侦察框架。
Stars: 0 | Forks: 0
# recon2026
**终极子域名枚举与 HTTP 探测框架**
**作者:** Nipun Dillshan Senevirathne
**版本:** 2026.1.0
**语言:** Bash
**用途:** 用于授权渗透测试和漏洞赏金侦察的精英级被动子域名枚举、DNS 解析和存活主机探测。
## 目录
1. [概述](#overview)
2. [功能](#features)
3. [枚举来源](#enumeration-sources)
4. [环境要求](#requirements)
5. [安装说明](#installation)
6. [使用说明](#usage)
7. [输出文件](#output-files)
8. [流程说明](#pipeline-flow)
9. [可选 API 密钥](#optional-api-keys)
10. [法律免责声明](#legal-disclaimer)
## 概述
recon2026 是一款专为安全专业人员进行授权评估而设计的高性能侦察框架。它并行从十个独立的来源汇总子域名数据,通过 DNS 解析对结果进行去重和验证,并探测所有发现的主机上的存活 HTTP 和 HTTPS 服务——所有操作只需一条命令即可完成。
为了保持速度,该工具在设计上特意排除了 Amass。每个枚举引擎都是并发运行的,这意味着总运行时间取决于最慢的单个来源,而不是所有来源的总和。
## 功能
- 所有枚举引擎并行执行,以实现最高速度
- 自动对所有收集到的子域名进行去重和规范化
- 在探测之前通过 `dnsx` 进行 DNS 解析验证
- 对五个常用端口进行 HTTP 和 HTTPS 探测,支持 200 个并发线程
- 每次运行都会生成带时间戳的输出目录——绝不会覆盖任何结果
- 实时进度指示器和带有颜色区分的终端输出
- 平滑的中断处理机制,可清理后台作业
- 可选通过 API 密钥与 GitHub 和 ProjectDiscovery Chaos 集成
- 启动时进行依赖检查,并提供针对各个工具的安装指南
- 将完整的运行日志写入输出目录中的 `recon2026.log`
## 枚举来源
每次运行期间会查询以下来源:
| # | 来源 | 方式 |
|---|--------|--------|
| 1 | Subfinder | 被动 DNS 汇总,递归查询,100 个线程 |
| 2 | AssetFinder | 被动子域名发现 |
| 3 | Findomain | 基于证书的枚举 |
| 4 | crt.sh | 通过 API 查询证书透明度日志 |
| 5 | HackerTarget | 主机搜索 API |
| 6 | AlienVault OTX | 通过威胁情报 API 进行被动 DNS 查询 |
| 7 | RapidDNS | DNS 记录抓取 |
| 8 | Riddler.io | 基于 OSINT 的子域名发现 |
| 9 | GitHub Subdomains | GitHub dorking(需要 token) |
| 10 | ProjectDiscovery Chaos | 社区子域名数据集(需要 API 密钥) |
来源 9 和 10 是可选的,如果未提供凭证,它们将被静默跳过。
## 环境要求
### 必备工具
必须安装以下工具并可在 `$PATH` 中使用:
- `subfinder` — projectdiscovery/subfinder
- `assetfinder` — tomnomnom/assetfinder
- `httpx` 或 `httpx-toolkit` — projectdiscovery/httpx
- `dnsx` — projectdiscovery/dnsx
- `anew` — tomnomnom/anew
- `curl` — 标准 HTTP 客户端(大多数系统预装)
- `python3` — 解析 crt.sh 和 AlienVault 的 JSON 数据所必需
### 可选工具
- `findomain` — findomain/findomain
- `github-subdomains` — gwen001/github-subdomains
- `chaos` — projectdiscovery/chaos-client
### 系统要求
- 操作系统:Linux 或 macOS
- Shell:Bash 4.0 或更高版本
- Go:1.20 或更高版本(用于安装基于 Go 的工具)
- 需要连接外部 API 的互联网连接
## 安装说明
### 1. 克隆或下载脚本
```
git clone https://github.com/youruser/recon2026.git
cd recon2026
chmod +x recon2026.sh
```
### 2. 安装必备的基于 Go 的工具
```
go install -v github.com/projectdiscovery/subfinder/v2/cmd/subfinder@latest
go install github.com/tomnomnom/assetfinder@latest
go install -v github.com/projectdiscovery/httpx/cmd/httpx@latest
go install -v github.com/projectdiscovery/dnsx/cmd/dnsx@latest
go install github.com/tomnomnom/anew@latest
```
### 3. 安装可选工具
```
# Findomain
curl -LO https://github.com/findomain/findomain/releases/latest/download/findomain-linux
chmod +x findomain-linux && mv findomain-linux /usr/local/bin/findomain
# GitHub Subdomains
go install github.com/gwen001/github-subdomains@latest
# Chaos client
go install github.com/projectdiscovery/chaos-client/cmd/chaos@latest
```
### 4. 确保 Go 二进制文件在 PATH 中
```
export PATH=$PATH:$(go env GOPATH)/bin
```
将上面的代码行添加到您的 `~/.bashrc` 或 `~/.zshrc` 中以使其永久生效。
## 使用说明
### 交互模式
不带参数运行脚本。它会提示输入目标域名和可选的 API 密钥:
```
./recon2026.sh
```
### 直接模式
将目标域名作为位置参数传入,以跳过域名输入提示:
```
./recon2026.sh example.com
```
### 预设 API 密钥为环境变量
```
GITHUB_TOKEN=ghp_yourtoken CHAOS_KEY=yourapikey ./recon2026.sh example.com
```
### 在运行时传入 API 密钥
如果未设置环境变量,工具将以交互方式提示输入。这两个提示都可以通过按 Enter 键跳过,在这种情况下,运行时将忽略相应的来源。
## 输出文件
所有输出都会写入在每次运行开始时创建的带时间戳的目录中:
```
recon_example.com_20260530_143022/
```
将生成以下文件:
| 文件 | 描述 |
|------|-------------|
| `subdomains.txt` | 从每个来源收集的所有唯一子域名,已排序且去重 |
| `subdomains_resolved.txt` | 经确认可通过 DNS 解析的子域名(如果已安装 `dnsx` 则会生成) |
| `subdomains_alive.txt` | 存活的 HTTP/S 主机,包含状态码、标题和检测到的技术 |
| `recon2026.log` | 包含本次运行所有工具输出和错误的完整详细日志 |
在运行期间会创建一个临时 `.tmp/` 目录来存放各个来源的原始输出,并在完成后自动删除。
## 流程说明
每次运行都会执行以下序列:
```
1. Dependency check
|
2. Target domain input and validation
|
3. Parallel enumeration across all 10 sources
|
4. Merge all raw results
|
5. Deduplicate, normalize, and filter invalid entries --> subdomains.txt
|
6. DNS resolution via dnsx --> subdomains_resolved.txt
|
7. HTTP/S probing via httpx on ports 80,443,8080,8000,8888 --> subdomains_alive.txt
|
8. Summary report with counts and elapsed time
```
第 3 到 5 步完全并行运行。第 6 步直接进入第 7 步,在可用时使用已解析的列表,否则回退到完整的去重列表。
## 可选 API 密钥
### GitHub Token
`github-subdomains` 模块必需。通过查询 GitHub 仓库和代码中的子域名引用,可生成大量更多结果。
获取 token 地址:`https://github.com/settings/tokens`
所需权限范围:`repo`, `read:org`
```
export GITHUB_TOKEN=ghp_yourtokenhere
```
### ProjectDiscovery Chaos API 密钥
获取密钥地址:`https://chaos.projectdiscovery.io`
```
export CHAOS_KEY=yourapikey
```
## 法律免责声明
recon2026 专门用于授权的安全测试、漏洞赏金计划以及已获得目标组织明确书面许可的合法渗透测试活动。
未经授权将此工具用于您不拥有或未获得明确测试许可的系统是非法且不道德的。作者不对滥用本软件承担任何责任。
**在进行任何侦察活动之前,请务必获得书面授权。**
*recon2026 —— 为精准、速度和专业的安全工作而生。*
标签:DNS解析, GitHub, HTTP探测, 子域名枚举, 实时处理, 应用安全, 开源项目, 日志审计, 系统安全, 运行时操纵