lankrymaor/MemHunter

GitHub: lankrymaor/MemHunter

一款基于 Volatility 的便携式离线内存取证 DFIR 工作站,解决调查人员在隔离环境中快速分析内存镜像的需求。

Stars: 0 | Forks: 0

## MemHunter MemHunter 是一个独立的、可移植的数字取证和事件响应(DFIR)内存取证工作站,围绕 **Volatility 3**(支持 **Volatility 2.6**)、**Pandas** 和 **Streamlit** UI 构建。 它专为离线调查设计:**无需安装**、**无需联网**、**无需系统级 Python**。该工具自带嵌入式运行时和二进制文件。 ![进程树视图](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/19ae624fc0073506.png) ## 关键特性 - **可移植执行**:双击 `MemHunter.exe` 即可启动 UI。 - **双引擎支持**: - **Volatility 3**(主引擎) - **Volatility 2.6**(兼容/遗留工作流) - **结构化、对分析师友好的结果**:通过 Pandas 提供表格化输出,便于快速透视和筛选。 - **两种分析模式**: - **全局模式**(全镜像分析) - **狩猎模式**(基于先前提取的数据,对单个 PID 进行快速深度挖掘) - **按设计离线**:无遥测数据,无远程依赖。 ## 包含内容 该仓库/软件包通常按如下方式组织: - `app.py`:实现 UI 和工作流编排的 Streamlit 应用程序。 - `bin/`:捆绑的取证二进制文件(Volatility 可执行文件、Sysinternals Strings 等)。 - `assets/`:品牌资源(Logo 和应用程序图标)。 - `requirements.txt`:从源码运行 MemHunter 的 Python 依赖列表(开发者工作流)。 - `_memhunter_data/`:分析期间创建的工作目录(参见“数据文件夹说明”)。 分发模型: - **源代码仓库(GitHub)**:包含代码和支持资源(`app.py`、`bin/`、`assets/`、`requirements.txt` 等)。 - **便携发行版 ZIP(GitHub Releases)**:包含完整的离线便携包,包括: - `MemHunter.exe`:静默启动应用程序的 C# 包装器。 - `python_env/`:嵌入式 Python 运行时和依赖项。 ## 系统要求 - **操作系统**:Windows 10/11(推荐 x64) - **浏览器**:任何现代浏览器(UI 会自动打开) - **权限**:标准用户权限通常足够;某些环境可能限制本地进程执行或浏览器回环。 ## 快速开始 MemHunter 以两种形式分发:便携离线包(推荐调查员使用)和源代码(供开发者使用)。 ### 选项 1:便携发行版(推荐调查员使用) 1. 前往项目的 **Releases** 页面。 2. 下载预打包的 ZIP(例如:`MemHunter_vX.X.zip`)。 3. 解压到本地(避免直接从压缩包内运行)。 4. 双击: ``` MemHunter.exe ``` `MemHunter.exe` 是一个静默的 C# 包装器,它会: - 设置 `PYTHONPATH` 指向嵌入式 `python_env\Lib\site-packages` - 启动 Streamlit 应用程序 - 自动打开浏览器访问本地 UI ### 选项 2:从源码运行(开发者) 1. 克隆该仓库。 2. 创建并激活你选择的 Python 环境。 3. 安装依赖: ``` pip install -r requirements.txt ``` 4. 启动 UI: ``` streamlit run app.py ``` ### 选择内存镜像 MemHunter 在 Web UI 中选择内存镜像: - 在“内存镜像”旁点击 **浏览** - 选择内存转储文件 - 点击 **开始分析** 支持的扩展名通常包括:`.raw`、`.vmem`、`.mem`、`.dmp`、`.dump`、`.img`(以及你明确选择的任何其他文件)。 ## 核心流程(关键):两种分析模式 MemHunter 实现了两种具有不同性能和意图特性的分析模式。 ### 全局模式(全镜像分析) ![服务扫描视图](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/8e162b259c073507.png) 全局模式是覆盖全内存的基准分析。它运行作用于整个内存镜像的插件和工作流,并生成调查过程中使用的底层数据集。 全局模式的典型能力包括: - **进程发现与验证** - `pslist`、`psscan`、`pstree`、`psxview` - **系统级工件枚举** - 示例:`filescan`(及其他依赖于引擎和操作系统的全局扫描器) - **全局 YARA 扫描** - 在镜像范围内扫描(规则和范围取决于所选引擎/工作流) - **字符串提取** - 批量字符串提取与搜索(适用于初步分类和快速跳转) 全局模式的输出加载到内存(pandas 数据框)中,并成为导航、筛选和下游目标定位的主要数据源。 ### 狩猎模式(单进程分析) ![狩猎模式 1](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/0bc590aeca073508.png) ![狩猎模式 2](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/7bf7b679a7073509.png) 狩猎模式是针对**单个 PID** 的目标深度挖掘。 其架构明确针对调查速度进行优化: - **狩猎模式优先复用全局模式中已提取并保留在内存中的数据。** - 无需为每次交互重复生成昂贵的 Volatility 进程,狩猎模式会: - **交叉引用** 全局扫描期间已收集的结果 - **过滤** 并**配置**选中的进程,实现快速处理 - 呈现以进程为中心的洞察(例如已加载的模块/DLL、句柄、相关内存区域及相关工件),而无需重新执行全镜像工作 此模型支持在保持调查员上下文的同时,对可疑进程进行高效的迭代分析,并缩短整体运行时间。 ## 引擎 MemHunter 支持两种取证执行引擎: - **Volatility 3(默认)**:主分析引擎。 - **Volatility 2.6(可选)**:为遗留兼容性和偏好使用 Vol2 插件的工作流提供支持。 引擎选择在开始分析前的侧边栏中完成。 ## 数据文件夹说明(`_memhunter_data`) 分析期间,MemHunter 会创建并使用一个工作目录: ``` _memhunter_data\ ``` 该文件夹可能包含临时工件、缓存输出、导出的文件以及用于加速当前调查会话的中间结果。 - 你可以在**不同调查之间安全删除 `_memhunter_data`**,以确保工作区干净。 - **分析运行时不要删除**该文件夹。 ## 故障排除 - **浏览按钮未弹出文件对话框**: - 确保 MemHunter 未在受限的桌面/会话上下文中运行(例如某些远程执行策略)。 - 尝试以常规方式(非提升)启动 MemHunter,并确保浏览器窗口可见。 - **缺少二进制文件警告**: - 确认 `bin/` 文件夹存在且包含所需的可执行文件。 - **端口冲突 / UI 未打开**: - 关闭其他 Streamlit 会话,然后重新启动 `MemHunter.exe`。 ## 安全与操作说明 - MemHunter 旨在**本地**且**离线**运行。 - 调查员应根据其组织流程验证证据处理实践,包括写保护和安全存储。 ## 许可证与第三方组件 MemHunter 打包了第三方工具和库(包括 Volatility 组件)。每个第三方组件均遵循其自身的许可条款。请参考 `bin/` 中的相关文件以及嵌入式 Python 包中的适用声明。
标签:HTTPS请求, JARM, Kubernetes, Python环境, SecList, Streamlit, Volatility 2.6, Volatility 3, Windows取证, 便携工具, 全局模式, 内存分析, 内存取证, 内存镜像分析, 单进程深入分析, 取证工作站, 可执行文件, 嵌入式运行时, 工作流, 快速侦查, 数字取证, 无安装, 无需联网, 猎捕模式, 离线取证, 自动化脚本, 访问控制, 进程树, 逆向工具