项目简介

MemProcFS MCP 服务器是一个基于 Model Context Protocol (MCP) 的应用后端,它利用 MemProcFS 内存取证框架,对外提供进程和注册表信息的访问能力。通过该服务器,MCP 客户端可以方便地获取目标系统的内存数据,用于安全分析、恶意软件检测、系统故障排查等场景。

主要功能点

  • 进程信息获取: 提供获取进程各种属性的工具,例如进程ID (PID)、父进程ID (PPID)、进程路径、命令行、内存地址、会话ID等,方便用户深入了解系统进程的运行状态。
  • 注册表信息获取: 支持访问和查询 Windows 注册表信息,包括注册表 hive 列表、指定 hive 的属性、注册表键值和键值的属性,帮助用户分析系统配置和软件行为。
  • 基于内存镜像: 服务器基于内存镜像文件(如 '.raw' 文件)进行数据分析,无需直接访问运行中的系统,安全性更高。
  • 工具化接口: 通过 MCP 协议的 Tool 功能,将数据获取和分析能力封装成易于调用的工具,方便 LLM 客户端集成和使用。

安装步骤

  1. 安装 MemProcFS Python 库: 确保你的 Python 环境中安装了 'memprocfs' 库。如果未安装,请运行以下命令安装:

    pip install memprocfs
  2. 下载仓库代码: 从 GitHub 仓库 'https://github.com/Tokeii0/MemProcFS-mcp-server' 下载或克隆代码到本地。

  3. 准备内存镜像文件: 你需要准备一个内存镜像文件 ('.raw' 文件),该文件将作为数据源供服务器分析。

  4. 运行服务器: 在代码仓库根目录下,使用 Python 运行 'server.py' 文件即可启动 MCP 服务器。

    python server.py

    注意: 根据 'README.md' 和提供的 JSON 配置信息,服务器默认使用 Python 解释器运行 'D:\MCP\server.py' 脚本。你需要 将 JSON 配置中的路径 'D:\MCP\server.py' 替换为你实际 'server.py' 脚本的路径

服务器配置

MCP 客户端需要以下 JSON 配置信息来连接到 MemProcFS MCP 服务器。请根据你的实际情况修改 'args' 中的脚本路径。

{
  "MemProcFS-mcp-server": {  // 服务器名称,客户端用于识别
    "command": "python",      // 启动服务器的命令,这里使用 python 解释器
    "args": [                 // 启动命令的参数列表
      "D:\\MCP\\server.py"   // 服务器脚本 server.py 的路径,**请替换为实际路径**
    ]
  }
}

基本使用方法

  1. 启动 MCP 服务器: 按照上述安装步骤运行 'server.py'。

  2. 配置 MCP 客户端: 在 MCP 客户端中,配置上述 JSON 信息,指定服务器的启动命令和参数。

  3. 客户端调用工具: 客户端可以使用 MCP 协议调用服务器提供的工具,例如:

    • 'get_process_attribute': 获取进程属性,需要提供内存镜像路径、进程名称和属性名。
    • 'get_reghive_attribute': 获取注册表 hive 属性,需要提供内存镜像路径、hive 标识符和属性名。
    • 'get_regkey_attribute': 获取注册表键属性,需要提供内存镜像路径、键路径和属性名。
    • 'get_regvalue_attribute': 获取注册表值属性,需要提供内存镜像路径、值路径和属性名。
    • 'get_reghive_list': 获取注册表 hive 列表,需要提供内存镜像路径。

    示例 (假设使用 'cline' 客户端):

    cline call MemProcFS-mcp-server get_process_attribute '{"mempath": "D:/test.raw", "process_name": "explorer.exe", "attributes": "pid"}'

    上述命令将调用 'MemProcFS-mcp-server' 服务器的 'get_process_attribute' 工具,并传入内存镜像路径 'D:/test.raw',进程名称 'explorer.exe' 和属性名 'pid',以获取 explorer.exe 进程的 PID。

注意: 你需要将 'D:/test.raw' 替换为你实际的内存镜像文件路径。

信息

分类

桌面与硬件