Ruby570bocadito/OSINT-EYE

GitHub: Ruby570bocadito/OSINT-EYE

一个综合性的模块化开源情报与攻击面侦察平台,能够自动化收集并关联 DNS、证书、Web 档案及漏洞等多维度公开数据。

Stars: 0 | Forks: 0

Typing SVG

原名为 OSINT-EYE  |  现已更名为 Horizon-Intel

## 📋 目录 - [概述](#-overview) - [架构](#-architecture) - [功能](#-features) - [模块](#-modules) - [快速开始](#-quick-start) - [使用示例](#-usage-examples) - [Web 仪表盘](#-web-dashboard) - [配置](#-configuration) - [路线图](#-roadmap) - [贡献](#-contributing) - [许可证](#-license) ## 🌐 概述 **Horizon-Intel** 是一个模块化的**开源情报 (OSINT)** 与**攻击面侦察**平台。它可以自动从公开来源收集数据 —— 包括 DNS 记录、证书透明度日志、Web 档案、WHOIS、GitHub 代码搜索、Google dorking 以及 NVD/CVE 数据库 —— 并将结果关联起来,转化为可操作的情报。 作为从头构建的综合侦察工具包,它服务于渗透测试人员、漏洞赏金猎人、SOC 分析师和安全研究人员。 ### 为什么选择 Horizon-Intel? | 功能 | 描述 | |------------|-------------| | 🔍 **DNS 侦察** | 子域名枚举、排列、区域传送、接管检测 | | 🔐 **证书情报** | 通过 crt.sh 进行证书透明度日志扫描 | | 🌐 **Web 历史记录** | Wayback Machine URL 枚举和内容发现 | | 🖧 **网络扫描** | 通过 python-nmap 进行端口扫描 | | 🕵️ **OSINT Dorking** | GitHub 代码搜索 + Google dorking 自动化 | | 📋 **漏洞查询** | 通过 nvdlib 查询 CVE/NVD 数据库 | | 🧠 **关联引擎** | 跨所有模块交叉引用发现结果 | | 📊 **图谱分析** | 实体关系映射和攻击面可视化 | | 🤖 **AI 集成** | 通过 Ollama 进行本地 LLM 分析 | | 📝 **报告生成** | 生成带有 MITRE ATT&CK 映射的 Markdown 和 PDF 报告 | | 🌐 **Web 仪表盘** | 基于 Flask 并带有 D3.js 可视化的交互式仪表盘 | ## 🏗 架构 ``` graph LR A[Public Sources] --> B[Data Collectors] B --> C[Normalization Layer] C --> D[Correlation Engine] D --> E[(In-Memory / SQLite Cache)] E --> F[Visualization Layer] F --> G[Reports] style A fill:#0d47a1,color:#fff style B fill:#1565c0,color:#fff style C fill:#1976d2,color:#fff style D fill:#1e88e5,color:#fff style E fill:#2196f3,color:#fff style F fill:#42a5f5,color:#fff style G fill:#64b5f6,color:#fff ``` ### 数据流 ``` flowchart TD subgraph Sources["🌐 Public Sources"] S1[DNS / WHOIS] S2[Certificate Logs] S3[Wayback Machine] S4[GitHub Search] S5[Google Search] S6[NVD / CVE] end subgraph Collectors["📡 Collectors"] C1[DNS Scanner] C2[Cert Scanner] C3[Wayback Scanner] C4[GitHub Dorker] C5[Google Dorker] C6[NVD Lookup] end subgraph Processing["⚙️ Processing"] P1[Parser] P2[Deduplicator] P3[Enricher] end subgraph Storage["💾 Storage"] DB[(In-Memory)] CA[(SQLite Cache)] end subgraph Analysis["📊 Analysis"] A1[Correlation Engine] A2[Graph Analysis] A3[Timeline Builder] A4[LLM Analysis] end subgraph Output["📤 Output"] O1[Dashboard] O2[Markdown Reports] O3[PDF Reports] O4[MITRE Mapping] end Sources --> Collectors Collectors --> Processing Processing --> Storage Storage --> Analysis Analysis --> Output ``` ## ✨ 功能 ### 🔬 侦察模块 - **DNS 枚举**:A、AAAA、MX、NS、TXT、CNAME、SOA 记录;子域名暴力破解;证书透明度 (crt.sh);带有接管检测的子域名排列 - **Web 情报**:Wayback Machine URL 历史记录、JavaScript endpoint 发现、技术指纹识别 - **证书分析**:SSL 证书透明度日志扫描 - **网络扫描**:通过 `python-nmap` 发现端口和服务 - **WHOIS 查询**:域名注册和所有权数据 ### 🕵️ OSINT Dorking - **GitHub Dorking**:自动搜索 API 密钥、凭据、AWS 机密、私钥、数据库连接字符串、配置文件等代码 - **Google Dorking**:自动搜索登录页面、管理面板、敏感文件、配置文件、备份文件 ### 📋 漏洞情报 - **NVD/CVE 查询**:查询国家漏洞数据库,获取影响已发现服务的已知漏洞 ### 🧠 AI 集成 - **Ollama 引擎**:利用本地 LLM 分析侦察结果以获取更多见解(完全离线,无云依赖) ### 🔗 关联与分析 - **资产关联器**:交叉引用 DNS、证书、网络和 Web 数据,构建统一的资产清单 - **图谱构建器**:带有交互式 HTML 可视化的实体关系图(由 vis-network 提供支持) - **扫描差异引擎**:比较目标之间的结果并生成漏洞赏金风格的报告 - **MITRE ATT&CK 映射**:将发现结果映射到 MITRE ATT&CK 框架 ### 📝 报告生成 - **Markdown 报告**:人类易读的 Markdown 报告,按模块划分章节 - **PDF 报告**:通过 ReportLab 生成专业的 PDF 报告 - **赏金报告**:漏洞赏金风格的格式化报告 - **Neo4j 导出**:将关系图导出为 Cypher 查询 ### 🌐 Web 仪表盘 - Flask + D3.js 交互式仪表盘 - 用于扫描结果的 REST API - 子域名、端口、图谱和 MITRE 可视化 ## 🧩 模块 | 模块 | 文件 | 描述 | |--------|------|-------------| | **DNS 扫描器** | `modules/dns/dns_scanner.py` | DNS 记录枚举、子域名发现 | | **高级 DNS** | `modules/dns/advanced_dns.py` | 区域传送、DNSSEC、AXFR 尝试 | | **子域名排列器** | `modules/dns/subdomain_permutator.py` | 子域名排列 + 接管检测 | | **证书扫描器** | `modules/certs/cert_scanner.py` | 证书透明度 (crt.sh) 扫描 | | **Web 扫描器** | `modules/web/web_scanner.py` | 技术指纹识别、endpoint 发现 | | **Wayback 扫描器** | `modules/web/wayback.py` | Wayback Machine URL 历史记录 | | **网络扫描器** | `modules/network/scanner.py` | 通过 python-nmap 进行端口扫描 | | **WHOIS 扫描器** | `modules/osint/whois.py` | 域名 WHOIS 查询 | | **GitHub Dorker** | `modules/osint/github.py` | GitHub 代码搜索 dorking | | **Google Dorker** | `modules/osint/google.py` | Google 搜索 dorking | | **云/电子邮件** | `modules/osint/cloud_email.py` | 云存储桶检测、电子邮件枚举、CDN 检测 | | **CVE 扫描器** | `modules/cve/nvd.py` | NVD 漏洞数据库查询 | | **AI 引擎** | `ai/llm_engine.py` | Ollama 本地 LLM 分析 | | **关联器** | `core/correlator.py` | 跨模块资产关联 | | **图谱构建器** | `graph/builder.py` | 带有 vis-network 的关系图谱 | | **扫描差异** | `core/scan_diff.py` | 目标比较和差异报告 | | **MITRE 映射器** | `reporting/mitre_mapper.py` | MITRE ATT&CK 框架映射 | | **监控器** | `core/monitor.py` | 子域名监控和告警 | | **插件** | `core/plugins.py` | 插件加载系统 | ## 🚀 快速开始 ### 前置条件 ``` # Python 3.10+ python --version # > 3.10.x # 可选但推荐:用于网络扫描的 nmap nmap --version ``` ### 安装 ``` # Clone 仓库 git clone https://github.com/Ruby570bocadito/Horizon-Intel.git cd Horizon-Intel # 创建虚拟环境 python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate # 安装依赖 pip install -r requirements.txt ``` ### 运行 ``` # 对域名进行基本侦察 python osint_eye.py example.com # 使用 AI 分析进行全面扫描 python osint_eye.py example.com --depth full --rich # 扫描多个目标 python osint_eye.py example.com test.com --stealth # 启动 Web 仪表盘 python osint_eye.py example.com --dashboard # 生成 PDF 报告 python osint_eye.py example.com --pdf # 或者使用 Docker docker build -t horizon-intel . docker run --rm horizon-intel example.com ``` ## 💻 使用示例 ### 基础域名侦察 ``` # 使用默认模块进行快速扫描 python osint_eye.py example.com # 隐身模式(较慢,足迹更小) python osint_eye.py example.com --stealth # 使用 AI 模块进行深度扫描 python osint_eye.py example.com --depth full --rich ``` ### 查看可用模块 ``` python osint_eye.py --modules ``` ### 比较两个目标 ``` python osint_eye.py example.com evil.example.com --diff ``` ### 持续监控 ``` # 监控域名的子域名 python osint_eye.py example.com --monitor --monitor-interval 3600 ``` ### Web 仪表盘 ``` # 扫描并启动仪表盘 python osint_eye.py example.com --dashboard # 然后访问:http://localhost:5000 ``` ### 生成报告 ``` # Markdown 报告 python osint_eye.py example.com -o report.md # PDF 报告 python osint_eye.py example.com --pdf # 将完整结果导出为 JSON python osint_eye.py example.com -o results.json ``` ### 导出到 Neo4j ``` python osint_eye.py example.com --export-cypher results.cypher ``` ### AI 驱动的分析(需要 Ollama) ``` # 安装 Ollama:https://ollama.ai ollama pull llama3.2 # 使用 AI 分析运行 python osint_eye.py example.com --agent # 如果需要,可以禁用 AI python osint_eye.py example.com --no-ai ``` ### Webhook 告警 ``` python osint_eye.py example.com --monitor --webhook https://hooks.slack.com/services/xxx ``` ## 🌐 Web 仪表盘 Horizon-Intel 包含一个基于 Flask + D3.js 的 Web 仪表盘,用于交互式可视化扫描结果。 ``` # 方法 1:同时扫描并启动仪表盘 python osint_eye.py example.com --dashboard # 方法 2:将现有结果加载到仪表盘中 python ui/dashboard.py results.json ``` 然后在浏览器中打开 **http://localhost:5000**。 该仪表盘提供: - 带有统计信息的扫描摘要 - 带有来源归属的子域名列表 - 开放端口和服务表 - 交互式关系图谱 - MITRE ATT&CK 映射可视化 ### REST API Endpoint 仪表盘运行后,您可以通过编程方式查询结果: ``` # 列出所有扫描 curl http://localhost:5000/api/scans # 获取扫描详情 curl http://localhost:5000/api/scan/example.com # 获取发现的子域名 curl http://localhost:5000/api/scan/example.com/subdomains # 获取开放端口 curl http://localhost:5000/api/scan/example.com/ports # 获取关系图 curl http://localhost:5000/api/scan/example.com/graph # 获取 MITRE ATT&CK 映射 curl http://localhost:5000/api/scan/example.com/mitre ``` ## ⚙️ 配置 Horizon-Intel 通过 CLI 标志和设置向导进行配置。运行向导以自定义您的扫描配置文件: ``` python osint_eye.py --wizard ``` ### 关键 CLI 选项 | 标志 | 描述 | |------|-------------| | `targets` | 目标域名或 IP(位置参数) | | `--stealth` | 启用隐身模式(降低请求速率) | | `--no-ai` | 禁用 AI 分析模块 | | `--no-cache` | 禁用 SQLite 结果缓存 | | `--output -o` | 输出文件路径(自动检测 JSON/MD) | | `--depth` | 扫描深度(`quick`、`normal`、`full`) | | `--diff` | 显示多个目标之间的比较 | | `--rich` | 使用 Rich TUI 输出格式 | | `--dashboard` | 扫描后启动 Web 仪表盘 | | `--monitor` | 启用持续监控模式 | | `--monitor-interval` | 监控间隔(以秒为单位) | | `--webhook` | 用于告警的 Webhook URL | | `--agent` | 启用 AI 代理分析模式 | | `--export-cypher` | 将图谱导出为 Neo4j Cypher 文件 | | `--pdf` | 生成 PDF 报告 | | `--modules` | 列出所有可用模块 | ## 🗺 路线图 - [x] 核心 DNS 和 Web 侦察 (v1.0) - [x] GitHub 和 Google dorking 引擎 (v1.5) - [x] 带有图谱可视化的 Web 仪表盘 (v2.0) - [x] PDF 和 MITRE ATT&CK 报告 (v2.0) - [x] 关联引擎和扫描差异 (v2.0) - [x] 通过 Ollama 进行 AI 集成 (v2.0) - [ ] 与 Shodan / Censys API 集成 - [ ] 带有通知的实时告警系统 - [ ] 历史扫描趋势分析 - [ ] 插件市场 - [ ] 集成 Masscan 以实现更快的网络扫描 ## 📄 许可证 基于 **MIT License** 分发。有关更多信息,请参见 `LICENSE`。

Horizon-Intel — 开源情报与攻击面侦察平台
GitHub · 报告 Bug · 请求功能

标签:AI风险缓解, Docker容器, ESC4, GitHub, OSINT, Python, 子域名枚举, 实时处理, 密码管理, 攻击面发现, 无后门, 漏洞查询, 系统安全, 请求拦截, 逆向工具