n4cr0t1c/UncleDoe

GitHub: n4cr0t1c/UncleDoe

自动化威胁情报工具,通过一次命令聚合多源数据并生成结构化OSINT报告。

Stars: 0 | Forks: 0

# 🔍 UncDoe — 自动化威胁情报工具 [![Python 3.9+](https://img.shields.io/badge/Python-3.9+-blue.svg)](https://python.org) [![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](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, 信息安全, 单命令扫描, 可观测性, 域名侦察, 威胁情报, 子域名枚举, 开发者工具, 数字签名, 数据统计, 无后门, 泄露检测, 特征匹配, 病毒总览, 端口扫描, 系统安全, 结构化报告, 网络安全, 逆向工具, 隐私保护, 风险评分