TL;DR. SYSTEM ハイブをパース → ユーザー書き込み可能な場所(AppData、Temp)や想定外のシステムパスでフィルタ → ヒットは AmCache のハッシュと Prefetch で裏付け → ファイルが消えている場合は SHA-1 をピボットに利用。ShimCache はハンティングのリストに名前を載せるだけで、単独で案件は閉じません。
ShimCache は Windows の脅威ハンティングで最もシグナルの高いピボット点のひとつです。Windows が検査した実行ファイル — その後削除されたものまで含めて — を追跡します。本稿は、ShimCache のダンプを調査対象のホストとファイルの絞り込みリストへと変換するための具体的なワークフローです。
5 ステップのワークフロー
- SYSTEM ハイブを収集する。
C:\Windows\System32\config\SYSTEM(および.LOG1/.LOG2)をオフラインで取得するか、Velociraptor のような稼働中の収集ツールを使います。書き込みの タイミング については ShimCache の保存場所 を参照。 - 平坦なリストへパースする。 バイナリ Blob を
(パス, mtime, 形式)の行に分解します。Shimcache Parser はブラウザでそれを行います。リファレンス・パーサー はオフラインで行います。 - 怪しいパスでフィルタする。 ここからがハンティングです — 単独の行ではなく、パターンを探します。
- 実行を裏付ける。 ShimCache の単発ヒットは存在の証拠であって、実行の証拠ではありません。注目した行はそれぞれ Prefetch、AmCache、イベントログと突き合わせてください(リファレンス)。
- ハッシュへピボットする。 ディスク上のファイルが消えている場合、AmCache の SHA-1 が VirusTotal / TI 検索の取っ手になります(両方のアーティファクトが要る理由)。
フィルタすべきパターン
実務上ハンターが高く評価するパス・パターンは次のようなものです。
- ユーザー書き込み可能なディレクトリ:
\AppData\Local\Temp\、\AppData\Roaming\、\Users\Public\、\ProgramData\— 管理者権限なしでユーザーやサービスがバイナリを落とせる場所。 - 本来書き込みがあるべきでないシステム配下:
C:\Windows\Temp\、C:\PerfLogs\、C:\Recycler\$Recycle.Bin\—C:\Windows\配下で既知の Windows パスでないもの。 - 二重拡張子 / システムバイナリを模倣する名前:
\System32\以外のsvchost.exe、見慣れない場所のlsass.exe、*.pdf.exe、*.docx.exe。 - ネットワーク共有・リムーバブルメディア:
\\?\UNC\、C:以外のドライブレター、\Device\HarddiskVolumeShadowCopy*。 - 使い切り型のツール:
psexec.exe、winrm.cmd、wmiexec.exe、cobaltstrike系アーティファクト — 正規の管理者ツールが乱用されることが多いです。
最初のパスでは正規表現で凝り過ぎないこと。mtime でソートし、新しい行を目で追ってください — 経験則フィルタが見落とすものを拾えます。
トリアージの目安
行が気になるとき、いくつかの素早いチェックでシグナルとノイズを切り分けます。
- 対応する Prefetch があるか? ほぼ実行の証拠です。
- AmCache に SHA-1 があるか? 検索してください。クリーンに署名されたベンダーハッシュなら優先度を下げます。
- mtime がインシデント既知時刻に怪しく近いか? アラートの数分以内に変更されたバイナリは精査する価値があります。
- 親ディレクトリがユーザープロファイルだが、本来管理者権限はない? あり得ますが、昇格の兆候(昇格トークン付きの Sysmon 4688)を確認してください。
このワークフローが教えてくれないこと
ShimCache 単体では、誰が、どんな引数で、いつバイナリを起動したかは分かりません。それには Sysmon、Security ログ、あるいは より完全な実行タイムライン が必要です。ShimCache の役割はハンティング・リストに名前を載せること — 単独で調査を閉じることではありません。
さらに読む
- Eric Zimmerman の AppCompatCacheParser — 標準的なオフライン・パーサー。
- Velociraptor の
Windows.Registry.AppCompatCache— 大規模な収集。 - ShimCache & AmCache forensic analysis (Mehrnoush) — ケース駆動の解説。