mrx87547/PhishGuard-AI-Phishing-Investigation-Threat-Attribution-Platform

GitHub: mrx87547/PhishGuard-AI-Phishing-Investigation-Threat-Attribution-Platform

一个面向 SOC 分析师的 AI 驱动全栈钓鱼邮件调查平台,通过编排 TheHive、Cortex 和 MISP 实现从邮件解析、IOC 提取、多引擎威胁分析到自动判定与归因导出的端到端自动化流程。

Stars: 0 | Forks: 0

PhishIntel Platform Logo # 🛡️ PhishIntel — AI 驱动的钓鱼邮件调查与威胁归因平台 [![OS](https://img.shields.io/badge/OS-Linux-red?style=for-the-badge&logo=linux)](https://www.linux.org/) [![Python](https://img.shields.io/badge/Python-3.8+-blue?style=for-the-badge&logo=python)](https://www.python.org/) [![Flask](https://img.shields.io/badge/Flask-2.0.1-lightgrey?style=for-the-badge&logo=flask)](https://flask.palletsprojects.com/) [![Docker](https://img.shields.io/badge/Docker-Supported-2496ED?style=for-the-badge&logo=docker)](./docker/) [![TheHive](https://img.shields.io/badge/TheHive-Integrated-orange?style=for-the-badge)](https://thehive-project.org/) [![MISP](https://img.shields.io/badge/MISP-Integrated-red?style=for-the-badge)](https://www.misp-project.org/) [![Cortex](https://img.shields.io/badge/Cortex-Integrated-blueviolet?style=for-the-badge)](https://github.com/TheHive-Project/Cortex) [![License](https://img.shields.io/badge/License-AGPL%20v3-green?style=for-the-badge)](./LICENSE) [![Status](https://img.shields.io/badge/Status-Active-brightgreen?style=for-the-badge)]() [![Academic](https://img.shields.io/badge/Project-Academic%20Research-informational?style=for-the-badge&logo=academia)]()
## 📌 目录 - [概述](#-overview) - [核心功能](#-key-features) - [系统架构](#-system-architecture) - [调查工作流](#-investigation-workflow) - [使用的技术](#-technologies-used) - [安装说明](#-installation) - [选项 A — Docker(推荐)](#option-a--docker-recommended) - [选项 B — 从头开始手动安装](#option-b--manual-installation-from-scratch) - [配置说明](#-configuration) - [使用指南](#-usage-guide) - [调查流水线](#-investigation-pipeline) - [示例调查场景](#-example-investigation-scenario) - [分析器配置](#-analyzer-configuration) - [白名单管理](#-whitelist-management) - [平台截图](#-platform-screenshots) - [项目结构](#-project-structure) - [未来增强功能](#-future-enhancements) - [学习成果](#-learning-outcomes) - [免责声明](#-disclaimer) ## 🔍 概述 **PhishIntel** 是一个全栈自动化钓鱼邮件调查与威胁归因平台,作为网络安全研究项目开发。它旨在复制和扩展真实世界 **安全运营中心 (SOC)** 分诊流水线的能力——使分析人员能够以最少的手动操作,从原始可疑邮件走向最终有证据支持的结论。 该平台将三个行业标准开源安全工具——**TheHive**(案例管理)、**Cortex**(威胁分析引擎)和 **MISP**(恶意软件信息共享平台)——集成到一个使用 Python 和 Flask 构建的统一、对分析人员友好的 Web 界面中。其结果是一个端到端的工作流,实现了可观察量提取、多引擎威胁关联、IOC 标记、案例生命周期管理和自动用户通知的自动化。 ### 工作原理(高层概述) High-level system overview | 步骤 | 角色 | 操作 | |------|-------|--------| | 1 | 攻击者 | 发起针对终端用户的钓鱼活动 | | 2 | 用户 | 将可疑邮件作为 `.eml` 附件转发到 PhishIntel 收件箱 | | 3 | 分析人员 | 打开 PhishIntel 仪表板,选择该邮件进行调查 | | 4 | 平台 | 解析邮件,提取可观察量,在 TheHive 中创建结构化案例 | | 5 | Cortex | 对所有提取的 IOC 并行运行 40 多个分析器 | | 6 | 平台 | 汇总分析器结果并计算出最终的恶意判定 | | 7 | 平台/分析人员 | 结案,通知用户,并在确认为恶意时导出至 MISP | ## 🚀 核心功能 ### 🔬 核心调查能力 - **自动邮件解析** — 无需人工干预即可从原始 `.eml` 文件中提取标头、正文、嵌入的 URL、附件和哈希值 - **多维度 IOC 提取** — 识别并规范化 IP 地址、域名、URL、电子邮件地址、文件名、MIME 类型和加密哈希值 - **并行威胁分析** — 同时对每个提取的可观察量分派 40 多个 Cortex 分析器,以实现快速分诊 - **智能判定引擎** — 通过使用可配置的评分模型汇总加权的分析器结果,计算出 `malicious` / `suspicious` / `safe` (恶意/可疑/安全)的判定 - **IOC 标记** — 在 TheHive 案例中自动将确认恶意的可观察量标记为妥协指标 (IOC) ### 🗂️ 案例管理与工作流 - **自动化案例生命周期** — 端到端地创建、管理和关闭 TheHive 案例,包括结构化的任务分配和解决标记 - **结构化任务流水线** — 每项调查遵循一个明确的三任务工作流:用户通知 → 可观察量分析 → 结果交付 - **分析人员干预** — 当判定为 `suspicious`(非确定性)时,平台会通过 TheHive 的完整案例界面升级交由分析人员手动审查 - **案例导出至 MISP** — 确认恶意的案例将自动作为结构化威胁事件导出至 MISP,用于跨活动归因 ### 🌐 威胁情报关联 - **MISP 集成** — 将提取的 IOC 与历史 MISP 事件进行交叉比对,以检测重复出现的攻击者基础设施 - **威胁归因支持** — 跨过往事件关联域名、IP 和邮件标头,用于攻击者画像 - **URL 还原(解短)** — 在分析之前自动展开缩短的 URL,以揭示真实的目标基础设施 - **YARA 规则扫描** — 对邮件附件应用自定义 YARA 规则,进行基于模式的恶意软件检测 ### 🖥️ 平台与用户体验 (UX) - **实时分析仪表板** — 通过 WebSocket (Socket.IO) 向分析人员实时推送分析进度,无需重新加载页面 - **可配置的分析器级别** — 允许通过 `analyzers_level_conf.json` 精细控制如何解释每个分析器的输出 - **动态白名单** — 通过正则表达式或精确匹配将已知安全的 IP、域名、哈希值和模式列入白名单,以防止误报 - **自动用户通知** — 在分析开始和判定结果就绪时,通过 Mailer responder 向用户发送电子邮件警报 - **Docker 就绪部署** — 使用 Docker Compose 进行全容器化部署,实现快速、可复现的环境搭建 ## 🏗️ 系统架构 PhishIntel 遵循 **面向微服务的架构**,其中不同的安全工具通过 REST API 和 Python 编排层进行松耦合。 ``` ┌──────────────────────────────────────────────────────────────────┐ │ ANALYST INTERFACE │ │ Flask Web App (HTML + Bootstrap + JS) │ │ Real-time updates via Socket.IO (WebSocket) │ └─────────────────────────────┬────────────────────────────────────┘ │ AJAX / HTTP / WebSocket ┌─────────────────────────────▼────────────────────────────────────┐ │ PHISHINTEL CORE (Python 3) │ │ │ │ ┌─────────────┐ ┌──────────────────┐ ┌────────────────────┐ │ │ │ list_emails │ │ case_from_email │ │ run_analysis │ │ │ │ .py │ │ .py │ │ .py │ │ │ │ │ │ │ │ │ │ │ │ IMAP Fetch │ │ Header Parsing │ │ Analyzer Dispatch │ │ │ │ Email List │ │ IOC Extraction │ │ Verdict Engine │ │ │ │ Dedup Check │ │ Case Creation │ │ IOC Flagging │ │ │ └──────┬──────┘ └────────┬─────────┘ └────────┬───────────┘ │ └──────────┼──────────────────┼─────────────────────┼──────────────┘ │ │ │ ┌──────▼──────┐ ┌───────▼───────┐ ┌─────────▼──────────┐ │ IMAP Mail │ │ TheHive │ │ Cortex │ │ Server │ │ (Case Mgmt) │ │ (Analysis Engine) │ │ (Gmail) │ │ TheHive4py │ │ Cortex4py │ └─────────────┘ └───────┬───────┘ └─────────┬──────────┘ │ │ ┌───────▼───────┐ ┌─────────▼──────────┐ │ MISP │ │ 40+ Analyzers │ │ (Threat Intel │ │ VirusTotal, Shodan │ │ Sharing) │ │ OTX, PhishTank... │ └───────────────┘ └────────────────────┘ ``` ### 核心 Python 模块 | 模块 | 职责 | |--------|---------------| | `thephish_app.py` | Flask 应用程序入口;路由和 Socket.IO 事件处理器 | | `list_emails.py` | IMAP 连接、邮件枚举、去重和元数据提取 | | `case_from_email.py` | 邮件解析、可观察量提取、TheHive 案例和任务创建 | | `run_analysis.py` | Cortex 分析器编排、结果汇总、判定计算、MISP 导出 | | `ws_logger.py` | 用于前端仪表板的基于 WebSocket 的实时日志处理器 | ## 🔄 调查工作流 下面的 Mermaid 图说明了完整的端到端调查流水线: ``` flowchart TD A([👤 End User\nReceives Phishing Email]) -->|Forwards as .eml attachment| B[📬 PhishIntel Mailbox\nGmail / IMAP] B --> C{📋 Analyst Dashboard\nList Emails} C -->|Click Analyze| D[⚙️ Email Parsing Engine\ncase_from_email.py] D --> D1[Extract: URLs] D --> D2[Extract: IP Addresses] D --> D3[Extract: Domains] D --> D4[Extract: Email Addresses] D --> D5[Extract: Attachments & Hashes] D1 & D2 & D3 & D4 & D5 --> E[🗂️ TheHive\nCreate Case + Observables] E --> F[📧 Notify User\nAnalysis Started — Mailer Responder] E --> G[🔬 Cortex\nDispatch 40+ Analyzers in Parallel] G --> G1[VirusTotal] G --> G2[Shodan] G --> G3[PhishTank] G --> G4[OTX / AbuseIPDB] G --> G5[MISP Lookup] G --> G6[YARA / FileInfo] G1 & G2 & G3 & G4 & G5 & G6 --> H[📊 Verdict Engine\nrun_analysis.py] H -->|Malicious| I[🔴 VERDICT: MALICIOUS\nFlag IOCs in TheHive\nExport Case → MISP\nNotify User] H -->|Safe| J[🟢 VERDICT: SAFE\nClose Case\nNotify User] H -->|Suspicious| K[🟡 VERDICT: SUSPICIOUS\nEscalate to Analyst\nManual Review Required] K -->|Analyst Concludes| L[✅ Analyst Closes Case\nOptional MISP Export\nUser Notification] I & J & L --> M([🏁 Investigation Complete]) ``` ## 🧰 使用的技术 ### 后端 | 技术 | 版本 | 用途 | |------------|---------|---------| | **Python** | 3.8+ | 核心应用程序语言 | | **Flask** | 2.0.1 | Web 框架和 REST API 服务器 | | **Flask-SocketIO** | 5.1.1 | 实时双向 WebSocket 通信 | | **eventlet** | 0.31.1 | 支持 WebSocket 的异步 WSGI 服务器 | | **TheHive4py** | 1.8.1 | TheHive REST API 的 Python 客户端 | | **Cortex4py** | 2.1.0 | Cortex REST API 的 Python 客户端 | | **ioc-finder** | 6.0.1 | 从非结构化文本中提取 IOC | | **python-magic** | 0.4.24 | 附件的 MIME 类型检测 | | **BeautifulSoup4** | 4.9.3 | HTML 正文解析 | | **dnspython** | 1.16.0 | DNS 解析工具 | ### 前端 | 技术 | 用途 | |------------|---------| | **Bootstrap 4** | 响应式 UI 框架 | | **Socket.IO (JS)** | 实时分析进度流推送 | | **Font Awesome** | 安全主题图标 | | **jQuery / AJAX** | 异步服务器通信 | ### 基础设施与集成 | 工具 | 角色 | |------|------| | **TheHive** | 安全事件案例管理平台 | | **Cortex** | 可观察量分析和威胁情报引擎(40 多个分析器) | | **MISP** | 威胁情报共享和 IOC 关联 | | **Docker / Docker Compose** | 容器化部署编排 | | **Gmail / IMAP** | 安全的邮件获取通道 | ## 📦 安装说明 ### 前置条件 在继续之前,请确保您的环境中具备以下条件: - 基于 Linux 的操作系统(推荐使用 Ubuntu 20.04 LTS) - Python 3.8+ - Docker 和 Docker Compose(适用于选项 A) - 运行中的 TheHive、Cortex 和 MISP 实例 - 专用的 Gmail 地址(或任何兼容 IMAP 的邮箱) ### 选项 A — Docker(推荐) 启动整个平台的最快方法。提供的 Docker Compose 模板可以通过单个命令引导启动 TheHive、Cortex、MISP 和 PhishIntel 应用程序。 ``` # 1. 导航至 docker 文件夹 cd docker/ # 2. 启动所有服务 docker-compose up -d # 3. 验证所有容器是否正在运行 docker ps ``` ### 选项 B — 从头开始手动安装 如果您想完全控制部署环境,或者要与现有的 TheHive/Cortex/MISP 基础设施集成,请使用此方法。 **要求:** - 一个可运行的 TheHive 实例 - 一个可运行的 Cortex 实例 - 一个可运行的 MISP 实例 - 一个已配置的 IMAP 邮箱 #### 步骤 1 — 下载项目 ``` git clone https://github.com/your-username/PhishIntel.git cd PhishIntel/app ``` #### 步骤 2 — 创建并激活 Python 虚拟环境 ``` sudo apt install python3-venv python3 -m venv venv source venv/bin/activate ``` #### 步骤 3 — 安装 Python 依赖 ``` pip install -r requirements.txt ``` #### 步骤 4 — 修补 TheHive4py(Mailer Responder 支持) Mailer responder 需要在 TheHive4py 中提供一个 `run_responder()` 函数。使用以下命令应用补丁(如果需要,请调整 Python 版本路径): ``` (cat << _EOF_ def run_responder(self, responder_id, object_type, object_id): req = self.url + "/api/connector/cortex/action" try: data = json.dumps({ "responderId": responder_id, "objectType": object_type, "objectId": object_id}) return requests.post(req, headers={"Content-Type": "application/json"}, data=data, proxies=self.proxies, auth=self.auth, verify=self.cert) except requests.exceptions.RequestException as e: raise TheHiveException("Responder run error: {}".format(e)) _EOF_ ) | tee -a venv/lib/python3.8/site-packages/thehive4py/api.py > /dev/null ``` #### 步骤 5 — 配置应用程序 使用您环境的凭证和端点编辑 `configuration.json`(参见下方的[配置说明](#-configuration))。 #### 步骤 6 — 更新前端 URL 在 `templates/index.html` 中,将侧边栏导航中的默认 `href` 值替换为您实际的 TheHive、Cortex 和 MISP 实例的 URL: ```
标签:AI钓鱼分析, CIDR查询, Cortex, DAST, Docker, Flask, Go语言工具, IOC提取, IP 地址批量处理, PhishIntel, Python, SOAR, TheHive, 参数枚举, 威胁情报, 学术研究, 安全编排与自动化响应, 安全运营, 安全防御评估, 开发者工具, 恶意URL检测, 恶意软件分析, 扫描框架, 搜索语句(dork), 攻击归因, 无后门, 电子邮件安全, 网络安全, 请求拦截, 逆向工具, 钓鱼攻击调查, 附件分析, 隐私保护