x746b/mem_forensics-mcp

GitHub: x746b/mem_forensics-mcp

这是一个统一内存取证MCP服务器,结合Rust速度和Volatility3覆盖,用于高效分析内存镜像以检测安全威胁。

Stars: 4 | Forks: 0

Memory forensics MCP # 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集成, 内存分析工具, 内存取证, 内存漏洞扫描, 内存转储分析, 取证服务器, 可视化界面, 多层引擎, 威胁检测, 工具路由, 恶意软件分析, 数字取证, 网络安全, 自动化脚本, 自动检测, 进程分析, 逆向工具, 通知系统, 隐私保护