x746b/mem_forensics-mcp
GitHub: x746b/mem_forensics-mcp
这是一个统一内存取证MCP服务器,结合Rust速度和Volatility3覆盖,用于高效分析内存镜像以检测安全威胁。
Stars: 4 | Forks: 0
# mem-forensics-mcp
## 架构
三层引擎自动将每个工具路由至最快的后端:
```
LLM <-> [mem-forensics-mcp (Python)] <-> memoxide (Rust child, stdio MCP)
<-> Volatility3 (Python library)
```
| 层级 | 引擎 | 速度 | 覆盖范围 |
|------|--------|-------|----------|
| **第一层** | Rust (memoxide) | 快速 | pslist, psscan, cmdline, dlllist, malfind, netscan, cmdscan, search, readraw, rsds |
| **第二层** | Python 分析器 | 中等 | 进程异常、C2 检测、凭据、YARA、VT 集成 |
| **第三层** | Volatility3 | 较慢 | 任何 vol3 插件 (filescan, handles, svcscan, driverscan, ...) |
## 安装
### 前置条件
```
# 安装 uv(快速 Python 包管理器)
curl -LsSf https://astral.sh/uv/install.sh | sh
# 确保 Python 3.10+
python3 --version
```
### 从 PyPI 安装
```
uv pip install mem-forensics-mcp
```
### 从源码安装
```
git clone https://github.com/x746b/mem_forensics-mcp.git
cd mem_forensics-mcp
# 完整安装(推荐)
uv sync --extra full
# 最小化安装(仅 Vol3,无 YARA/VT)
uv sync --extra volatility3
```
### 构建 Rust 引擎(可选)
`engines/memoxide/` 目录中提供了 `aarch64-linux` 和 `x86_64-linux` 平台的预构建二进制文件。服务器会自动检测主机架构。若要从源码构建:
```
# 需要 Rust 工具链(https://rustup.rs)
cd engines/memoxide-src
cargo build --release
# 二进制文件位于 engines/memoxide-src/target/release/memoxide
# 服务器会自动检测(优先使用本地构建版本而非预构建版本)
```
### 配置 Volatility3(可选)
如果 Vol3 安装在 `/opt/volatility3`,系统会自动检测。否则请设置:`export VOLATILITY3_PATH="/path/to/volatility3"`
### 验证
```
uv run python -m mem_forensics_mcp.server
# 应显示:Rust engine: available, Volatility3: available
```
## 添加到 Claude CLI
```
claude mcp add mem-forensics-mcp \
--scope user \
-- uv run --directory /opt/mem_forensics-mcp python -m mem_forensics_mcp.server
```
使用自定义 Volatility3 路径:
```
claude mcp add mem-forensics-mcp \
--scope user \
-e VOLATILITY3_PATH=/opt/volatility3 \
-- uv run --directory /opt/mem_forensics-mcp python -m mem_forensics_mcp.server
```
## 快速开始
```
# 1. 初始化
memory_analyze_image(image_path="/evidence/memory.raw")
# 2. 完整分类
memory_full_triage(image_path="/evidence/memory.raw")
# 3. 深入分析
memory_run_plugin(image_path="/evidence/memory.raw", plugin="malfind", pid=1234)
```
## 工具参考
### 核心
| 工具 | 层级 | 描述 |
|------|------|-------------|
| `memory_analyze_image` | 1->2 | 初始化镜像,自动检测配置文件 |
| `memory_run_plugin` | 1->3 | 运行任意插件(Rust 或 Vol3) |
| `memory_list_plugins` | - | 列出可用插件 |
| `memory_list_sessions` | - | 列出活跃会话 |
| `memory_get_status` | - | 显示引擎状态 |
### 分析
| 工具 | 层级 | 描述 |
|------|------|-------------|
| `memory_full_triage` | 1+2 | 完整的自动化调查 |
| `memory_hunt_process_anomalies` | 2 | DKOM 检测、父子进程验证 |
| `memory_get_process_tree` | 2 | 带可疑进程高亮的进程树 |
| `memory_find_injected_code` | 1->2 | 代码注入 + YARA 扫描 |
| `memory_find_c2_connections` | 1+2 | 网络 C2 检测 |
| `memory_get_command_history` | 1+2 | 命令恢复 + 分类 |
| `memory_extract_credentials` | 2 | 通过 Vol3 提取哈希/密钥 |
### 提取
| 工具 | 层级 | 描述 |
|------|------|-------------|
| `memory_dump_process` | 2 | 进程信息和已加载 DLL |
| `memory_dump_vad` | 2 | 检查内存区域详细信息 |
| `memory_list_dumpable_files` | 3 | 列出缓存的文件 |
### 威胁情报
| 工具 | 描述 |
|------|-------------|
| `vt_lookup_hash` | VirusTotal 哈希查询 |
| `vt_lookup_ip` | VirusTotal IP 信誉查询 |
| `vt_lookup_domain` | VirusTotal 域名信誉查询 |
| `vt_lookup_file` | 哈希文件 + VT 查询 |
## 示例:完整分诊输出
在 Windows 10 内存转储(Win10 19041, x64, VMware)上运行 `memory_full_triage`:
```
{
"threat_level": "critical",
"risk_score": 100,
"summary": "Processes: 115 found. Process Anomalies: 4 info-level. Network: 4 flagged of 79 connections. Commands: 56 memory fragments. Injected Code: 12 RWX regions. Correlations: 2 critical.",
"engine": "rust+python"
}
```
**主要发现:**
| 类别 | 详情 |
|----------|--------|
| 可疑进程 | `mmc.exe` 从 explorer.exe 启动,从浏览器下载目录加载了一个 `.msc` 文件 |
| 注入代码 | mmc.exe 中有 4 个 RWX 私有内存区域,EXCEL.EXE 中有 2 个 |
| 子进程 | `dllhost.exe` 由 mmc.exe 派生,具有可执行的 RWX 区域 |
| 网络 | svchost.exe 在端口 443/80 上建立了到外部 IP 的连接 |
| 关联 | `active_implant` + `active_c2_session` 被标记为严重 |
| IoC | 自动提取了可疑的外部 IP |
**使用过滤后的文件扫描进行深入分析:**
```
memory_run_plugin(image_path="memory.raw", plugin="filescan", filter="notepad")
# 返回:7612 个结果中有 2 个匹配(截断前在服务器端进行 grep 搜索)
```
## 相关项目
- **winforensics-mcp** — Windows 磁盘取证(EVTX、注册表、MFT、Prefetch、YARA、PCAP)
- **mac_forensics-mcp** — macOS DFIR(统一日志、FSEvents、Spotlight、Plists)
标签:AMSI绕过, C2检测, DAST, IP 地址批量处理, MCP协议, Python语言, Rust语言, SecList, VirusTotal集成, Volatility3, YARA集成, 内存分析工具, 内存取证, 内存漏洞扫描, 内存转储分析, 取证服务器, 可视化界面, 多层引擎, 威胁检测, 工具路由, 恶意软件分析, 数字取证, 网络安全, 自动化脚本, 自动检测, 进程分析, 逆向工具, 通知系统, 隐私保护