Ruby570bocadito/OSINT-EYE
GitHub: Ruby570bocadito/OSINT-EYE
一个综合性的模块化开源情报与攻击面侦察平台,能够自动化收集并关联 DNS、证书、Web 档案及漏洞等多维度公开数据。
Stars: 0 | Forks: 0
原名为 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, 子域名枚举, 实时处理, 密码管理, 攻击面发现, 无后门, 漏洞查询, 系统安全, 请求拦截, 逆向工具