Sami-cs-debug/ShadowEnum
GitHub: Sami-cs-debug/ShadowEnum
一款基于 Python 异步的子域名枚举工具,集 DNS 暴力破解、多源 OSINT 被动收集与 Shodan 资产富化于一体,帮助安全人员在侦察阶段快速获取目标的子域名及开放端口等信息。
Stars: 0 | Forks: 0
# ShadowEnum 🔍
**快速异步子域名枚举与侦察工具**
## 功能
| 模块 | 描述 |
|--------|-------------|
| **DNS 暴力破解** | 使用轮换解析器进行异步并发 DNS 解析 |
| **OSINT 收集** | crt.sh、AlienVault OTX、HackerTarget、RapidDNS、VirusTotal、SecurityTrails |
| **Shodan 富化** | 每个 IP 的开放端口、Banners、组织信息和已知 CVE |
| **丰富的输出** | 实时进度条、彩色结果表格 |
| **导出** | 带时间戳的 JSON 和 CSV 报告 |
## 安装
```
git clone https://github.com/yourname/shadowenum
cd shadowenum
pip install -r requirements.txt
```
## 使用方法
```
# 基础爆破
python shadowenum.py -d example.com
# 使用自定义字典和更多线程
python shadowenum.py -d example.com -w /path/to/wordlist.txt -t 300
# 完整 OSINT + Shodan 扩展
python shadowenum.py -d example.com --osint --shodan --shodan-key YOUR_KEY
# 所有模块 + 保存 JSON 和 CSV
python shadowenum.py -d example.com --all --shodan-key KEY --vt-key KEY --json --csv
# 静默模式 (仅结果,无实时输出)
python shadowenum.py -d example.com --osint --silent --json
```
## 选项
```
Target:
-d, --domain Target domain (required)
Enumeration Modes:
--bruteforce DNS brute force (default: enabled)
--osint OSINT sources: crt.sh, AlienVault, HackerTarget
--shodan Shodan enrichment (requires API key)
--all Enable all modules
DNS / Brute Force Config:
-w, --wordlist Path to wordlist file
-t, --threads Concurrent DNS tasks (default: 150)
-r, --resolvers Custom resolvers file
--timeout DNS query timeout in seconds (default: 3.0)
API Keys:
--shodan-key Shodan API key
--vt-key VirusTotal API key
--st-key SecurityTrails API key
Output:
-o, --output Output directory (default: ./output)
--json Save JSON report
--csv Save CSV report
--silent Suppress live output
```
## OSINT 来源
| 来源 | 是否需要认证 | 数据 |
|--------|--------------|------|
| crt.sh | 否 | 证书透明度日志 |
| AlienVault OTX | 否 | 被动 DNS |
| HackerTarget | 否 | DNS 查询 |
| RapidDNS | 否 | DNS 数据库 |
| VirusTotal | API Key | 子域名数据库 |
| SecurityTrails | API Key | 历史 DNS |
| Shodan | API Key | 端口、Banners、漏洞 |
## 输出示例
```
╭──────────────────────────────────────────────────────────╮
│ ShadowEnum Results — example.com │
├────────────────────────┬────────────────┬────────────────┤
│ Subdomain │ IP(s) │ Ports │
├────────────────────────┼────────────────┼────────────────┤
│ api.example.com │ 93.184.216.34 │ [80, 443, 8080]│
│ dev.example.com │ 93.184.216.35 │ [22, 80, 443] │
│ staging.example.com │ 93.184.216.36 │ [80, 443] │
╰────────────────────────┴────────────────┴────────────────╯
```
## 项目结构
```
shadowenum/
├── shadowenum.py # Entry point
├── requirements.txt
├── wordlists/
│ ├── subdomains.txt # Default wordlist (~200 entries)
│ └── resolvers.txt # Custom DNS resolvers (optional)
├── core/
│ ├── config.py # Configuration dataclass
│ └── engine.py # Orchestration engine
├── modules/
│ ├── resolver.py # Async DNS resolver + result model
│ ├── dns_brute.py # Brute force module
│ ├── osint.py # OSINT collection module
│ └── shodan_enricher.py # Shodan enrichment module
└── output/
└── reporter.py # Rich output + JSON/CSV export
```
## 授权使用场景
- 范围内域名的 Bug Bounty 侦察
- 签署范围协议的渗透测试
- 您自身基础设施的安全评估
- CTF 挑战
## 法律声明
本工具仅用于**授权的安全测试**。
作者对滥用行为不承担任何责任。
在扫描任何目标之前,请务必获得书面许可。
标签:API集成, Ask搜索, DNS爆破, DNS解析, ESC4, GitHub, OSINT, Python, SecurityTrails, VirusTotal, 侦察工具, 可观测性, 域名发现, 威胁情报, 子域名枚举, 子域名爆破, 开发者工具, 开源项目, 异步并发, 数据统计, 无后门, 端口扫描, 系统安全, 网络安全, 计算机取证, 资产测绘, 逆向工具, 通用签名格式, 隐私保护