n4cr0t1c/UncleDoe
GitHub: n4cr0t1c/UncleDoe
自动化威胁情报工具,通过一次命令聚合多源数据并生成结构化OSINT报告。
Stars: 0 | Forks: 0
# 🔍 UncDoe — 自动化威胁情报工具
[](https://python.org)
[](LICENSE)
## 功能
运行单个命令即可获取任何域名的完整 OSINT 档案:
```
python uncdoe.py
# 编辑 .env 并添加您的 API 密钥
python uncdoe.py --target example.com
```
该工具聚合 **6 个公开数据源** 的情报,应用 **自定义 7 因子风险评分算法**,并输出 **结构化的 PDF 威胁报告** — 将手动侦察时间减少约 80%。
### 数据源
| 来源 | 收集的数据 |
|------|-----------|
| **WHOIS** | 注册商、创建/过期日期、注册人信息 |
| **DNS** | A、AAAA、MX、NS、TXT、CNAME、SOA 记录 + SPF/DMARC 检查 |
| **子域名扫描** | 暴力枚举 50 个常见子域名(支持多线程) |
| **VirusTotal** | 恶意/可疑引擎标记、类别、信誉评分 |
| **Shodan** | 开放端口、运行服务、CVE、操作系统指纹 |
| **LeakCheck** | 域名泄露历史、影响账户、数据类别 |
## 安装
### 1. 克隆仓库
```
git clone https://github.com/UncDoe/UncDoe.git
cd UncDoe
```
### 2. 创建虚拟环境
```
python3 -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
```
### 3. 安装依赖
```
pip install -r requirements.txt
```
### 4. 配置 API 密钥
```
cp .env.example .env
# 或者绕过交互模式
```
获取免费 API 密钥(每个约需 5 分钟):
- **VirusTotal** → [virustotal.com](https://www.virustotal.com)(免费,4 次/分钟)
- **Shodan** → [shodan.io](https://www.shodan.io)(免费,限制额度)
- **LeakCheck** → [leakcheck.io](https://leakcheck.io)(免费公共 API)
## 使用
### 基本扫描
```
python uncdoe.py --target example.com
```
### 自定义输出文件
```
python uncdoe.py --target example.com --output my_report
```
### 位置参数目标(简写)
```
python uncdoe.py example.com
```
### 跳过特定模块
```
python uncdoe.py --target example.com --no-shodan --no-vt
```
### 完整选项
```
usage: uncdoe.py [-h] [-t TARGET] [-o OUTPUT] [--no-shodan] [--no-vt]
[--no-breach] [--threads THREADS] [target]
Options:
-t, --target Target domain to scan
-o, --output Output PDF file path
--no-shodan Skip Shodan lookup
--no-vt Skip VirusTotal lookup
--no-breach Skip breach/email leak check
--threads Subdomain brute-force threads (default: 20)
```
## 架构 — 工作原理
```
uncdoe.py (CLI Entry Point)
│
├── Phase 1: Core Reconnaissance (concurrent)
│ ├── whois_module.py → WHOIS registration data
│ ├── dns_module.py → DNS record enumeration + SPF/DMARC
│ └── subdomain_module.py → Threaded subdomain brute-force
│
├── Phase 2: Threat Intelligence (concurrent)
│ ├── vt_module.py → VirusTotal API v3
│ ├── shodan_module.py → Shodan REST API
│ └── breach_module.py → LeakCheck Public API
│
├── Phase 3: Risk Analysis
│ └── scorer.py → 7-factor weighted scoring (0-100)
│
└── Phase 4: Report Generation
└── report.py → Professional PDF via fpdf2
```
### 风险评分算法
评分器评估 7 个加权因子并生成 0–100 的标准化分数:
| 因子 | 分值 | 条件 |
|------|------|------|
| FTP(端口 21) | +15 | 端口开放 |
| Telnet(端口 23) | +20 | 端口开放 |
| RDP(端口 3389) | +20 | 端口开放 |
| SMB(端口 445) | +15 | 端口开放 |
| VirusTotal 恶意 | +30 | 1 个及以上引擎标记域名 |
| VirusTotal 可疑 | +15 | 1 个及以上引擎标记域名 |
| 邮箱泄露数据 | +25 | 域名存在于泄露数据库 |
| 缺少 SPF | +10 | 无 SPF TXT 记录 |
| 缺少 DMARC | +10 | 无 DMARC 记录 |
| 子域名暴露 | +10 | 发现超过 10 个子域名 |
| 已知 CVE | +5 每项 | 最高累计 20 分 |
**严重性标签:**
- **0–25:** 🟢 低
- **26–50:** 🟡 中
- **51–75:** 🔴 高
- **76–100:** 🟣 危急
## 示例报告结构
生成的 PDF 包含:
1. **标题页** — 域名、时间戳、风险评分徽章
2. **执行摘要** — 关键发现一览
3. **WHOIS 信息** — 注册详情
4. **DNS 记录** — 所有记录类型 + 邮件安全状态
5. **子域名枚举** — 发现的子域名及对应 IP
6. **VirusTotal 信誉** — 引擎标记与类别
7. **Shodan — 开放端口** — 服务、版本、CVE
8. **泄露数据** — 已知泄露历史
9. **风险评分分析** — 分数分解表
10. **建议** — 上下文感知的修复步骤
## 免责声明
本工具仅用于 **授权的安全评估** 和 **教育目的**。在扫描任何您不拥有的域名之前,请务必获得明确授权。作者不对该工具的滥用负责。
## 许可证
MIT 许可证 — 详情请参阅 [LICENSE](LICENSE)。
标签:API集成, Ask搜索, CVE, DMARC, DNS记录, ESC4, LeakCheck, meg, OSINT, PDF报告, Python, SPF, VirusTotal, WHOIS, 信息安全, 单命令扫描, 可观测性, 域名侦察, 威胁情报, 子域名枚举, 开发者工具, 数字签名, 数据统计, 无后门, 泄露检测, 特征匹配, 病毒总览, 端口扫描, 系统安全, 结构化报告, 网络安全, 逆向工具, 隐私保护, 风险评分