0x5da/Imperium-OSINT-Framework-tool

GitHub: 0x5da/Imperium-OSINT-Framework-tool

面向安全研究的域名侦察自动化工具,整合 DNS 解析、子域名枚举和 HTTP 服务探测功能,支持结果持久化与导出。

Stars: 1 | Forks: 0

## OSINT Framework *由 0x5da 创建* 域名情报聚合与自动化侦察套件。收集 DNS 记录,执行子域名枚举,并通过智能缓存和速率限制跟踪目标域名上的 HTTP/HTTPS 可用性。 ### 为什么构建这个工具 作为安全研究人员和渗透测试人员的基础 OSINT 工具而创建,满足自动化域名侦察的需求。旨在通过自动化 DNS 查询、子域名枚举和服务发现来简化初始侦察阶段——消除重复性的手动查询,并为跨多个项目的发现结果提供持久化存储。 ### 功能特性 - **DNS 解析**:查询目标域名的 A、AAAA、MX、NS 和 TXT 记录 - **子域名发现**:使用常见子域名模式和自定义字典进行暴力枚举 - **HTTP 状态检测**:探测已发现目标上的活跃 HTTP/HTTPS 服务 - **结果持久化**:将所有发现存储在 SQLite 数据库中,并通过智能缓存避免重复查询 - **导出功能**:支持 JSON 导出,便于与下游安全工具集成 ### 工作原理 该框架使用异步 DNS 查询来加速子域名枚举,并通过信号量管理并发网络连接,以防止压垮目标服务器。DNS 缓存在数据库层面实现,以减少冗余查询。该工具通过可配置的请求间隔来遵守速率限制。 ### 安装与使用 ``` pip install -r requirements.txt python main.py example.com [--wordlist wordlist.txt] [--export results.json] ``` **参数说明:** - `domain`:要枚举的目标域名 - `--wordlist`:自定义子域名字典(可选) - `--db`:SQLite 数据库路径(默认:recon.db) - `--export`:将结果导出到 JSON 文件 **示例:** ``` # 基础枚举 python main.py google.com # 使用自定义 wordlist 和导出 python main.py acme.corp --wordlist subs.txt --export acme_recon.json ``` ### 注意事项 - 子域名枚举限制为每个信号量组每秒 1 次请求,以避免触发 IDS/WAF - 大型字典(>1万条目)可能需要较长时间;建议仅筛选常见模式 - AAAA (IPv6) 查询在隔离网络上可能会失败;这是正常行为 - 数据库将无限期保存;定期使用 `sqlite3 recon.db "DELETE FROM dns_records WHERE timestamp < '2024-01-01'"` 清理旧记录 ### 依赖项 - aiohttp:异步 HTTP 客户端 - dnspython:DNS 工具(已安装,但配合 socket.getaddrinfo 使用时非严格必需) - Python 3.8+
标签:DNS侦察, ESC4, GitHub, HTTP状态检测, OSINT, Python, SQLite, T_A0000, 域名情报, 子域名枚举, 开源网络情报, 异步编程, 无后门, 暴力枚举, 系统安全, 网络安全, 自动化侦察, 逆向工具, 隐私保护