内存对象时间戳分析
内存镜像保存的是系统停止前那一刻的状态,其中的进程创建时间、网络连接与命令行信息能补上磁盘痕迹看不到的部分。用 Volatility 3 的 windows.pslist、windows.netscan 等插件可直接得到结构化输出,把这些时间字段抽出并入时间线,就能覆盖系统运行期间的进程级活动。
基本信息
| 工具 | Volatility 3,需要与镜像版本匹配的符号文件 |
|---|---|
| 常用插件 | windows.info、pslist、psscan、netscan、cmdline |
| 时间字段 | 进程创建时间、连接建立时刻及对象的时间属性 |
| 适用范围 | Windows 内存镜像;Linux 侧对应 linux.* 系列插件 |
| 主要价值 | 补齐磁盘上已被删除或从未落盘的运行时事实 |
典型使用场景
- 确认可疑进程的实际启动时刻与父子进程关系
- 查看内存中仍存在的网络连接及其所属进程
- 取回命令行参数,判断程序是以什么方式被拉起
- 与磁盘侧执行痕迹互证,排除时间戳被篡改造成的干扰
- 主机已关机时,还原关机前一刻的运行状态
进程与连接
进程与连接
vol.py -f mem.raw windows.info # 基础信息,先确认符号是否匹配
vol.py -f mem.raw windows.pslist | head -20 # 活动进程列表,含创建时间
vol.py -f mem.raw windows.psscan | head -20 # 扫描进程对象,可捞到已退出的进程
vol.py -f mem.raw windows.cmdline | head -20 # 命令行参数
vol.py -f mem.raw windows.netscan | head -30 # 网络连接与所属进程插件与时间信息
| 插件 | 主要输出 | 时间字段情况 |
|---|---|---|
| windows.info | 系统版本与采集环境 | 采集时刻等基础时间 |
| windows.pslist | 活动进程链 | 进程创建时间,精度到秒 |
| windows.psscan | 扫描内存中的进程对象 | 可捞到已退出进程的残留时间 |
| windows.netscan | 连接与监听记录 | 部分字段含连接建立时刻 |
| windows.cmdline | 进程命令行 | 本身不含时间,需与创建时间配合 |
内存时间戳与磁盘痕迹的粒度不同,两者对不上时先核对采集时刻与系统时钟偏移,再判断是否存在篡改;不要因为几秒差异就否定内存结果,也不要为了对齐而随意平移时间。
Volatility 依赖与镜像匹配的符号文件,版本不符会解析失败或输出结构错乱的字段。先跑 windows.info 确认系统版本与环境,再决定使用哪套符号,解析异常时不要强行解读残缺输出。