getdrive/subrecon
GitHub: getdrive/subrecon
SubRecon 是一款 OSINT 基础设施侦察工具,通过聚合多源数据自动完成子域名发现、所有者分类和存档扫描,帮助安全研究人员高效收集目标资产信息。
Stars: 0 | Forks: 0
# SubRecon
一款使用开源情报 (OSINT) 进行基础设施侦察和子域名发现工具。该实用程序可自动收集有关目标域名的数据,识别其所有者,确定服务用途,并扫描互联网存档以查找隐藏的 URL。
## 功能
- **子域名发现**:聚合来自 crt.sh、HackerTarget 的数据,并运行本地 `subfinder` 实用程序。
- **基础设施映射**:解析 IP 地址和 CNAME 记录,并对结果进行缓存。
- **所有者分类**:通过 WHOIS 查询自动识别提供商(AWS、Azure、GCP、Cloudflare 等)或组织。
- **用途分析**:使用正则表达式识别服务类型(邮件、API、测试环境、管理面板)。
- **存档扫描**:搜索 Common Crawl 和 Wayback Machine 以发现历史 URL 和被遗忘的资源。
- **灵活输出**:将结果保存到文本文件中(IP 列表、子域名列表或完整报告)。
## 要求
要运行此脚本,您需要:
- Python 3.6+
- 系统实用程序:`dig` (dnsutils)、`whois`
- `subfinder` 实用程序(如果在系统中未找到,则会在首次启动时自动安装)
## 安装
1. 克隆仓库或下载 `install.sh` 和 `subrecon.py` 文件。
2. 运行依赖项安装脚本:
```
chmod +x install.sh
./install.sh
```
该脚本将检查虚拟环境,安装 `requests` 库以及必要的系统包(`dig`、`whois`、`subfinder`)。
## 使用说明
### 基本语法
```
python subrecon.py <цель> [опции]
```
### 命令示例
搜索单个域名并保存所有数据:
```
python subrecon.py example.com
```
仅搜索子域名(不进行存档扫描):
```
python subrecon.py example.com --mode subdomains
```
仅在存档中搜索(Common Crawl / Wayback):
```
python subrecon.py example.com --mode crawl
```
使用文件中的域名列表进行操作:
```
python subrecon.py targets.txt
```
### 命令行参数
| 参数 | 描述 |
| :--- | :--- |
| `target` | 域名、包含目标列表的文件路径或现有文件夹 |
| `--mode` | 操作模式:`all`(默认)、`subdomains`、`crawl` |
| `--save` | 解析后要保存的内容:`all`(默认)、`subdomains`、`ips`、`report` |
## 输出结构
结果保存在以目标命名的文件夹中(如果使用列表,则保存在临时文件夹中)。文件夹内会创建以下文件:
- `_subdomains.txt` - 找到的子域名的纯净列表
- `_ips.txt` - 唯一 IP 地址列表
- `_origin_report.txt` - 包含子域名、IP、所有者和服务类型关联信息的详细报告
- `_crawl.txt` - 在互联网存档中找到的 URL 列表
## 工作原理
1. **子域名收集**:脚本查询公共 API(crt.sh、HackerTarget)并运行 `subfinder` 二进制文件。结果会被合并并去重。
2. **数据丰富**:对于每个子域名,都会执行 DNS 查询(`dig`)以获取 IP 和 CNAME。然后,使用 `whois` 确定 IP 所有者。
3. **分类**:根据规则库(VENDOR_RULES 和 SERVICE_PATTERNS)检查子域名和 WHOIS 数据,以确定供应商(例如 Amazon)和用途(例如“测试环境”)。
4. **存档搜索**:如果选择了 `crawl` 模式,该工具将访问 Common Crawl 索引和 Wayback Machine API,以收集与域名相关的历史链接。
## 许可证
本工具旨在用于教育目的和对您自有基础设施的安全测试。请负责任地使用。
# SubRecon
一款使用开源情报 (OSINT) 进行基础设施侦察和子域名发现的工具。该实用程序可自动收集有关目标域名的数据,识别其所有者,确定服务用途,并扫描互联网存档以查找隐藏的 URL。
## 功能
- **子域名发现**:聚合来自 crt.sh、HackerTarget 的数据,并运行本地 `subfinder` 实用程序。
- **基础设施映射**:解析 IP 地址和 CNAME 记录,并对结果进行缓存。
- **所有者分类**:通过 WHOIS 查询自动识别提供商(AWS、Azure、GCP、Cloudflare 等)或组织。
- **用途分析**:使用正则表达式识别服务类型(邮件、API、测试环境、管理面板)。
- **存档扫描**:搜索 Common Crawl 和 Wayback Machine 以发现历史 URL 和被遗忘的资源。
- **灵活输出**:将结果保存到文本文件中(IP 列表、子域名列表或完整报告)。
## 要求
要运行此脚本,您需要:
- Python 3.6+
- 系统实用程序:`dig` (dnsutils)、`whois`
- `subfinder` 实用程序(如果在系统中未找到,则会在首次启动时自动安装)
## 安装
1. 克隆仓库或下载 `install.sh` 和 `subrecon.py` 文件。
2. 运行依赖项安装脚本:
```
chmod +x install.sh
./install.sh
```
该脚本将检查虚拟环境,安装 `requests` 库以及必要的系统包(`dig`、`whois`、`subfinder`)。
## 使用说明
### 基本语法
```
python subrecon.py [options]
```
### 命令示例
搜索单个域名并保存所有数据:
```
python subrecon.py example.com
```
仅搜索子域名(不进行存档扫描):
```
python subrecon.py example.com --mode subdomains
```
仅在存档中搜索(Common Crawl / Wayback):
```
python subrecon.py example.com --mode crawl
```
使用文件中的域名列表进行操作:
```
python subrecon.py targets.txt
```
### 命令行参数
| 参数 | 描述 |
| :--- | :--- |
| `target` | 域名、包含目标列表的文件路径或现有文件夹 |
| `--mode` | 操作模式:`all`(默认)、`subdomains`、`crawl` |
| `--save` | 解析后要保存的内容:`all`(默认)、`subdomains`、`ips`、`report` |
## 输出结构
结果保存在以目标命名的文件夹中(如果使用列表,则保存在临时文件夹中)。文件夹内会创建以下文件:
- `_subdomains.txt` - 找到的子域名的纯净列表
- `_ips.txt` - 唯一 IP 地址列表
- `_origin_report.txt` - 包含子域名、IP、所有者和服务类型关联信息的详细报告
- `_crawl.txt` - 在互联网存档中找到的 URL 列表
## 工作原理
1. **子域名收集**:脚本查询公共 API(crt.sh、HackerTarget)并运行 `subfinder` 二进制文件。结果会被合并并去重。
2. **数据丰富**:对于每个子域名,都会执行 DNS 查询(`dig`)以获取 IP 和 CNAME。然后,使用 `whois` 确定 IP 所有者。
3. **分类**:根据规则库(VENDOR_RULES 和 SERVICE_PATTERNS)检查子域名和 WHOIS 数据,以确定供应商(例如 Amazon)和用途(例如“测试环境”)。
4. **存档搜索**:如果选择了 `crawl` 模式,该工具将访问 Common Crawl 索引和 Wayback Machine API,以收集与域名相关的历史链接。
## 许可证
本工具旨在用于教育目的和对您自有基础设施的安全测试。请负责任地使用。
标签:ESC4, GitHub, OSINT, Python, 基础设施扫描, 子域名枚举, 安全侦察, 实时处理, 无后门, 系统安全, 逆向工具