Rajidharma22/Malware-analysis

GitHub: Rajidharma22/Malware-analysis

这是一个整合了 Radare2 和 Frida 等主流框架的全栈恶意软件分析桌面应用,旨在通过统一的 GUI 简化逆向工程与情报收集流程。

Stars: 0 | Forks: 0

# 🦠 恶意软件分析工具 一款综合性的全栈桌面应用程序,专为恶意软件逆向工程、二进制分析和应急响应情报收集而设计。 该应用程序提供了一个安全的、本地托管的 GUI,将行业标准逆向工程框架(如 Radare2、Capstone、LIEF 和 Frida)的强大功能整合到统一的界面中。 ## 🏗️ 应用程序构建方式(架构) 本应用程序采用现代 **三层架构** 构建,专为高性能、本地执行和安全性而设计: 1. **前端(UI 层)**: - 使用 **React 18** 和 **Vite** 构建,并使用 **Tailwind CSS** 实现深色模式的网络安全美学风格。 - 使用 **Zustand** 进行全局状态管理,以便在标签页之间共享分析结果。 - 原生集成 **D3.js** 以渲染复杂的交互式熵值图和动态力导向调用图。 2. **桌面外壳(Electron 层)**: - **Electron** 将 React 应用程序封装到原生桌面窗口中。 - 在 UI 和文件系统之间提供安全的 IPC(进程间通信)桥梁。 - *至关重要的是*,Electron 外壳充当进程管理器:当你打开应用程序时,它会自动安全地启动 Python 后端,并在你关闭窗口时终止该进程。 3. **后端分析引擎(Python 层)**: - 使用 **Python 3.11+** 和 **FastAPI** 构建,作为本地高速 REST API(运行在 `http://127.0.0.1:8787`)。 - 使用 **WebSockets** 将实时日志和动态事件流传输回 UI。 - 采用 **SQLite(通过异步 SQLAlchemy)** 来跟踪持久化项目并存储先前的分析结果。 - 作为重型二进制分析库的包装器。 ### ⚙️ 核心分析模块(后端集成) * **文件分类 (File Triage)**:`pefile`、`pyelftools`、`hashlib` (MD5/SHA)、`ppdeep` (模糊哈希)。 * **静态反汇编**:`r2pipe` (Radare2 集成)、`Capstone` 引擎、用于二进制解析的 `LIEF`。 * **字符串与 IOC**:`yara-python` 用于规则匹配,正则表达式用于网络/注册表提取,以及 `floss` (FireEye Labs Obfuscated String Solver) 集成。 * **加密检测**:启发式熵值分析,针对常量(AES、RC4、ChaCha)的自定义字节扫描,以及 API 导入标记。 * **动态分析**:`Frida` Python 绑定,用于安全的进程检测和 API Hooking。 * **报告生成**:`stix2`、`weasyprint` (PDF) 和 `Jinja2` 文本生成,映射到 MITRE ATT&CK 框架。 ## 🚀 如何启动应用程序 ### 选项 A:一键启动脚本(推荐) 你无需分别启动前端和后端。我们为 Windows 和 Linux 提供了自动化脚本,可处理依赖项检查和进程生成。 **对于 Windows(`cmd` 或 PowerShell):** ``` cd d:\myproject .\start_app.bat ``` *(这将启动两个后台终端窗口用于运行服务器,并打开主 GUI 窗口)。* **对于 Linux(bash):** ``` cd /path/to/myproject chmod +x start_app.sh ./start_app.sh ``` ### 选项 B:手动启动(面向开发者) 如果你正在开发该工具,可能希望单独运行各层: 1. **启动后端:** cd backend pip install -r requirements.txt python start.py # API 现已在 http://127.0.0.1:8787 上线 2. **启动前端 UI 服务器:** cd frontend npm install npm run dev # React UI 现已在 http://localhost:5173 上线 3. **启动桌面应用程序:** cd electron npm install npm start ## 🕵️‍♂️ 如何使用应用程序 桌面 GUI 打开后,你会看到一个分为 **六个核心分析标签页** 的主窗口。 ### 1. 🔍 分类(从这里开始) * **操作:** 将你的恶意软件样本(PE 或 ELF 二进制文件)直接拖放到虚线拖放框中。 * **结果:** 工具将自动解析文件,计算标准和模糊哈希,使用 D3.js 可视化节区熵值以突出显示加密/加壳组件,并查询 VirusTotal API。 ### 2. ⚙️ 静态分析 * **操作:** 点击左侧边栏中的“Analyze with r2”。 * **结果:** 后端使用 Radare2 和 Capstone 反汇编二进制文件。你可以查看颜色编码的汇编代码,探索导入/导出表(危险 API 如 `VirtualAlloc` 会以红色标记),并与图形化函数调用图进行交互。 ### 3. 📝 字符串与 IOC * **操作:** 点击“Extract Strings & IOCs”。 * **结果:** 工具将转储所有 ASCII/Unicode 字符串。它会分类网络指标(IP/域名)、注册表路径和文件路径。它还将根据你配置的 YARA 规则运行样本,以检测已知的恶意软件家族并分配 MITRE ATT&CK 技术标签。 ### 4. 🔐 加密检测 * **操作:** 点击“Detect Encryption”。 * **结果:** 后端扫描文件以查找已知的加密算法常量(例如 AES S-boxes)。它会寻找高熵值块并标记勒索软件特定的行为,分配一个总勒索软件严重性评分。 ### 5. ⚡ 动态分析(仅在 VM 内使用!) * **警告:** 你必须确认安全警告。仅在隔离的虚拟机内使用此标签页! * **操作:** 从交互式进程树中选择一个正在运行的进程 ID (PID),然后点击“Attach Frida”。 * **结果:** 工具将注入到活动进程中,并通过 WebSockets 将实时 API 调用(如注册表修改、文件释放和网络连接)直接流式传输到 UI 日志查看器。 ### 6. 📊 报告生成 * **操作:** 选择所需的格式(HTML、Markdown、JSON、PDF),然后点击“Generate Unified Report”。 * **结果:** 将分类、静态、字符串、加密和动态标签页的所有发现汇总成一份面向 C-Suite(高管层)的情报报告。包括一个针对你刚刚分析的样本自动生成的 YARA 规则。 *注意:要进行配置,请点击顶部菜单中的 **Settings -> Preferences** 以更新你的 VirusTotal API 密钥、自定义 YARA 规则目录和外部工具路径(如 FLOSS 和 Detect-It-Easy)。*
标签:AV绕过, Capstone, D3.js, DAST, DNS 反向解析, Docker支持, Electron, ELF分析, FastAPI, Frida, HTTP工具, IP 地址批量处理, LIEF, Mutation, PE文件分析, Python, Radare2, React, SQLite, Syscalls, Tailwind CSS, TLS指纹, Triage, Vite, Wayback Machine, WebSocket, Zustand, 二进制分析, 二进制安全, 云安全监控, 云安全运维, 云资产清单, 依赖分析, 全栈, 反汇编, 可视化, 威胁情报, 安全GUI, 库, 应急响应, 开发者工具, 恶意软件分析, 无后门, 本地部署, 桌面应用, 模糊哈希, 漏洞分析, 熵分析, 系统运维工具, 网络信息收集, 网络安全, 调用图, 路径探测, 逆向工具, 逆向工程, 隐私保护, 静态分析