Siwaaaar/subdomain-enum

GitHub: Siwaaaar/subdomain-enum

一款集成多源被动与主动探测的快速子域名枚举工具,解决子资产发现与风险评分的一体化问题。

Stars: 0 | Forks: 0

# subdomain-enum 快速、全功能的子域名枚举工具,使用 Go 编写。结合了 10 多种被动和主动来源,进行 DNS 解析、HTTP 探测、端口扫描、归档 URL 爬取,并生成带有风险评分的情报报告。 ## 功能 - **被动枚举**:subfinder、amass、chaos、assetfinder、findomain、crt.sh、SecurityTrails - **主动枚举**:DNS 暴力破解(puredns)、子域名排列(gotator) - **DNS 解析**:通过 dnsx 进行,支持通配符检测与过滤 - **HTTP 探测**:通过 httpx 进行,支持停放页过滤 - **端口扫描**:通过 naabu 进行验证 - **归档爬取**:通过 waybackurls + gau 进行智能 URL 采样 - **情报分析**:子域名重要性评分、端点分类、风险评估 - **批量处理**:支持并行处理多个域名,具备续传功能 - **缓存**:24 小时 TTL 缓存,避免重复查询 - **输出格式**:TXT、JSON、CSV、Markdown 报告 ## 安装 ``` go install github.com/Siwaaaar/subdomain-enum@latest ``` 或者从源码构建: ``` git clone https://github.com/Siwaaaar/subdomain-enum.git cd subdomain-enum go build -o subdomain-enum main.go ``` ## 先决条件 所需工具(通过 `go install` 或包管理器安装): ``` subfinder, amass, chaos, assetfinder, findomain, dnsx, httpx, naabu, waybackurls, gau ``` 可选: ``` puredns # for brute-force (-w flag) gotator # for permutation (-m flag) gowitness # for screenshots (-screenshots flag) ``` ## API 密钥 | 来源 | 环境变量 | 获取方式 | 是否必需 | |---|---|---|---| | SecurityTrails | `SECURITYTRAILS_API_KEY` | [securitytrails.com/app/signup](https://securitytrails.com/app/signup)(提供免费层级) | 否 —— 工具无需它也能运行,但启用后可获得更多结果 | | Chaos (ProjectDiscovery) | `PDCP_API_KEY` | [cloud.projectdiscovery.io](https://cloud.projectdiscovery.io) | 否 —— subfinder/chaos 在设置后会使用 | 在 Shell 中设置: ``` export SECURITYTRAILS_API_KEY="your-key-here" ``` 或通过标志传递: ``` subdomain-enum -d example.com -st "your-key-here" ``` ## 用法 ``` # 单一域名 subdomain-enum -d example.com # 使用暴力破解 + 排列组合 + 端口扫描 subdomain-enum -d example.com -w wordlist.txt -p -m # 从文件批处理模式 subdomain-enum -f domains.txt --max-concurrent 10 # 全部功能,JSON 输出 subdomain-enum -d example.com -w wordlist.txt -p -a -m -o all ``` ## 标志 ``` -d Target domain -f File containing domains (one per line) -w Wordlist for brute-forcing -p Enable port scanning -a Enable archive crawling (waybackurls + gau) -m Enable subdomain permutation (gotator) -screenshots Take screenshots of live URLs (gowitness) -st SecurityTrails API key (or set SECURITYTRAILS_API_KEY env) -o Output format: txt, json, csv, all (default: txt) -cache Enable result caching (default: true) -max-concurrent Max concurrent domains in batch mode (default: 5) ``` ## 输出结构 ``` subdomain_enum_example.com_20260421_120000/ ├── subdomains.txt # All discovered subdomains ├── resolved.txt # DNS-resolved subdomains ├── live_urls.txt # HTTP-responsive URLs ├── ports.txt # Open ports per host ├── endpoints.txt # Crawled endpoints ├── sensitive_files.txt # Potentially sensitive paths ├── intelligence_report.md # Risk-scored analysis ├── results.json # Full results (with -o json/all) ├── results.csv # CSV export (with -o csv/all) ├── summary.txt # Scan summary └── details/ # Raw tool outputs ``` ## 情报报告 该工具会生成一份安全情报报告,包含: - **子域名评分**:管理面板、API、开发/预发布环境、数据库按重要性排序 - **端点分析**:归类为 API、管理员、认证、上传、调试或敏感 - **发现项**:暴露的调试端点、默认凭证页面、版本泄露等 - **风险评分**:基于所有发现的 0-100 聚合评分
标签:API安全, CSV输出, DNS解析, EVTX分析, Go工具, Go语言, HTTP探测, JSON输出, Markdown报告, SEO, Transformers, TXT输出, Wayback URLs, 主动枚举, 事件追踪, 反取证, 域名侦察, 子域名枚举, 安全评估, 并行处理, 开源安全工具, 开源项目, 归档URL爬取, 情报分析, 批量处理, 数据统计, 日志审计, 智能采样, 程序破解, 端口扫描, 端点分类, 系统安全, 缓存, 网络诊断, 被动枚举, 运行时操纵, 逆向工程平台, 风险评分