dwmetz/MalChela

GitHub: dwmetz/MalChela

一款基于 Rust 开发的恶意软件分析与 YARA 规则工具箱,集成案例管理与 AI 辅助研判能力。

Stars: 95 | Forks: 6

MalChela v3.1.2

A YARA & Malware Analysis Toolkit written in Rust.

GUI View CLI View

功能:

| Program | Function | |---------------------|----------| | Combine YARA | 将目录中的所有 `.yara`/`.yar` 文件合并为一个规则文件 | | Extract Samples | 使用通用密码递归提取受密码保护的恶意软件归档 (ZIP/RAR) | | File Analyzer | 分析文件的哈希、熵、PE 结构、模糊哈希、YARA 匹配、NSRL 查询和 VirusTotal 状态 | | File Miner | 扫描文件夹以查找文件类型不匹配和元数据 | | Hash It | 为单个文件生成 MD5、SHA1 和 SHA256 哈希 | | Hash Check | 检查给定的哈希是否存在于提供的哈希集文件中 | | Malware Hash Lookup | 针对 VirusTotal 和 MalwareBazaar 查询哈希以获取威胁情报 | | mStrings | 从文件中提取字符串,应用 regex 和 Sigma 规则,映射到 MITRE ATT&CK,识别 IOC,并包含内置的 MITRE 技术查找 | | mzhash | 使用 MD5 递归哈希具有 MZ 头的文件 — 非常适合用于黄金镜像或已知不良样本集的生成 | | mzcount | 使用头/YARA 检测按格式 (MZ, ZIP, PDF 等) 递归计数文件 | | nsrlquery | 针对 NSRL 数据库查询 MD5 哈希以确定其是否为已知良好文件 | | strings_to_yara | 提示输入元数据和字符串列表以生成 YARA 规则 | | xmzhash | 递归哈希 *非* MZ、ZIP 或 PDF 的文件 — 非常适合用于非 Windows 恶意软件样本集 | **Malware Hash Lookup 需要 VirusTotal 和 MalwareBazaar 的 API 密钥。如果未配置,MalChela 将在您第一次运行恶意软件查询功能时提示您创建它们。*

关于:

依赖项:

Linux ``` sudo apt install openssl libssl-dev clang yara libyara-dev pkg-config build-essential libglib2.0-dev libgtk-3-dev ``` Mac ``` brew install openssl yara pkg-config gtk+3 glib ``` 注意:需要 YARA 4.2> 版本。 在构建之前,将构建指向 Homebrew 的 YARA 前缀 ``` export YARA_LIBRARY_PATH=$(brew --prefix yara)/lib export BINDGEN_EXTRA_CLANG_ARGS="-I$(brew --prefix yara)/include" ```

安装与使用:

安装 Rust — https://rustup.rs/ 仅限 CLI 安装 (WSL, Raspberry Pi 等): ``` curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh ``` 克隆仓库并构建: ``` git clone https://github.com/dwmetz/MalChela.git cd MalChela chmod +x release.sh ./release.sh # Builds all programs in release mode (recommended) ```

运行:

``` ./target/release/malchela ``` 或 ``` ./target/release/MalChelaGUI ``` ℹ️ 建议在 `--release` 模式下构建并运行 MalChela,以确保 GUI 和子工具功能最佳。 ### 案例管理 (v3.0) MalChela v3.0 引入了一个功能齐全的案例系统: - 在统一的 `case.yaml` 下跟踪文件、运行的工具和笔记 - 在 `saved_output/cases//` 下自动保存工具输出 - 集成标签、搜索和带有 VS Code 支持的临时记事本 - 在 GUI 模式下无缝加载和归档案例 ### 🤖 AI 集成与 MCP 支持 (v3.1.0) MalChela v3.1.0 通过 **Model Context Protocol (MCP)** 引入了对 AI 辅助恶意软件分析的支持,将所有 13 个 MalChela 工具开放给像 Claude 这样的 AI 代理。根据您的环境,支持三种部署路径: #### 路径 1:原生 MCP 服务器 (macOS 上的 Claude Desktop) 一个 Node.js MCP 服务器将所有 MalChela 工具直接开放给 macOS 上的 Claude Desktop,无需额外的基础设施。 **设置:** ``` cd mcp/ npm install ``` 通过将服务器添加到您的 `claude_desktop_config.json` 来配置 Claude Desktop 加载它: ``` { "mcpServers": { "malchela": { "command": "node", "args": ["/path/to/MalChela/mcp/server.js"] } } } ``` 有关完整的配置详细信息,请参阅 [`mcp/README.md`](mcp/README.md)。 #### 路径 2:Kali MCP 服务器 (远程 Linux 主机 / Raspberry Pi) 一种双层架构,用于在远程 Kali Linux 系统(例如 Raspberry Pi 取证工具包)上运行 MalChela,并通过 MCP 将其开放给 Claude Desktop。 - **`mcp_server.py`** — FastMCP 前端,接收工具调用并转发它们 - **`kali_server.py`** — Flask 后端,在 Kali 主机上执行 MalChela 二进制文件 **在 Kali 主机上的设置:** ``` cd /usr/share/mcp-kali-server/ pip install -r requirements.txt python3 kali_server.py ``` 使用主机的 IP 配置 `mcp_server.py` 并启动它。然后将 Claude Desktop 指向 `mcp_server.py` 作为 MCP 服务器。 有关完整的设置和配置,请参阅 [`mcp/README.md`](mcp/README.md)。 #### 路径 3:OpenCode / AGENTS.md (REMnux / 代理 CLI) 对于代理编码环境和基于 CLI 的 AI 工具,MalChela 附带了一个 `AGENTS.md` 文件,描述了所有可用的工具、其参数和使用模式。这允许像 OpenCode 这样的工具自动发现和调用 MalChela。 在 REMnux 上,可以将 OpenCode 指向 MalChela 目录,它将使用 `AGENTS.md` 自主驱动分析工作流。 有关这三种方法的详细演练,请参阅博客文章:[**MalChela Meets AI: Three Paths to Smarter Malware Analysis**](https://bakerstreetforensics.com)

🔧 添加自定义工具:

您可以通过编辑 `tools.yaml` 文件将第三方或自定义工具添加到 GUI 来扩展 MalChela。这种灵活的配置支持二进制文件、Python 脚本和基于 Rust 的程序。 每个条目定义了工具的名称、类别、执行类型、输入传递方式(文件、文件夹或哈希)以及任何可选参数。以下是一些示例条目: ``` - name: capa description: "Detects capabilities in binaries via rules" command: ["capa"] input_type: "file" category: "File Analysis" exec_type: binary file_position: "last" optional_args: [] - name: strings description: "Extracts printable strings from binaries" command: ["strings"] input_type: "file" category: "Utilities" exec_type: binary file_position: "first" optional_args: [] - name: pdf-parser description: "Parses and analyzes suspicious PDF structures" command: ["python3"] input_type: "file" category: "PDF Analysis" exec_type: script file_position: "last" optional_args: ["tools/pdf-parser/pdf-parser.py"] ```

🦀 **REMnux 模式:**

当在 REMnux 系统上运行时,MalChela 可以加载特定于 REMnux 的 `tools.yaml` 文件,该文件专为该发行版中可用的内置工具量身定制。这确保了更顺畅的设置,且只需最少的配置。 📝 **注意:** - 工具必须位于您的系统 `PATH` 中,或包含完整/相对路径。 - `exec_type` 必须是以下之一:`cargo`、`binary` 或 `script`。 - `file_position` 指示输入在命令中的放置位置(`first` 或 `last`)。 - 有关详细的配置示例和工作流,请参阅 [MalChela User Guide](https://dwmetz.github.io/MalChela/)。

增强的工具支持:

MalChela 包括与以下第三方工具的改进集成: - **Volatility 3**:动态插件构建器、参数模板和输出目录选择。 - **TShark**:可视化参考面板,并支持使用自定义语法捕获过滤后的流量。 - **YARA-X**:智能规则匹配,改进了参数处理和兼容 REMnux 的默认配置。 这些增强功能使处理内存镜像、PCAP 和 YARA 规则的取证工作流程更加流畅。 #### 平台支持: 已在 macOS (Apple Silicon)、Ubuntu 和 Raspberry Pi 上成功测试。 需要 YARA 4.2 或更高版本。 **Windows:** 截至 2025 年 10 月,MalChela CLI 和 GUI 均可在 WSL2 下的 Windows 上运行。v3.1.1 中包含针对 WSL 的 MalChelaGUI 改进。
标签:Ask搜索, Cloudflare, DAST, DeepSeek, DNS 反向解析, DOS头擦除, GUI应用, HTTP工具, IP 地址批量处理, MalwareBazaar, MITRE ATT&CK, NSRL查询, PE结构分析, Rust, Sigma规则, VirusTotal, YARA, 云安全监控, 云资产可视化, 可视化界面, 哈希计算, 威胁情报, 字符串提取, 安全工具包, 安全测试工具, 密码破解, 开发者工具, 恶意软件分析, 数字取证, 文件分析, 模糊哈希, 熵值分析, 目标导入, 网络信息收集, 网络安全, 网络安全审计, 网络流量审计, 自动化分析, 自动化脚本, 跨站脚本, 通知系统, 隐私保护, 静态分析