Volatility 分析 Linux 内存
Volatility 3 是解析内存镜像的主流框架,Linux 支持下常用 pslist 看进程、bash 看命令历史、sockstat 看连接、lsmod 看模块。它能恢复已退出进程与已关闭连接的残留结构,这是磁盘取证做不到的部分,但前提是镜像与符号版本匹配。
基本信息
| 命令形式 | vol.py -f <镜像> <插件>,独立命令或 python3 vol.py 取决于安装方式 |
|---|---|
| 常用插件 | linux.pslist、linux.bash、linux.sockstat、linux.lsmod |
| 符号要求 | 需要与目标内核版本匹配的符号文件 |
| 获取方式 | 部分环境可自动下载,离线分析需预先准备 |
| 输出形式 | 表格文本,也可导出为结构化文件 |
| 前提条件 | 内存镜像由采集阶段完整获得并已计算哈希 |
典型使用场景
- 恢复已退出进程与已关闭连接
- 提取命令历史中的执行记录
- 检查内核模块的加载情况
- 与磁盘取证结果交叉验证
- 排查无文件载荷留下的痕迹
最小示例
最小示例
# 调用方式取决于安装:独立命令或 python3 vol.py
vol.py -f mem.lime linux.pslist | head -20 # 进程列表
vol.py -f mem.lime linux.bash | head -40 # 命令历史
vol.py -f mem.lime linux.sockstat | head -20 # 套接字与连接
vol.py -f mem.lime linux.lsmod | head -20 # 内核模块
vol.py -f mem.lime linux.pslist > ps.txt # 结果落地归档
sha256sum mem.lime # 记录镜像哈希插件与要点
| 插件 | 用途 | 要点 |
|---|---|---|
| linux.pslist | 枚举进程 | 可与磁盘侧进程结果对比 |
| linux.bash | 恢复命令历史 | 输出含时间与进程号 |
| linux.sockstat | 套接字与连接 | 可能含已关闭连接的残留 |
| linux.lsmod | 内核模块 | 与当前 lsmod 结果对比 |
| 符号文件 | 内核结构定义 | 版本不匹配会导致解析失败 |
镜像与符号版本不匹配时插件可能报错或给出错误结果;离线分析要提前准备与目标内核一致的符号文件。
内存中的进程与连接可能已经结束,磁盘上完全看不到,这正是内存取证的价值;报告中要明确标注数据来源为内存。
分析结果应与磁盘、日志证据交叉印证:单一的进程列表不足以支撑结论。
内存镜像包含凭据与个人信息,复制、传输与存储都要按证据管理规定控制访问范围。