在勒索软件调查中使用 ShimCache

约 1 分钟阅读

TL;DR. 勒索软件操作者会删除工具并重启。ShimCache 经常能挺过来,保留下加密之前的 dropper 路径和 staging 工具。如果主机没有干净重启过,请同时取 SYSTEM hive 和一份 RAM dump,然后用 AmCache 进行基于哈希的归属佐证。

勒索软件调查就是逆风做取证。被加密的磁盘、被删除的工具、有时被清空的事件日志,以及攻击者主动重启的动机。ShimCache 是在那种环境下仍然能回答基本问题的少数几个工件之一。下面是我使用的战术手册。

ShimCache 通常保留什么

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

  • 加密器二进制通常已经消失。被它自己或清理脚本抹掉。
  • 如果攻击者想到了,Prefetch 目录可能被清空。
  • EVTX 日志有时被截断。Event ID 1102 是著名的破绽。
  • AmCache 会持续存在。它持续写入并携带 SHA-1 哈希。
  • ShimCache 保留上一次 clean shutdown 时刷新下来的内容。这里经常会有入侵早期运行的 dropper 和 staging 工具。

由于该缓存只在关机时刷新(详情),最有用的状态往往要在重启之前,从正在运行的失陷系统的内存映像中拉取。如果系统已经重启了,磁盘上的 hive 仍能给你那时已持久化的全部内容。内存提取见 从内存转储中提取 ShimCache。

ShimCache 帮助回答的三个问题

1. 加密之前运行了什么? 按 mtime 排序,从疑似加密的窗口向后回溯。\Temp\、\AppData\ 或 \ProgramData\ 中的 dropper 路径会经常出现。与 AmCache 交叉参照以拿到 SHA-1 哈希。见 ShimCache vs AmCache。

2. 他们还跳转去了哪里? ShimCache 会捕获挂载卷上的可执行文件。在 UNC 路径(\\?\UNC\)或不寻常盘符上的命中,指向横向移动的基础设施:他们做 staging 的文件服务器、共享的管理工具目录、他们试图擦除的备份卷。USN journal 和 MFT 通常能确认这些写入。

3. staging 工具是什么? PsExec、WMIExec、mimikatz、Cobalt Strike beacon、AnyDesk 和 TeamViewer 安装器、自定义 loader。它们都会留下 ShimCache 痕迹。大多数勒索软件 playbook 复用相同的工具名;用你标准的勒索软件指标列表扫一遍,很快就能抓到。

简短工作流

  1. 采集 SYSTEM hive 以及位于 C:\Windows\System32\config\ 的 SYSTEM.LOG1 和 SYSTEM.LOG2。在运行中的主机上,也捕获内存。见 采集 和 内存提取。
  2. 解析 为 (path, mtime, format) 表。Shimcache Parser 让 hive 在浏览器中保持离线。
  3. 过滤 勒索软件 playbook 签名:加密器名称、RMM 安装器(AnyDesk、ScreenConnect、Splashtop)、凭据工具、用于外渗 staging 的压缩工具(7z、winrar、rar.exe)、如果攻击者交互式下载过工具则查 浏览器历史 工件。
  4. 分诊 使用 恶意软件狩猎工作流。
  5. 构建时间线,把 ShimCache、AmCache、Prefetch 和事件日志结合起来。时间线文章 介绍了工具。
  6. 留意篡改。 在失陷主机上一个可疑地很短或为空的 ShimCache 本身就是一个指标。见 反取证检测。

别过度断言

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

  • encryptor.exe 的 ShimCache 命中证明该文件在某时刻位于磁盘上。它并不证明该文件就是实施加密的那个(执行证明告诫)。
  • mtime 是文件的最后修改时间。不是勒索软件运行的时间。
  • 对于基于哈希的归属,请始终用 AmCache 的 SHA-1 佐证。
  • 如果 BitLocker 或 BCD 被擦除,注册表 hive 和 pagefile 有时仍保留有用的线索。

延伸阅读

相关文章