bugxcve/subhawk

GitHub: bugxcve/subhawk

一款整合多种枚举技术的 Python 子域名发现工具,帮助安全人员在渗透测试和漏洞赏金活动中高效收集目标子域名资产。

Stars: 0 | Forks: 0

# 子域名枚举工具 🔍 一个功能强大且全面的基于 Python 的子域名发现工具,结合了多种枚举技术来识别目标域名的子域名。非常适合安全研究人员、渗透测试人员和漏洞赏金猎人使用。 ## 目录 - [功能](#features) - [前置条件](#prerequisites) - [安装说明](#installation) - [使用方法](#usage) - [枚举技术](#enumeration-techniques) - [输出](#output) - [示例](#examples) - [API 密钥(可选)](#api-keys-optional) - [贡献](#contributing) - [法律与免责声明](#legal--disclaimer) - [许可证](#license) - [作者](#author) ## 功能 ✅ **多种枚举技术** - 集成 Sublist3r 进行搜索引擎枚举 - 证书透明度日志查询 (crt.sh) - DNS 记录枚举(NS、MX、A 记录) - 常见子域名暴力破解 - 公共 API 查询(HackerTarget、Shodan) ✅ **灵活输出** - JSON 格式(结构化数据) - 纯文本格式(简单列表) - 子域名验证与 IP 解析 - 详细的枚举报告 ✅ **用户友好** - 带有参数解析的命令行界面 - 用于调试的详细输出模式 - 进度指示器和日志记录 - 整洁有序的结果展示 ✅ **性能表现** - 多线程操作 - 速率限制以避免被封禁 - 网络请求的超时处理 - 高效的去重处理 ## 前置条件 ### 系统要求 - Python 3.7 或更高版本 - 用于外部 API 查询的网络连接 - 100MB 的可用磁盘空间(用于依赖项) ### Python 包 - `sublist3r` - 主要的子域名枚举库 - `dnspython` - DNS 查询功能 - `requests` - 用于 API 查询的 HTTP 请求 ## 安装说明 ### 1. 克隆仓库 ``` git clone https://github.com/yourusername/subdomain-enumerator.git cd subdomain-enumerator ``` ### 2. 创建虚拟环境(推荐) ``` # 在 Linux/macOS 上 python3 -m venv venv source venv/bin/activate # 在 Windows 上 python -m venv venv venv\Scripts\activate ``` ### 3. 安装依赖项 ``` pip install -r requirements.txt ``` ### 4. 使脚本可执行(Linux/macOS) ``` chmod +x subhawk.py ``` ## 使用方法 ### 基本用法 ``` python3 subhawk.py example.com ``` ### 带所有选项 ``` python3 subhawk.py example.com -v --verify -o results ``` ### 命令行参数 | 参数 | 简写 | 描述 | |----------|-------|-------------| | `domain` | - | 要枚举的目标域名(必填) | | `--verbose` | `-v` | 启用带有详细日志的详细输出 | | `--output` | `-o` | 指定输出文件名(不带扩展名) | | `--verify` | - | 验证所发现子域名的 DNS 解析 | ## 枚举技术 ### 1. **Sublist3r** - 使用多个搜索引擎(Google、Yahoo、Bing、百度等) - 查询公共子域名数据库 - 多线程实现快速枚举 - 无需身份验证 ### 2. **证书透明度 (CT)** - 查询 crt.sh SSL 证书数据库 - 从已颁发的 SSL 证书中识别子域名 - 对活动子域名的识别非常可靠 - 无需身份验证 ### 3. **DNS 枚举** - 解析 NS 记录以查找名称服务器 - 查询 A、MX 和其他 DNS 记录 - 识别邮件服务器和其他服务 - 无需身份验证 ### 4. **暴力破解** - 测试常见的子域名前缀 - 涵盖 50 多个常见的子域名 - 采用速率限制以避免被封禁 - 包括:www、mail、ftp、api、dev、staging、admin 等 ### 5. **公共 API** - **HackerTarget API**(免费,无需密钥) - **Shodan API**(可选,需要 API 密钥) - 被动侦察数据 - HackerTarget 不存在速率限制问题 ## 输出 该工具会生成两个输出文件: ### JSON 输出 (`subdomains_example.com_TIMESTAMP.json`) ``` { "domain": "example.com", "timestamp": "2026-04-29T10:30:45.123456", "techniques": { "sublist3r": ["www.example.com", "mail.example.com"], "certificate_transparency": ["api.example.com", "cdn.example.com"], "dns_enumeration": ["mail.example.com"], "brute_force": ["ftp.example.com"], "public_apis": ["dev.example.com"] }, "total_subdomains": 8, "subdomains": ["api.example.com", "cdn.example.com", ...], "verified_subdomains": { "www.example.com": "93.184.216.34", "mail.example.com": "93.184.216.35" } } ``` ### 文本输出 (`subdomains_example.com_TIMESTAMP.txt`) ``` Subdomains for example.com Generated: 2026-04-29 10:30:45 ============================================================ api.example.com cdn.example.com dev.example.com ftp.example.com mail.example.com www.example.com ``` ## 示例 ### 示例 1:基本枚举 ``` $ python3 subhawk.py google.com [2026-04-29 10:30:00] [INFO] Starting enumeration for domain: google.com [2026-04-29 10:30:05] [SUCCESS] Found 45 subdomains via Sublist3r [2026-04-29 10:30:10] [SUCCESS] Found 120 subdomains via Certificate Transparency ... [2026-04-29 10:31:00] [SUCCESS] Enumeration complete. Found 200 unique subdomains ============================================================ SUBDOMAIN ENUMERATION SUMMARY FOR: google.com ============================================================ Total Subdomains Found: 200 Discovered Subdomains: ------------------------------------------------------------ • accounts.google.com • ads.google.com • android.google.com • api.google.com ... ``` ### 示例 2:带验证的详细输出 ``` python3 subhawk.py example.com -v --verify -o my_results ``` ### 示例 3:检查特定域名并导出结果 ``` python3 subhawk.py tesla.com -o tesla_subdomains ``` ## API 密钥(可选) ### Shodan API(可选) 如需使用 Shodan API 进行额外的枚举: 1. 在 https://www.shodan.io/ 获取免费账户 2. 从 https://account.shodan.io/ 获取您的 API 密钥 3. 将密钥添加到 `subhawk.py` 的第 244 行: ``` shodan_key = "YOUR_SHODAN_API_KEY_HERE" ``` **注意:** Shodan 集成是可选的。没有它,该工具也能正常工作。 ## 性能提示 - **使用 `--verify` 标志**以确保子域名实际可解析 - **将结果保存到文件**,用于大型域名枚举(100 个以上子域名) - **仅在调试问题时使用详细输出模式** - **在非高峰时段运行**,以尽量减少对目标网络的负面影响 ## 局限性 - 需要活跃的网络连接 - 部分API采用速率限制以避免被封禁 - 只能找到符合以下条件的子域名: - 拥有 DNS 记录 - 已颁发 SSL 证书 - 被搜索引擎收录 - 存在于公共数据库中 - 不执行深度爬取或主动探测 ## 故障排除 ### 问题:"sublist3r not installed" ``` pip install sublist3r ``` ### 问题:"DNS resolution errors" 检查您的网络连接和防火墙设置。某些网络会阻止 DNS 查询。 ### 问题:"Certificate Transparency timeout" crt.sh 服务器可能暂时不可用。请稍后重试。 ### 问题:"Rate limited by HackerTarget" 该工具内置了速率限制。如果您被阻止,请等待几分钟再重试。 ## 法律与免责声明 ⚠️ **重要法律声明** 本工具仅供**授权安全测试**使用。未经授权访问计算机系统是违法行为。 ### 在使用本工具之前: 1. **获取书面许可**:仅扫描您拥有或已获得明确书面许可进行测试的域名 2. **遵守当地法律**:确保您的活动符合当地、州和联邦法律 3. **尊重服务条款**:遵守目标网站的服务条款 4. **负责任的披露**:如果您发现漏洞,请通过适当的渠道负责任地报告 ### 免责声明: 作者和贡献者对本工具的任何误用或造成的损害不承担任何责任。用户需对自己的行为负全部责任。 **本工具仅供教育和授权安全测试目的使用。** ## 许可证 本项目基于 MIT 许可证授权 - 详见 [LICENSE](LICENSE) 文件。 ``` MIT License Copyright (c) 2026 [Your Name] Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. ``` ## 作者 **Your Name** - GitHub: [@bugxcve](https://github.com/bugxcve) - 电子邮件: bugxcve@gmail.com ## 更新日志 ### 版本 1.0.0 (2026-04-29) - 初始版本 - 5 种枚举技术 - JSON 和 TXT 输出格式 - DNS 验证功能 - 命令行界面 ## 致谢 - [Sublist3r](https://github.com/aboul3la/Sublist3r) - 核心枚举库 - [crt.sh](https://crt.sh) - 证书透明度数据库 - [HackerTarget](https://api.hackertarget.com) - 子域名 API - Python 社区 **⭐ 如果您觉得这个工具很有用,请考虑在 GitHub 上给它一个 Star!**
标签:Bug Bounty, DNS解析, ESC4, GitHub, OSINT, PoC, Python, Windows内核, 可自定义解析器, 子域名枚举, 开源项目, 搜索引擎枚举, 数据展示, 无后门, 暴力破解, 用户模式钩子绕过, 白帽子, 系统安全, 红队, 网络安全, 证书透明度, 进程管理, 逆向工具, 隐私保护