在勒索软件调查中使用 ShimCache

约 1 分钟阅读

TL;DR. 勒索软件运营者通常会删除工具并重启。ShimCache 往往能幸存下来,保留加密之前投放器与跳板工具的路径。请同时取走 SYSTEM 配置单元 一份内存镜像(如果主机尚未干净重启),然后用 AmCache 做基于哈希的归因印证。

勒索软件调查是逆风的取证:磁盘已加密、工具已删除、事件日志有时被截断,而攻击者倾向于让系统重启。ShimCache 是为数不多在这种环境下仍能回答基础问题的证据之一。本文是它的战术使用指南。

在勒索软件案例中 ShimCache 通常保留了什么

在典型的勒索软件应对中,当你介入时:

  • 加密器二进制通常 已不在 —— 被自身或清理脚本删除。
  • 如果攻击者想到,Prefetch 目录可能被 清空
  • 事件日志可能被 截断(Event ID 1102 是经典指示)。
  • AmCache 因持续写入而 保留,但其中只有 Windows 来得及登记的二进制。
  • ShimCache 保留了上一次干净关机时被刷盘的部分 —— 而那往往就是入侵早期运行过的投放器与跳板工具。

由于 ShimCache 只在关机时写盘(详见此处),最 有用 的状态通常是在被入侵主机重启之前从其内存镜像中提取。如果系统已经重启,磁盘上的配置单元仍能给出当时已被持久化的内容。

ShimCache 能回答的三个问题

1. 加密前跑过什么?mtime 排序 ShimCache,从可疑的加密时间窗向后回溯。位于 \Temp\\AppData\\ProgramData\ 的投放器路径会反复出现。哈希请与 AmCache 交叉验证(见 ShimCache 与 AmCache)。

2. 他们还横向移动到了哪里? ShimCache 也记录所连卷上的可执行文件。命中 UNC 路径(\\?\UNC\)或异常盘符意味着横向移动基础设施 —— 用来做 staging 的文件服务器、共享的管理员工具目录、被试图清除的备份卷。

3. 跳板工具是什么? PSExec、WMIExec、mimikatz、Cobalt Strike beacon、AnyDesk / TeamViewer 安装程序、自定义 loader —— 都会在 ShimCache 中留下痕迹。许多勒索软件 playbook 会复用相同的工具名;用你的标准指标列表对 ShimCache 做一次扫描,能很快揪出它们。

简短工作流

  1. 从磁盘获取 SYSTEM 配置单元 (C:\Windows\System32\config\SYSTEM + 事务日志)。对仍在运行的主机,再额外采集内存镜像 —— 见 从内存转储中提取 ShimCache
  2. 解析(路径, mtime, 格式) 表。Shimcache Parser 让配置单元离线驻留在你的浏览器里。
  3. 按勒索软件 playbook 的特征 过滤:加密器名称、RMM 安装程序(AnyDesk、ScreenConnect、Splashtop)、凭据工具、用于外发数据 staging 的归档工具(7zwinrar)。
  4. 恶意软件狩猎工作流 进行 分诊
  5. 把 ShimCache、AmCache、Prefetch 与事件日志结合,构建时间线 —— 时间线一文 涵盖了工具选择。
  6. 警惕篡改。 在被入侵主机上出现可疑地短或空的 ShimCache,本身就是一种指示 —— 见 反取证检测

不要言过其实

勒索软件报告中的 ShimCache 证据会被保险公司、法律顾问、威胁情报团队仔细审视。务必准确:

  • encryptor.exe 的 ShimCache 命中只能证明 该文件曾出现在磁盘上。它 不能 证明就是该文件执行了加密(这是 关于执行证明的告诫)。
  • mtime 是文件的最后修改时间,不是勒索软件运行的时刻。
  • 进行基于哈希的归因时,始终以 AmCache 的 SHA-1 互相印证。

延伸阅读

相关文章