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, 基础设施扫描, 子域名枚举, 安全侦察, 实时处理, 无后门, 系统安全, 逆向工具