使用说明
项目简介
Volatility MCP Server 是一个创新的工具,旨在通过 Model Context Protocol (MCP) 协议桥接 Volatility 3 框架与大型语言模型 (LLM),如 Claude。该服务器将 Volatility 3 的强大内存取证能力转化为易于 LLM 理解和调用的工具,使得用户可以通过自然语言指令,让 LLM 客户端执行复杂的内存分析任务。这极大地降低了内存取证的技术门槛,并提升了分析效率。
主要功能点
- 自然语言内存取证: 允许用户使用自然语言向 Claude 等 MCP 客户端提出内存分析请求。
- 进程分析: 支持列出进程、进程树、扫描隐藏进程、查看进程命令行和DLL列表等。
- 网络取证: 能够识别内存转储中的网络连接。
- 恶意软件检测: 可以检测潜在的代码注入和恶意工件。
- DLL 和文件分析: 支持分析加载的 DLL 和模块,以及扫描内存中的文件对象。
- 自定义插件: 允许用户运行任何 Volatility 插件并自定义参数。
- 内存转储发现: 能够自动在指定目录中查找内存转储文件。
安装步骤
-
克隆仓库
git clone https://github.com/bornpresident/Volatility-MCP-Server.git cd Volatility-MCP-Server -
安装 Python 包
确保已安装 Python 3.10 或更高版本。然后安装必要的 Python 依赖包:
pip install mcp httpx -
配置 Volatility 路径
编辑 'volatility_mcp_server.py' 文件,根据你的 Volatility 3 安装路径修改 'VOLATILITY_DIR' 变量。
VOLATILITY_DIR = os.path.normpath(r"C:\path\to\volatility3") # 例如: r"C:\Users\YourUser\volatility3-2.11.0" -
配置 MCP 客户端 (以 Claude Desktop 为例)
打开 Claude Desktop 的配置文件 'claude_desktop_config.json'。该文件通常位于:
- Windows: '%APPDATA%\Claude\claude_desktop_config.json'
- macOS: '~/Library/Application Support/Claude/claude_desktop_config.json'
在 'mcpServers' 字段中添加 Volatility MCP Server 的配置。如果 'mcpServers' 字段不存在,则创建它。
{ "mcpServers": { "volatility": { "command": "python", "args": [ "/path/to/volatility_mcp_server.py" // 修改为 volatility_mcp_server.py 的实际路径 ], "env": { "PYTHONPATH": "/path/to/volatility3" // 修改为 volatility3 目录的实际路径 } } } }配置参数说明:
- 'server name': 'volatility' (服务器名称,客户端配置中引用此名称)
- 'command': 'python' (启动服务器的命令)
- 'args':
- '"/path/to/volatility_mcp_server.py"': 需要用户修改为 'volatility_mcp_server.py' 脚本的绝对路径
- 'env':
- 'PYTHONPATH': '"/path/to/volatility3"': 需要用户修改为 Volatility 3 框架目录的绝对路径
-
重启 MCP 客户端
重启 Claude Desktop 或其他 MCP 客户端,使配置生效。
基本使用方法
配置完成后,即可在 MCP 客户端中使用自然语言指令调用 Volatility MCP Server 提供的工具进行内存取证分析。例如,在 Claude 中,你可以这样提问:
- '"列出 C:\path\to\dump.vmem 内存转储中的所有进程"'
- '"显示 C:\path\to\dump.vmem 中的网络连接"'
- '"运行 malfind 检查内存转储中的代码注入"'
- '"进程 ID 4328 中加载了哪些 DLL?"'
- '"检查 C:\path\to\dump.vmem 中是否存在隐藏进程"'
可用工具
Volatility MCP Server 将以下 Volatility 插件作为 MCP 工具公开:
- 'list_available_plugins' - 显示所有可用的 Volatility 插件
- 'get_image_info' - 提供内存转储文件的信息
- 'run_pstree' - 显示进程层次结构
- 'run_pslist' - 列出进程列表
- 'run_psscan' - 扫描进程,包括可能隐藏的进程
- 'run_netscan' - 显示内存转储中的网络连接
- 'run_malfind' - 检测潜在的代码注入
- 'run_cmdline' - 显示进程的命令行参数
- 'run_dlllist' - 列出进程加载的 DLL
- 'run_handles' - 显示文件句柄和其他系统句柄
- 'run_filescan' - 扫描内存中的文件对象
- 'run_memmap' - 显示特定进程的内存映射
- 'run_custom_plugin' - 运行任何 Volatility 插件并自定义参数
- 'list_memory_dumps' - 在目录中查找内存转储文件
信息
分类
开发者工具