Token导航 LogoToken导航TokenDH.com
Windows Memory Forensics MCP logo
安全风控stdio官方级别未说明来源级核验

Windows Memory Forensics MCP

MCP Server

基于Volatility 3和MemProcFS的Windows内存取证MCP服务器,提供33种工具用于分析内存转储,适用于网络安全研究和CTF比赛。

工具数

34

提示词数

0

GitHub Stars

4

资源数

0
安全PythonClaudeClaude DesktopClaudeCursor

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

0xhackerfren

提供方

0xhackerfren

最后核验

2026/5/17 20:21

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

python verify_setup.py C:\path\to\memory.raw

详细介绍

Windows内存取证MCP

警告:概念验证 这是为研究和CTF目的开发的概念验证实现。 使用风险自负。 不建议在没有彻底测试和验证的情况下进行生产法医调查。

用于Windows内存取证的模型上下文协议(MCP)服务器。为AI代理提供33个工具,用于使用Volatility 3、MemProcFS和CLR分析后端分析内存转储。

作者 雅各布·克雷尔

先决条件

在运行安装程序之前,请确保您已经:

  1. Python 3.10+ - 从python.org下载
  2. Visual C++构建工具 -编译yara-python时需要

- 下载Visual C++构建工具 - 在安装过程中,选择 “用C++进行桌面开发” 工作量 - 这是YARA扫描功能所必需的

快速设置(一个命令)

# Clone and setup
git clone https://github.com/0xhackerfren/windows-memory-forensics-mcp.git
cd windows-memory-forensics-mcp
.\setup.ps1

安装脚本将:

  • 创建Python虚拟环境
  • 安装所有依赖项(Volatility 3、MemProcFS、pefile、yara-python)
  • 验证安装
  • 打印Cursor/Claude的配置说明

设置后,使用内存转储进行验证:

python verify_setup.py C:\path\to\memory.raw

AI代理使用

有关AI代理指南,请参阅 AGENT_RULES.md -此文件包含:

  • 完整的工具参考
  • 调查工作流程模式
  • 常见分析模式
  • 示例命令

您可以将AGENT_RULES.md用作:

  • 游标规则(复制到 .cursor/rules/)
  • 克劳德桌面系统提示
  • 参考文件

免责声明

该软件“按原样”提供,用于研究、教育和CTF目的。

  • 无任何保证或担保 准确性或完整性
  • 彻底测试 在用于真实的法医证据之前
  • 不用于生产用途 -独立验证所有结果
  • 作者是 不负责任 对于由此工具得出的任何损坏、数据丢失或错误结论
  • 始终遵循适当的监管链程序进行真正的法医调查

特性

  • 可插拔后端:波动率3、MemProcFS、cdb.exe、dotnet转储
  • 过程分析:列出进程、命令行、DLL、句柄
  • 恶意软件检测:故障、隐藏模块检测、注射检测
  • 内存提取:VAD转储(原始和重建),任意内存读取
  • CLR/。网络分析:深。通过迷你转储上的SOS命令进行NET检查
  • 分阶段有效载荷重建:从环境变量中提取和解码有效载荷(PASTALOADER、GrimResource模式)
  • 网络取证:网络连接枚举

MCP客户端配置

光标IDE

添加到 .cursor/mcp.json (如果文件不存在,请创建该文件):

{
  "mcpServers": {
    "memory-forensics-mcp": {
      "command": "C:/path/to/windows-memory-forensics-mcp/venv/Scripts/python.exe",
      "args": ["C:/path/to/windows-memory-forensics-mcp/src/memory_forensics_mcp.py"]
    }
  }
}

重要:使用虚拟环境Python(venv/Scripts/python.exe)以确保依赖关系可用。

重新启动Cursor以加载MCP。

克劳德桌面/克劳德代码

添加到 %APPDATA%\Claude\claude_desktop_config.json:

{
  "mcpServers": {
    "memory-forensics-mcp": {
      "command": "C:/path/to/windows-memory-forensics-mcp/venv/Scripts/python.exe",
      "args": ["C:/path/to/windows-memory-forensics-mcp/src/memory_forensics_mcp.py"]
    }
  }
}

重新启动Claude Desktop以加载MCP。

可用工具(33)

过程分析

工具说明
list_processes列出所有带有PID、名称和时间戳的进程
get_cmdline获取进程的命令行参数
list_dlls列出进程加载的DLL
ldrmodules比较模块列表以检测隐藏的模块
handles列表进程句柄
handles_enriched处理过滤、摘要和交叉引用

内存提取

工具说明
vadinfo列出进程的虚拟地址描述符
dump_vad将VAD区域转储到文件(带PE重建)
dump_vad_raw转储原始VAD字节而不进行重建
read_virtual_memory从进程中读取任意虚拟内存
read_physical_memory读取给定地址的物理内存
memprocfs_get_minidump提取Winchest兼容的迷你转储

VFS浏览(MemProcFS)

工具说明
vfs_list列出MemProcFS虚拟文件系统中的目录条目
vfs_read从MemProcFS VFS中的文件读取字节
vfs_export将文件从MemProcFS VFS导出到磁盘

恶意软件检测

工具说明
malfind查找注入或可疑代码
find_hidden_modules查找不在PEB加载器列表中的模块
yara_scan使用自定义YARA规则扫描内存

网络取证

工具说明
netscan扫描网络连接
filescan扫描内存中的文件对象

注册分析

工具说明
list_registry_hives列出内存中找到的注册表配置单元
registry_printkey从内存中打印注册表键值

CLR/。网络分析

工具说明
list_clr_modules列出带地址的CLR程序集(通过SOS)

分阶段有效载荷分析

工具说明
get_process_environment从PEB中提取环境变量
reconstruct_staged_payload从分段环境变量重建有效载荷

标记和时间线(AI工作流)

工具说明
add_tag添加标签以跨工具调用跟踪发现
list_tags列出会话中的所有标签
clear_tags清除所有标签
add_timeline_event将事件添加到调查时间表中
list_timeline列出时间线事件
clear_timeline清除时间线事件

效用

工具说明
check_installation检查后端安装状态
list_capabilities列出所有可用工具
get_documentation获取使用文档

用法示例

基本过程分析

# List all processes
result = list_processes(memory_file="C:/evidence/memory.raw")
for proc in result["results"]:
    print(f"PID {proc['PID']}: {proc['ImageFileName']}")

# Get command line for suspicious process
cmdline = get_cmdline(memory_file="C:/evidence/memory.raw", pid=1234)
print(cmdline["results"])

检测隐藏/注入模块

# Use ldrmodules to find modules with suspicious flags
ldr = ldrmodules(memory_file="memory.raw", pid=3120)
for mod in ldr["results"]:
    if not mod["InLoad"] and not mod["InInit"] and not mod["InMem"]:
        print(f"Hidden module: {mod['Base']} - {mod['MappedPath']}")

# Or use the automated detection
hidden = find_hidden_modules(memory_file="memory.raw", pid=3120)
print(f"Found {hidden['count']} hidden modules")

检测分段有效载荷(PASTALOADER/GrimResource模式)

# Extract environment variables with a specific prefix
env = get_process_environment(
    memory_file="memory.raw",
    pid=3120,
    filter_prefix="B_"  # PASTALOADER uses B_1, B_2, ... B_N
)
print(f"Found {env['filtered_count']} staged payload chunks")

# Reconstruct the payload
payload = reconstruct_staged_payload(
    memory_file="memory.raw",
    pid=3120,
    var_prefix="B_",
    decode_algorithm="pastaloader",
    output_path="./output/reconstructed_payload.bin"
)
print(f"Payload MD5: {payload['md5']}")

后端

安装脚本会自动安装所有后端:

后端目的状态
波动性3经典内存取证由setup.py安装
MemProcFSVFS访问、迷你转储、可靠的VA读取由setup.py安装
PefilePE文件解析由setup.py安装
yara-pythonYARA规则扫描由setup.py安装(可能需要Visual C++)

可选外部工具

工具目的安装命令
cdb.exe深度CLR/SOS分析安装Windows SDK调试工具
.net转储.NET核心转储分析dotnet tool install -g dotnet-dump

后端选择

大多数工具支持 engine 参数:

# Auto-select best available backend (default)
list_processes(memory_file="memory.raw", engine="auto")

# Force Volatility 3
list_processes(memory_file="memory.raw", engine="volatility")

# Force MemProcFS
list_processes(memory_file="memory.raw", engine="memprocfs")

故障排除

常见问题

问题解决方案
“没有可用后端”运行 .\setup.ps1 安装依赖项
“找不到mcp模块”使用venv Python: venv/Scripts/python.exe
“找不到内存文件”使用内存文件的绝对路径
“yara-python安装失败”安装Visual C++生成工具,然后重试
“找不到内核符号”从Microsoft自动下载波动性-确保互联网接入

验证安装

# Check backends only
python verify_setup.py --check-only

# Full test with memory file
python verify_setup.py C:\path\to\memory.raw

手动安装

如果 setup.ps1 失败,请手动安装:

python -m venv venv
.\venv\Scripts\Activate.ps1
pip install mcp volatility3 pefile memprocfs

项目结构

windows-memory-forensics-mcp/
+-- src/
|   +-- memory_forensics_mcp.py  # Main MCP server
+-- examples/
|   +-- basic_analysis.py        # Basic usage examples
|   +-- malware_detection.py     # Malware detection workflow
|   +-- staged_payload.py        # Staged payload reconstruction
|   +-- quickstart.py            # Quick verification script
+-- .cursor/
|   +-- mcp.json.example         # Cursor configuration example
+-- setup.ps1                    # One-command setup script
+-- verify_setup.py              # Installation verification
+-- AGENT_RULES.md               # AI agent usage guide
+-- requirements.txt             # Python dependencies
+-- pyproject.toml               # Package metadata
+-- LICENSE                      # MIT License
+-- README.md                    # This file

需求

  • Windows 10/11
  • Python 3.10+
  • PowerShell 5.1+(用于setup.ps1)

所有Python依赖项都由自动安装 setup.ps1.

贡献

欢迎投稿!拜托:

  1. 克隆该仓库
  2. 创建要素分支(git checkout -b feature/amazing-feature)
  3. 提交您的更改(git commit -m 'Add amazing feature')
  4. 推到分支(git push origin feature/amazing-feature)
  5. 打开拉取请求

许可证

此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。

作者

雅各布·克雷尔 -创建者和维护者

致谢

相关项目

______________________________________________________________________

概念验证 -根据真实世界的DFIR调查创建。战斗测试了HTB夏洛克挑战,包括Novitas(疯狂难度)。

*使用风险自负。始终通过多种方法验证法医调查结果。*

目录标签

目录标签

安全PythonClaude内存取证本地部署网络安全CTF工具VolatilityMemProcFS恶意软件检测

支持客户端

Claude DesktopClaudeCursor

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

34

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP