MMVonnSeek/Subdomain-Enumerator

GitHub: MMVonnSeek/Subdomain-Enumerator

一款面向进攻性安全与威胁情报的混合子域枚举框架,结合主动与被动技术提升侦察效率。

Stars: 4 | Forks: 0

# SubEnum — 混合子域枚举框架 ### *高级侦察引擎,用于进攻性安全与网络威胁分析* MMVonnSeek ![Python](https://img.shields.io/badge/Python-3.10%2B-blue?style=for-the-badge&logo=python) ![Security Research](https://img.shields.io/badge/Security%20Research-Ready-darkred?style=for-the-badge&logo=target) ![Offensive Security](https://img-shields.io/badge/Offensive%20Security-Ready-black?style=for-the-badge&logo=skynet) ![AsyncIO](https://img-shields.io/badge/AsyncIO-High%20Performance-green?style=for-the-badge&logo=fastapi) ## 概述 SubEnum 是一款为进攻性安全、漏洞赏金、威胁情报和攻击工程环境开发的混合子域枚举工具。 **该框架结合了:** - 主动枚举 - 被动枚举 - 传统 DNS - DNS-over-HTTPS (DoH) - 可扩展词表 - 专业侦察 API 采用干净、模块化且适用于专业流水线架构。 Dashboard ## 主要特性 ### 1. 混合枚举(主动 + 被动) | 来源 | 类型 | 需要 API 密钥 | 状态 | |-------|------|----------------|--------| | 暴力词表 | 主动 | 否 | ✔ | | DNS 解析器 | 主动 | 否 | ✔ | | DNS-over-HTTPS (Cloudflare) | 主动 | 否 | ✔ | | crt.sh | 被动 | 否 | ✔ | | SecurityTrails | 被动 | 是 | ✔ | | Shodan | 被动 | 是 | ✔ | ### 2. 高性能并行执行 - AsyncIO - ThreadPool 执行器 - 批量解析(每秒数千条) - 自动检测通配符 DNS ### 3. 自动生成 HTML 仪表板 执行后生成,包含: - 子域映射 - 来源:主动 / 被动 / 通配符 - 统计信息 - DNS 树深度 ### 4. 结构化日志 + 遥测 JSON-Lines 格式: {"time": "2025-11-20 17:38:37", "level": "INFO", "name": "subenum.core", "msg": "Starting hybrid enumeration for example.com"} 兼容: - Splunk - ELK Stack - Datadog - Loki / Grafana ### 5. 模块化词表 default.txt → 快速 generate_mega_wordlist.py → 生成 mega_wordlist.txt(数百万条目) ### 安装 **1. Fork 仓库:** 首先,在 GitHub 上创建您自己的副本: - 点击右上角 Fork 按钮。 - 这将在您的账户中创建该仓库的副本。 **2. 克隆您的 Fork 仓库:** ``` git clone https://github.com/MMVonnSeek/Subdomain-Enumerator.git cd SubEnum ``` **3. 创建虚拟环境并安装依赖** ``` python3 -m venv venv source venv/bin/activate pip install -r requirements.txt ``` **4. (可选)作为包安装** ``` pip install -e . ``` ### 使用方法 **1. 基础模式** ``` python -m subenum.cli --domain exemplo.com --wordlist wordlists/default.txt ``` **2. 深度模式(巨型词表)** 生成巨型词表: ``` python wordlists/generate_mega_wordlist.py ``` 执行深度枚举: ``` python -m subenum.cli \ --domain target.com \ --wordlist wordlists/mega_wordlist.txt \ --dashboard dashboard.html ``` **3. 执行带仪表板的扫描(标准扫描)** ``` python -m subenum.cli --domain target.com --wordlist wordlists/default.txt --dashboard dashboard.html ``` **4. 被动模式** **crt.sh** ``` python -m subenum.cli --domain target.com --passive crtsh ``` **SecurityTrails** ``` export SECURITYTRAILS_KEY="SUA_API_KEY" python -m subenum.cli --domain target.com --passive securitytrails ``` **Shodan** ``` export SHODAN_KEY="SUA_API_KEY" python -m subenum.cli --domain target.com --passive shodan ``` cliscan ### 通配符 DNS 检测 **警告示例:** Wildcard DNS detected; results will be marked but still returned. 标记结果: {"subdomain": "test.example.com", "wildcard": true} Wildcard ### 自动化测试 ``` pytest -v ``` #### 基准测试 ## python -m subenum.cli \ --domain target.com \ --wordlist wordlists/ultimate_50k.txt \ --benchmark \ --threads 200 **典型输出:** [Benchmark] 50.000 resolutions in 8.2s (6.097 qps) ## 结果示例 对域名进行枚举后,SubEnum 生成一个结构化的 JSON 文件,包含识别出的子域、关联的 IP 地址、发现来源及其他相关信息: json ## 许可证 本项目在 MIT 许可证下分发,允许使用、修改和自由分发,包括商业用途,前提是保留适当署名。 请参阅 LICENSE 文件获取更多信息。 [![Stars](https://img.shields.io/github/stars/MMVonnSeek/Subdomain-Enumerator?style=social)](https://github.com/MMVonnSeek/Subdomain-Enumerator/stargazers) [![Forks](https://img.shields.io/github/forks/MMVonnSeek/Subdomain-Enumerator?style=social)](https://github.com/MMVonnSeek/Subdomain-Enumerator/network/members) [![Follow](https://img.shields.io/github/followers/MMVonnSeek?style=social)](https://github.com/MMVonnSeek)
[返回顶部](#-Subdomain-Enumerator)
标签:DNS over HTTPS, DNS解析器, DoH, HTML仪表板, SecurityTrails, 专业架构, 主动枚举, 关键词SEO, 域名侦察, 威胁情报, 子域名枚举, 并行处理, 开发者工具, 异步IO, 攻击工程, 模块化架构, 系统安全, 结构化日志, 自动化仪表板, 被动枚举, 词表爆破, 逆向工具