Meburki/osint-dashboard

GitHub: Meburki/osint-dashboard

一个基于Streamlit、Elasticsearch和Neo4j的综合网络威胁情报平台,用于收集、分析和可视化多源OSINT数据并揭示实体间的深层关联。

Stars: 0 | Forks: 0

# 👁️ 中央情报面板 (OSINT Dashboard) 本项目是一个综合性的**网络威胁情报**平台,旨在收集、存储、分析和可视化开源情报 (OSINT) 数据。 系统结合了 **Elasticsearch**(快速文本搜索)和 **Neo4j**(基于图的关系分析)数据库,以揭示收集到的数据之间的关联。其用户友好的界面是使用 **Streamlit** 构建的。 ## 🚀 功能特性 系统主要由 5 个不同的情报模块组成: 1. **🔍 设备与传感器搜索 (IP & Shodan OSINT):** - 通过 **Shodan API** 集成扫描目标 IP 地址。 - 识别目标的操作系统、开放端口及其**漏洞 (CVE)**。 - 查找全球公开的摄像头并将其标记在地理地图上。 2. **👤 人员 (电子邮件) 情报与泄露追踪:** - 使用 **XposedOrNot API** 检测输入的电子邮件地址在过去的网络攻击/平台中是否被泄露(被黑客窃取)。 - 分析结果,显示发生数据泄露的平台并报告风险状态。 3. **🕵️ 身份 (姓名) 情报:** - 生成**自定义 Google Dorks 和搜索链接**,以追踪目标人物(姓名)的数字足迹。 - 提供跨搜索引擎、专业网络平台 (LinkedIn, GitHub) 和社交媒体 (X, Instagram, Facebook) 的便捷调查界面。 4. **🖼️ 图像情报 (Image OSINT & Geolocation):** - 分析上传照片的 **EXIF(隐藏元数据)** 信息。 - 提取拍摄照片的相机/设备型号及其他技术数据。 - 如果照片中包含 GPS 坐标,系统会将其检测出并标记在**真实世界地图**上(使用蓝色图钉)。 5. **🕸️ 情报网络图谱 (Link Analysis):** - 借助 Neo4j 和 PyVis 集成,将收集到的所有数据(IP、端口、漏洞、人物、电子邮件、泄露事件)作为节点 和关系 相互连接。 - 创建交互式的**网络图谱**,将数据之间无形的联系可视化为一个网络。 ## 🛠️ 安装与使用 请按照以下步骤在您的本地计算机上运行此项目。 ### 1. 前置条件 - **Python 3.8+** - **Docker** 和 **Docker Compose**(用于启动数据库) ### 2. 启动数据库 (Elasticsearch & Neo4j) 项目目录中的 `docker-compose.yml` 文件会自动安装系统所需的数据库基础设施。打开终端/命令行,并在项目文件夹中运行以下命令: ``` docker-compose up -d ``` *注意:数据库完全启动的时间可能因系统性能而异,大约需要几分钟。* ### 3. 安装所需的 Python 库 在您的终端中运行以下命令,以安装应用程序所需的 Python 库: ``` pip install streamlit elasticsearch neo4j pyvis shodan folium streamlit-folium pillow requests ``` ### 4. API 密钥(可选) `arayuz.py` 和 `shodan_motoru.py` 中包含一个免费且受限的 **Shodan API** 密钥。如果您想以更高的权限运行,可以在这些文件中(`SHODAN_API_KEY = "..."`)输入您自己账户的 API 密钥。用于检查电子邮件泄露的 XposedOrNot API 是免费的,不需要密钥。 ### 5. 启动应用 所有安装完成后,在项目目录中运行以下命令以启动主面板: ``` streamlit run arayuz.py ``` 运行命令后,应用程序将自动在您的浏览器中打开(通常地址为 `http://localhost:8501`)。 ## 📁 项目文件结构 - **`arayuz.py`**: 用于控制系统并包含地图的主 Streamlit 界面。 - **`docker-compose.yml`**: Docker 编排文件,用于配置 Neo4j 和 Elasticsearch 服务及其所需的端口和密码。 - **`arama_motoru.py`**: 用于测试 Elasticsearch 连接并执行基本索引操作的后台脚本。 - **`canli_osint.py`**: 针对活跃目标(例如:scanme.nmap.org)执行 DNS 解析和 ISP (ip-api) 情报收集,并将结果写入数据库的工具。 - **`shodan_motoru.py`**: 使用 Shodan API 扫描特定 IP 地址,并将返回的 OS、端口和漏洞信息记录到 Neo4j 和 Elasticsearch 的引擎。 - **`osint_motoru.py`**: 使用 Cypher 查询语言直接向 Neo4j 图数据库添加情报节点的示例脚本。 **⚠️ 警告:** 本项目仅用于教育、防御 和合法的网络威胁情报 (CTI) 研究目的。请仅在您拥有授权或属于您自己的系统上使用这些工具。
标签:CVE, Elasticsearch, ESC4, ESC8, EXIF数据提取, GitHub, Google Dork, GPS追踪, IP扫描, Kubernetes, Neo4j, OSINT, Python, Streamlit, Unix, 关系图谱, 只读文件系统, 图像情报, 地理定位, 基线检查, 威胁情报, 安全仪表盘, 实时处理, 开发者工具, 开源情报工具, 情报平台, 数字签名, 数字足迹, 无后门, 暗网监控, 社会工程学, 网络威胁情报, 访问控制, 请求拦截, 账号泄露, 身份追踪, 逆向工具, 邮件泄露