Hruday1004/soc-malware-analyzer

GitHub: Hruday1004/soc-malware-analyzer

一款基于浏览器的无后端恶意软件静态分析工具,提供文件哈希计算、熵值分析、伪装检测、MITRE ATT&CK 映射及可选的 AI 威胁判定能力。

Stars: 0 | Forks: 0

# 🛡️ SOC Malware Analyzer
![SOC 分析师工具](https://img.shields.io/badge/SOC-Analyst%20Tool-00d4ff?style=for-the-badge&logo=shield&logoColor=white) ![版本](https://img.shields.io/badge/Version-3.0-00ff88?style=for-the-badge) ![许可证](https://img.shields.io/badge/License-MIT-yellow?style=for-the-badge) ![HTML](https://img.shields.io/badge/Built%20With-HTML%2FJS-orange?style=for-the-badge&logo=html5) ![无服务器](https://img.shields.io/badge/No%20Server-100%25%20Browser-green?style=for-the-badge) **一款专为 SOC 分析师和网络安全学生打造的专业、基于浏览器的恶意软件分析工具。** [🔍 在线演示](https://hruday1004.github.io/soc-malware-analyzer)  |  [📋 报告 Bug](https://github.com/Hruday1004/soc-malware-analyzer/issues)  |  [⭐ 为此仓库点赞](https://github.com/Hruday1004/soc-malware-analyzer)
## 📌 概述 **SOC Malware Analyzer** 是一个单文件的客户端威胁分析工具,可以直接在浏览器中对任何文件执行专业级的静态分析。任何文件都不会被上传到服务器。所有操作均通过 Web Crypto API、FileReader API 在本地运行,并可选择使用 Anthropic Claude API 提供 AI 驱动的 SOC 判定。 本工具作为一个个人网络安全作品集项目开发,展示了真实安全运营中心 (SOC) 中使用的核心技能——文件分类、哈希分析、熵值检测、伪装识别以及 MITRE ATT&CK TTP 映射。 ## ✨ 功能 ### 🔬 静态分析引擎 - **Magic Byte 检测** — 无论文件扩展名是什么,都能从二进制文件头识别真实的文件类型(支持 18+ 种格式) - **加密哈希** — 使用浏览器的 Web Crypto API 生成真实的 SHA-256 和 SHA-1 哈希 - **香农熵分析** — 检测加密、加壳或混淆的内容(评分范围 0–8 bits/byte) - **可疑字符串提取** — 扫描 30 多种与恶意软件相关的模式,包括 API 调用、代码混淆和 C2 指标 ### 🎭 伪装与冒充检测 - **RTLO 攻击检测** — 捕捉 Right-to-Left Override 字符的文件名欺骗手段 - **双重扩展名检测** — 标记如 `invoice.pdf.exe` 形式的文件 - **Magic Byte 与扩展名不匹配检测** — 检测文件内容与其声明的扩展名不符的情况 - **系统文件冒充检测** — 识别模拟 `svchost.exe`、`lsass.exe` 等的文件 - **并排比较** — 上传可疑文件 + 原始文件,对比 SHA-256、大小和熵值 ### 🛡️ MITRE ATT&CK 映射 - 自动将检测到的模式映射到 **22 种 MITRE ATT&CK 技术** - 可点击的 TTP ID 直接链接到 MITRE 知识库 - 涵盖战术:Execution、Persistence、Defense Evasion、Credential Access、C2、Impact ### 🌐 网络 IOC 提取 - 嵌入式 URL 提取 - IP 地址提取(带有私有地址范围过滤) - 可疑域名提取 - Windows 注册表项提取 - 一键链接至 **VirusTotal**、**Hybrid-Analysis** 和 **MalwareBazaar** ### 🤖 AI 驱动的 SOC 判定 *(可选)* - 由 Anthropic API 提供的 **Claude (claude-sonnet-4-6)** 驱动 - 返回结构化的威胁判定:威胁级别、风险评分、置信度百分比、建议操作 - 列出安全指标与可疑指标对比 - 生成专业的分析师笔记和 ATT&CK 摘要 ### 📤 导出选项 - **JSON 报告** — 完整的机器可读分析输出 - **TXT 摘要** — 人类可读的 SOC 事件报告 - **IOC 列表** — 以纯文本形式导出所有哈希、URL、IP、域名 ## 🖼️ 工具预览 ``` ┌─────────────────────────────────────────────────────────┐ │ SOC ANALYST TOOL v3.0 │ │ Malware Analyzer │ │ Static · Entropy · Spoof · MITRE · IOC · AI Verdict │ ├─────────────────────────────────────────────────────────┤ │ ANTHROPIC API KEY [ sk-ant-api03-.............. ] │ ├─────────────────────────────────────────────────────────┤ │ 📂 Click here to select suspect file │ │ ☑ Compare with known-good original file │ │ ✅ Click here to select original / trusted file │ ├─────────────────────────────────────────────────────────┤ │ 🔍 RUN FULL THREAT ANALYSIS │ └─────────────────────────────────────────────────────────┘ ``` ### 结果示例 — 检测到伪装文件 ``` ╔══════════════════════════════════════════════════════════╗ ║ ☠ QUARANTINE ║ ║ LIKELY MALICIOUS (type spoofing) ║ ║ [ 82 ] ← Risk Score ║ ║ AI Confidence: 95% ████████████████░░░ ║ ╠══════════════════════════════════════════════════════════╣ ║ 🎭 SPOOF / IMPERSONATION DETECTED — Score: 75/100 ║ ║ ⚠ Magic bytes show PE/EXE inside .pdf file ║ ║ ⚠ Hash does NOT match original ║ ╠══════════════════════════════════════════════════════════╣ ║ Suspicious Patterns: 12 │ MITRE TTPs: 8 │ IOCs: 5 ║ ╠══════════════════════════════════════════════════════════╣ ║ 📄 File Info │ 🔤 Strings │ 🛡 MITRE │ 🤖 AI │ 📋 Steps ║ ╚══════════════════════════════════════════════════════════╝ ``` ### MITRE ATT&CK 映射示例 | TTP ID | 战术 | 技术 | 触发条件 | |---|---|---|---| | T1059.001 | `Execution` | PowerShell | PowerShell 调用 | | T1055 | `Defense Evasion` | 进程注入 | CreateRemoteThread | | T1003 | `Credential Access` | 操作系统凭据转储 | Mimikatz | | T1486 | `Impact` | 为影响而加密数据 | CryptEncrypt API | | T1490 | `Impact` | 抑制系统恢复 | vssadmin delete | | T1547.001 | `Persistence` | 注册表 Run 键 | Autorun 注册表项 | ### 伪装对比表 | 属性 | 可疑文件 | 原始文件 | |---|---|---| | 文件名 | `invoice.pdf` | `invoice.pdf` | | 扩展名 | `.pdf` | `.pdf` | | 文件大小 | **570 B** ❌ | 355 B | | SHA-256 | **a9f5e21e…** ❌ | 53027dc7… | | 真实类型 | **PE/EXE (MZ)** ❌ | PDF 文档 | | 熵值 | **7.976** 🔴 | 4.970 ✅ | ## 🚀 快速开始 ### 选项 1 — 使用在线演示 访问:**[https://hruday1004.github.io/soc-malware-analyzer](https://hruday1004.github.io/soc-malware-analyzer)** 无需安装。在任何现代浏览器中打开即可。 ### 选项 2 — 在本地运行 ``` # Clone 仓库 git clone https://github.com/Hruday1004/soc-malware-analyzer.git # 进入文件夹 cd soc-malware-analyzer # 在浏览器中打开(无需 server) # 只需双击 index.html 或: start index.html # Windows open index.html # macOS xdg-open index.html # Linux ``` ## 🔑 API Key 设置(可选) 该工具在没有 API Key 的情况下也可完全正常运行。AI 判定功能需要 Anthropic API Key。 1. 访问 [console.anthropic.com](https://console.anthropic.com) 2. 登录 → API Keys → Create Key 3. 复制 Key (`sk-ant-api03-...`) 4. 将其粘贴到工具顶部的 **API Key 字段** 中 5. 添加账单额度(最低 5 美元)以启用 API 调用 ## 🧪 如何测试 `/test-files` 文件夹中包含了两个测试文件: | 文件 | 类型 | 用途 | |---|---|---| | `original_report.pdf` | 干净的 PDF | 已知安全的原始文件 | | `original_report_SPOOF.pdf` | 伪装成 PDF 的 EXE | 伪装测试 — `.pdf` 扩展名内包含 MZ 文件头 | **测试步骤:** 1. 将 `original_report_SPOOF.pdf` 作为 **可疑文件** 上传 2. 勾选 **“Compare with known-good original file”** 3. 将 `original_report.pdf` 作为 **原始文件** 上传 4. 点击 **Run Full Threat Analysis** 5. 预期结果: - 🔴 高风险 判定 - Magic bytes:在 `.pdf` 内检测到 `Windows Executable (MZ header)` - 检测到 SHA-256 不匹配 - 可疑字符串:PowerShell、CreateRemoteThread、Mimikatz、C2 IP ## 🔍 分析流水线 ``` Step 1 → File metadata & structure Step 2 → Magic byte detection & type verification Step 3 → Cryptographic hashing (SHA-256, SHA-1) Step 4 → Shannon entropy analysis Step 5 → String extraction & IOC scanning (30 patterns) Step 6 → Spoof / impersonation detection Step 7 → MITRE ATT&CK TTP mapping Step 8 → Risk scoring & verdict (0–100) Step 9 → AI SOC analyst verdict (Claude) [optional] ``` ## 📊 风险评分逻辑 | 评分 | 威胁级别 | 操作 | |---|---|---| | 0 – 19 | ✅ 可能安全 | ALLOW | | 20 – 44 | ⚠️ 可疑 | INVESTIGATE | | 45 – 69 | 🔴 高风险 | INVESTIGATE / BLOCK | | 70 – 100 | ☠️ 可能是恶意的 | QUARANTINE / BLOCK | **分数计算基于:** - 文件扩展名风险权重 - Magic Byte 与扩展名不匹配 (+30) - 双重扩展名 (+25) - RTLO 攻击 (+30) - 熵值水平 (+10 到 +20) - 可疑模式数量 (每个模式 +5,最高 30) - 网络 IOC 数量 - 伪装评分贡献 - 系统文件冒充 ## 🛠️ 技术栈 | 技术 | 用途 | |---|---| | HTML5 / CSS3 | 带有 CSS 变量的单文件 UI | | Vanilla JavaScript | 零依赖,无框架 | | Web Crypto API | 真实的 SHA-256 / SHA-1 哈希计算 | | FileReader API | 本地文件读取,不上传任何内容 | | Anthropic Claude API | AI 驱动的 SOC 判定(可选) | | MITRE ATT&CK Framework | TTP 映射和链接 | ## 📁 项目结构 ``` soc-malware-analyzer/ │ ├── index.html # Main tool (entire app in one file) ├── README.md # This file ├── LICENSE # MIT License │ └── test-files/ ├── original_report.pdf # Clean test file └── original_report_SPOOF.pdf # Spoof test file (EXE in PDF) ``` ## 🔒 隐私与安全 - **零数据收集** — 无分析、无追踪、无 cookie - **无文件上传** — 使用 FileReader API 在本地读取文件 - **无后端** — 纯客户端应用程序 - **API Key 安全** — Key 仅存在于浏览器内存中,关闭标签页即清除 - **开源** — 完整的源代码可见且可审计 ## 🎯 适用场景 - **SOC 分析师** — 对可疑的电子邮件附件或下载内容进行快速分类 - **网络安全学生** — 动手学习文件分析技术 - **事件响应人员** — 在沙箱引爆前进行初步分析 - **CTF 选手** — 对挑战文件进行快速静态分析 - **安全意识教育** — 安全地演示钓鱼/伪装技术 ## 🗺️ 路线图 - [ ] PE 文件头深度解析(导入、导出、节区) - [ ] 在浏览器中进行 YARA 规则匹配 - [ ] 集成 VirusTotal API 以获取实时信誉 - [ ] PDF 结构分析(嵌入式 JavaScript、启动操作) - [ ] 批量文件分析(同时处理多个文件) - [ ] 深色/浅色主题切换 - [ ] 分析历史记录(本地存储) ## 👨‍💻 作者 **Makam Guru Hruday (Hruday)** 网络安全 B.Tech — GITAM University, Bangalore (2023–2027) [![GitHub](https://img.shields.io/badge/GitHub-Hruday1004-black?style=flat&logo=github)](https://github.com/Hruday1004) [![LinkedIn](https://img.shields.io/badge/LinkedIn-Connect-blue?style=flat&logo=linkedin)](https://linkedin.com/in/hrudaylu) ## 📄 许可证 该项目基于 **MIT License** 授权 — 有关详细信息,请参阅 [LICENSE](LICENSE) 文件。
标签:DAST, DNS 反向解析, PB级数据处理, 云安全监控, 前端工具, 后端开发, 哈希计算, 安全运维, 恶意软件分析, 熵分析, 网络信息收集, 静态分析