内存取证分析服务器

一个将Volatility 3内存取证框架与Claude等MCP兼容LLM集成的模型上下文协议服务器,通过自然语言简化内存取证分析流程。

  • by bornpresident
  • Python
  • 本地部署
  • 41 星标
  • 更新于
在 GitHub 查看 bornpresident/Volatility-MCP-Server

使用说明

波动性MCP服务器

一种模型上下文协议(MCP)服务器,将Volatility 3内存取证框架与Claude和其他MCP兼容的LLM集成在一起。

为什么这很重要

在印度,由于该国人口众多和网络犯罪率上升,数字法医调查人员面临着大量积压的案件。该工具通过以下方式帮助应对这一挑战:

  • 允许研究人员使用简单的自然语言而不是复杂的命令来分析内存转储
  • 减少执行内存取证所需的技术专长
  • 通过自动化加速分析过程
  • 帮助清理积压案件,更快地向司法系统提供结果

通过使内存取证更容易访问,该工具可以显著减轻取证专家的负担,并改善印度各地的网络安全响应。

概述

该项目通过模型上下文协议(MCP)将Volatility 3框架的强大内存取证功能与大型语言模型(LLM)连接起来。它允许您使用自然语言执行内存取证分析,将Volatility插件作为MCP工具公开,可由Claude或其他兼容MCP的LLM直接调用。

特性

  • 自然语言记忆取证:让克劳德用自然语言分析内存转储
  • 过程分析:检查正在运行的进程、父子关系和隐藏的进程
  • 网络取证:识别内存转储中的网络连接
  • 恶意软件检测:查找潜在的代码注入和其他恶意工件
  • DLL分析:检查加载的DLL和模块
  • 文件对象:扫描内存中的文件对象
  • 自定义插件:使用自定义参数运行任何Volatility插件
  • 内存转储发现:自动查找目录中的内存转储

需求

  • Python 3.10或更高版本
  • 波动性3框架
  • Claude Desktop或其他MCP兼容客户端
  • MCP Python SDK(mcp 包装)

安装

  1. 克隆此存储库:

    git clone https://github.com/yourusername/volatility-mcp-server.git
    
  2. 安装所需的Python包:

    pip install mcp httpx
    
  3. 在脚本中配置波动率路径:

    • 打开 volatility_mcp_server.py 并更新 VOLATILITY_DIR 变量指向您的Volatility 3安装路径。
  4. 配置Claude桌面:

    • 打开位于以下位置的Claude Desktop配置文件:
      • 窗户: %APPDATA%\Claude\claude_desktop_config.json
      • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • 添加服务器配置:
    {
      "mcpServers": {
        "volatility": {
          "command": "python",
          "args": [
            "/path/to/volatility_mcp_server.py"
          ],
          "env": {
            "PYTHONPATH": "/path/to/volatility3"
          }
        }
      }
    }
    
    • 替换 /path/to/ 使用文件的实际路径。
  5. 重新启动Claude Desktop以应用更改。

用法

设置后,您可以简单地向Claude自然语言询问有关内存转储的问题:

  • “列出C:\path\to_dump.vmem内存转储中的所有进程”
  • “显示C:\path\to_dump.vmem中的网络连接”
  • “运行malfind检查内存转储中的代码注入”
  • “进程ID 4328中加载了哪些DLL?”
  • “检查C:\path\to_dump.vmem中的隐藏进程”

可用工具

服务器将以下Volatility插件作为MCP工具公开:

  1. list_available_plugins -显示您可以使用的所有波动性插件
  2. get_image_info -提供有关内存转储文件的信息
  3. run_pstree -显示流程层次结构
  4. run_pslist -从进程列表中列出进程
  5. run_psscan -扫描进程,包括可能隐藏的进程
  6. run_netscan -在内存转储中显示网络连接
  7. run_malfind -检测潜在的代码注入
  8. run_cmdline -显示进程的命令行参数
  9. run_dlllist -列出进程的已加载DLL
  10. run_handles -显示文件句柄和其他系统句柄
  11. run_filescan -扫描内存中的文件对象
  12. run_memmap -显示特定进程的内存映射
  13. run_custom_plugin -使用自定义参数运行任何Volatility插件
  14. list_memory_dumps -在目录中查找内存转储

内存取证工作流程

此MCP服务器实现了简化的内存取证工作流程:

  1. 初步分类:

    • “显示memory.vem中的进程树”
    • “列出内存.vmem中的所有网络连接”
  2. 可疑流程调查:

    • “使用什么命令行启动进程1234?”
    • “显示进程1234加载的所有DLL”
    • “进程1234中打开了哪些文件句柄?”
  3. 恶意软件狩猎:

    • “在memory.vmem上运行malfind以检查代码注入”
    • “显示具有异常父子关系的流程”
    • “查找内存中的隐藏进程.vem”

故障排除

如果您遇到问题:

  1. 路径问题:

    • 确保所有路径都是绝对的,并在Windows路径中使用双反斜杠
    • 检查内存转储文件是否存在并且可读
  2. 权限问题:

    • 以管理员身份运行Claude Desktop
    • 检查Python和Volatility目录是否具有适当的权限
  3. 波动误差:

    • 确保波动率3自身正常工作
    • 尝试直接在命令行中运行相同的命令
  4. MCP错误:

    • 检查Claude Desktop日志中的MCP错误
    • 确保MCP Python包安装正确

延伸

此服务器可以通过以下方式扩展:

  1. 添加更多波动性插件
  2. 创建自定义分析工作流
  3. 与其他取证工具集成
  4. 添加报告生成功能

许可证

MIT许可证