mcpField
M
memory-forensics

memory-forensics

github.com/alphaonedev安全48 次安装
代码仓库

关于 memory-forensics

面向事件响应与数字取证的技能,使用 Volatility 分析易失性内存转储,提取系统痕迹并调查恶意软件和 rootkit。

主要功能

  1. 01提取进程、网络连接和注入代码
  2. 02检测隐藏进程与 rootkit
  3. 03检查休眠文件和分页文件
  4. 04支持多种转储格式与配置识别

适用场景

  1. 01调查疑似遭入侵系统的内存
  2. 02排查终端中的恶意软件
  3. 03检查休眠文件中的取证痕迹

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/alphaonedev/openclaw-graph --skill memory-forensics

安装后在 Claude Code 中输入/memory-forensics确认已加载。

详细介绍

内存取证

目的

此技能可使用 Volatility 等工具分析易失性内存转储,以识别恶意软件、Rootkit 和安全漏洞,支持数字取证调查。

适用场景

在疑似安全漏洞事件的响应过程中、分析受感染系统的 RAM 转储时,或对可能感染恶意软件的终端进行主动安全评估时,使用此技能。

主要功能

  • 使用 Volatility 插件解析内存转储,提取进程、网络连接和注入代码。
  • 通过检查进程空洞化或 DKOM(直接内核对象操纵)来检测隐藏进程和 Rootkit。
  • 分析休眠文件或页面文件中的命令历史记录、加密密钥等痕迹。
  • 支持多种转储格式,包括 raw、VMware 和 crash dump,并可自动检测配置文件。

使用模式

通过 Python 脚本中的 CLI 命令或直接在终端中调用此技能。始终指定内存转储文件和所需插件。对于自动化,可将命令封装在处理文件路径和输出的函数中。如果要扩展到基于云的取证工具,请使用环境变量存储 API 密钥。

Python 示例模式:

import subprocess
dump_file = 'memory.dmp'
subprocess.run(['volatility', '-f', dump_file, 'pslist'])

常用命令/API

使用 Volatility 框架命令实现核心功能。配置文件不匹配时,设置 VOLATILITY_PROFILE 环境变量,例如 $VOLATILITY_PROFILE=Win7SP1x64。

  • 命令:volatility -f memory.dmp imageinfo — 从转储中识别 OS 配置文件。
    • 标志:-f 用于指定文件路径,--profile=Win10x64 用于覆盖自动检测结果。
  • 命令:volatility -f memory.dmp malfind — 扫描注入代码或恶意软件挂钩。
    • 示例:将输出传入文件:volatility -f memory.dmp malfind > malware_output.txt
  • API 端点:如果通过 Python API 使用 Volatility3,请导入 from volatility3.framework import interfaces,然后调用 interfaces.configuration.ConfObject() 进行配置。
    • 代码片段:
      from volatility3 import framework
      config = framework.require_plugin('windows').build_configuration()
      config['primary'] = 'memory.dmp'
      
  • 配置格式:基于 JSON,例如,自定义运行时使用 {"plugin": "pslist", "dumpfile": "memory.dmp"}。

集成说明

通过 pip 安装 Volatility(pip install volatility),然后在脚本中调用即可完成集成。对于云取证身份验证(例如,AWS Memory DB 分析),请使用 $AWS_ACCESS_KEY_ID 和 $AWS_SECRET_ACCESS_KEY 等环境变量。确保此技能在隔离环境中运行,以免受到污染;通过安全路径传入转储文件。对于多工具集成,可通过管道将输出传递给 strings 或 YARA 等工具,例如 volatility -f memory.dmp strings | grep suspicious。

错误处理

检查 Volatility 的退出代码以处理常见错误;例如,如果找不到配置文件,请先使用 imageinfo。如果出现找不到文件的错误,请在运行前验证路径。在脚本中使用 try-except 块封装命令:

try:
    result = subprocess.run(['volatility', '-f', 'memory.dmp', 'pslist'], capture_output=True, check=True)
except subprocess.CalledProcessError as e:
    print(f"Error: {e.returncode} - {e.stderr.decode()}")

记录详细错误以便调试,并使用 $VOLATILITY_DEBUG=1 环境变量启用详细输出。

具体使用示例

  1. 检测 Windows 转储中的恶意软件: 加载疑似受感染计算机的内存转储并扫描异常。
    • 命令:volatility -f infected.dmp --profile=Win10x64 malfind
    • 步骤:先运行 volatility -f infected.dmp imageinfo 确认配置文件,然后分析输出,查找可疑进程的 PID 和虚拟地址。
  2. 调查 Rootkit 是否存在: 分析 Linux 内存转储中的隐藏内核模块。
    • 命令:volatility -f linux.dmp linux_pslist
    • 步骤:与 linux_modules 交叉核对以发现差异,然后对标记的地址使用 strings 进行进一步检查。

图关系

  • 相关技能:蓝队集群中的技能,例如“incident-response”(依赖输出)和“threat-intelligence”(提供输入数据)。
  • 通过以下方式关联:通过“forensics”和“security”等标签,关联到“network-forensics”等技能,以便全面分析安全漏洞。

评论

支持 Markdown