使用 LiME 和 Volatility 进行内存取证分析
说明
使用 LiME 内核模块采集 Linux 内存,然后使用 Volatility 3 从内存镜像中提取取证制品。
# LiME 内存采集
insmod lime-$(uname -r).ko "path=/evidence/memory.lime format=lime"
# Volatility 3 分析
vol3 -f /evidence/memory.lime linux.pslist
vol3 -f /evidence/memory.lime linux.bash
vol3 -f /evidence/memory.lime linux.sockstat
import volatility3
from volatility3.framework import contexts, automagic
from volatility3.plugins.linux import pslist, bash, sockstat
# Volatility 3 编程方式使用
context = contexts.Context()
automagics = automagic.available(context)
关键分析步骤:
- 使用 LiME 采集内存(format=lime 或 format=raw)
- 使用 linux.pslist 列出进程,与 linux.psscan 比对
- 使用 linux.bash 提取 bash 命令历史
- 使用 linux.sockstat 列出网络连接
- 使用 linux.lsmod 检查已加载的内核模块(rootkit 检测)
示例
# 完整取证工作流
vol3 -f memory.lime linux.pslist | grep -v "\[kthread\]"
vol3 -f memory.lime linux.bash
vol3 -f memory.lime linux.malfind
vol3 -f memory.lime linux.lsmod