lankrymaor/MemHunter
GitHub: lankrymaor/MemHunter
一款基于 Volatility 的便携式离线内存取证 DFIR 工作站,解决调查人员在隔离环境中快速分析内存镜像的需求。
Stars: 0 | Forks: 0
## MemHunter
MemHunter 是一个独立的、可移植的数字取证和事件响应(DFIR)内存取证工作站,围绕 **Volatility 3**(支持 **Volatility 2.6**)、**Pandas** 和 **Streamlit** UI 构建。
它专为离线调查设计:**无需安装**、**无需联网**、**无需系统级 Python**。该工具自带嵌入式运行时和二进制文件。

## 关键特性
- **可移植执行**:双击 `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 实现了两种具有不同性能和意图特性的分析模式。
### 全局模式(全镜像分析)

全局模式是覆盖全内存的基准分析。它运行作用于整个内存镜像的插件和工作流,并生成调查过程中使用的底层数据集。
全局模式的典型能力包括:
- **进程发现与验证**
- `pslist`、`psscan`、`pstree`、`psxview`
- **系统级工件枚举**
- 示例:`filescan`(及其他依赖于引擎和操作系统的全局扫描器)
- **全局 YARA 扫描**
- 在镜像范围内扫描(规则和范围取决于所选引擎/工作流)
- **字符串提取**
- 批量字符串提取与搜索(适用于初步分类和快速跳转)
全局模式的输出加载到内存(pandas 数据框)中,并成为导航、筛选和下游目标定位的主要数据源。
### 狩猎模式(单进程分析)


狩猎模式是针对**单个 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取证, 便携工具, 全局模式, 内存分析, 内存取证, 内存镜像分析, 单进程深入分析, 取证工作站, 可执行文件, 嵌入式运行时, 工作流, 快速侦查, 数字取证, 无安装, 无需联网, 猎捕模式, 离线取证, 自动化脚本, 访问控制, 进程树, 逆向工具