关于 memory-forensics
面向事件响应与数字取证的技能,使用 Volatility 分析易失性内存转储,提取系统痕迹并调查恶意软件和 rootkit。
主要功能
- 01提取进程、网络连接和注入代码
- 02检测隐藏进程与 rootkit
- 03检查休眠文件和分页文件
- 04支持多种转储格式与配置识别
适用场景
- 01调查疑似遭入侵系统的内存
- 02排查终端中的恶意软件
- 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 环境变量启用详细输出。
具体使用示例
- 检测 Windows 转储中的恶意软件: 加载疑似受感染计算机的内存转储并扫描异常。
- 命令:
volatility -f infected.dmp --profile=Win10x64 malfind - 步骤:先运行
volatility -f infected.dmp imageinfo确认配置文件,然后分析输出,查找可疑进程的 PID 和虚拟地址。
- 命令:
- 调查 Rootkit 是否存在: 分析 Linux 内存转储中的隐藏内核模块。
- 命令:
volatility -f linux.dmp linux_pslist - 步骤:与
linux_modules交叉核对以发现差异,然后对标记的地址使用strings进行进一步检查。
- 命令:
图关系
- 相关技能:蓝队集群中的技能,例如“incident-response”(依赖输出)和“threat-intelligence”(提供输入数据)。
- 通过以下方式关联:通过“forensics”和“security”等标签,关联到“network-forensics”等技能,以便全面分析安全漏洞。