内存取证:一个 dump 能挖出什么

磁盘取证看到的是"留下了什么",内存取证看到的是"当时在干什么"。很多东西只存在于内存里:

  • 未落地的进程。注入到合法进程里的代码,磁盘上找不到
  • 解密后的配置。C2 地址、密钥,磁盘上是加密的,内存里是明文
  • 网络连接。当时连了哪里
  • 命令历史、剪贴板、凭据。LSASS 里的哈希是最经典的
  • 注册表 hive 的内存副本,包括已经被删掉的键

Volatility 3 的常用起手式:

windows.pslist     进程列表
windows.pstree     父子关系,找异常的父进程
windows.malfind    找有执行权限的私有内存页,注入代码的典型特征
windows.cmdline    看命令行参数
windows.netscan    网络连接
windows.dlllist    加载的模块,找不在磁盘上的

malfind 一般是我第一个跑的——它命中率高,而且结果直接可以拿去反汇编。

采集这一步反而最容易出错:用 WinPMEM 之类的工具要注意不要把结果写到目标机自己的磁盘上。

你们 IR 的时候内存和磁盘的优先级怎么排?