Windows AppCompatCache フォレンジック
ブラウザで Windows Shimcache を解析。
SYSTEM レジストリハイブをドロップするだけで、AppCompatCache の各エントリ(ファイルパス、最終更新時刻、システム形式)をその場で抽出します。ファイルは一切アップロードされません。
- ファイルは送信されません
- Rust + WebAssembly パーサー
- Windows XP から 11 まで
ここに SYSTEM ハイブをドロップ
またはクリックして選択
ZIP 形式のトリアージ収集(KAPE、Velociraptor など)やフォルダーごとのドロップにも対応
架空の侵害事例から合成した SYSTEM ハイブです。実データは含まれていません。
データの取得方法
SYSTEM ハイブを収集したことがなくても大丈夫。最初に当てはまる方法を選び、コマンドを 1 つ実行して、ファイルをここにドロップするだけです。
- SYSTEM ハイブを収集
- ファイル・フォルダー・ZIP をここにドロップ
- ブラウザー内で解析 — アップロードは一切なし
管理者として実行してください(コマンドプロンプトまたは PowerShell を右クリック → 管理者として実行)。Windows 標準機能のみで、インストール不要です。
mkdir C:\triage 2>nul & reg save HKLM\SYSTEM C:\triage\SYSTEM.hiv /yNew-Item -ItemType Directory -Force -Path C:\triage | Out-Null; reg.exe save HKLM\SYSTEM C:\triage\SYSTEM.hiv /yC:\triage\SYSTEM.hiv が作成されます。このファイル 1 つをドロップしてください。reg save は稼働中のハイブをクリーンで整合性のある状態で書き出すため、トランザクションログは不要です。
管理者権限のプロンプトで KAPE のフォルダーから実行します。
kape.exe --tsource C: --target RegistryHivesSystem --tdest C:\triage\kapeC:\triage\kape フォルダー全体(またはその ZIP)をドロップしてください。SYSTEM ハイブと RegBack のコピーが自動的に検出されます。
Velociraptor
Windows.Triage.Targets をターゲット RegistryHivesSystem で収集し(古いサーバーでは Windows.KapeFiles.Targets の RegistryHives)、収集結果の ZIP をダウンロードしてそのままドロップします。
どちらも生ファイルをコピーするため、稼働中のシステムでは「ダーティ」なことがよくあります。本ツールは SYSTEM.LOG1 / SYSTEM.LOG2 を再適用しません。インポートレポートでハイブが警告された場合は、先にログを再適用する(Eric Zimmerman の rla.exe)か、代わりに reg save を使ってください。
FTK Imager:File → Add Evidence Item → イメージを選択し、Windows\System32\config を開いて SYSTEM(と SYSTEM.LOG1 / SYSTEM.LOG2)を選択 → 右クリック → Export Files。
robocopy E:\Windows\System32\config C:\triage SYSTEM SYSTEM.LOG1 SYSTEM.LOG2 /Bmmls image.E01
fls -r -p -o <offset> image.E01 | grep -i "system32/config/system$"
icat -o <offset> image.E01 <inode> > SYSTEMディスクイメージは稼働していないためロックはありません。ただし、正常にシャットダウンされていないマシンではハイブがダーティなままです。
- SYSTEM ハイブ — このファイルをドロップ
C:\Windows\System32\config\SYSTEM- トランザクションログ(報告のみ、再適用なし)
C:\Windows\System32\config\SYSTEM.LOG1C:\Windows\System32\config\SYSTEM.LOG2- RegBack のコピー(古いバックアップ。Windows 10 1803 以降は既定で空)
C:\Windows\System32\config\RegBack\SYSTEM- インプレースアップグレード後の以前のインストール
C:\Windows.old\Windows\System32\config\SYSTEM- ハイブ内の AppCompatCache 値(Vista – 11、Server 2003 以降)
SYSTEM\ControlSet00x\Control\Session Manager\AppCompatCache\AppCompatCache- Windows XP の場所
SYSTEM\ControlSet00x\Control\Session Manager\AppCompatibility\AppCompatCache
複数のファイル、フォルダー全体、ZIP をまとめてドロップできます。SYSTEM ハイブが抽出され、それ以外は理由が表示されます。ハイブ内のすべての ControlSet00x を解析します。
注意点
- 稼働中の
SYSTEMファイルはロックされています。通常のcopyは失敗し、ツールによっては黙ってゼロ埋めのファイルを作ります。reg saveか raw コピーツールを使ってください。 - 本ツールはログを再適用しません。稼働中のハイブの raw コピーでは最近の書き込みが欠けることがあります。先に
SYSTEM.LOG1/SYSTEM.LOG2を再適用するか、reg saveを使ってください。 - Windows がキャッシュをレジストリに書き込むのはシャットダウン時または再起動時のみです。前回の起動以降の実行はメモリ上にしかありません(RAM を取得し、例:Volatility
windows.shimcachemem)。
すべてローカルで動作します。ハイブはこのページから外に出ません。
主な機能
ShimCache の中身をすべて、重いツールなしで
すべての ControlSet
ControlSet001・002 などをすべて解析してタグ付けし、アクティブなセットを明示します。バックアップ側にしか残っていないエントリも見逃しません。
Windows XP から 11 まで
XP、Server 2003、Vista/7(x86・x64)、8、8.1、10、11 のキャッシュ形式を自動判別します。
疑わしいエントリの選別
既知の攻撃ツールや、ユーザー書き込み可能・ステージング用のパスをフラグ付けし、優先して確認すべき行を目立たせます。
CSV・JSON エクスポート
フィルター後のビューを、ControlSet と形式付きでタイムラインや表計算、SIEM に取り込めます。
トリアージ収集に対応
KAPE や Velociraptor の ZIP、またはフォルダーごとドロップすると、SYSTEM ハイブと RegBack コピーを自動で見つけ、それ以外のファイルは理由を説明します。トランザクションログは検出を報告するのみで、再生はしません。
設計からプライベート
Rust 製パーサーがブラウザのタブ内で WebAssembly として動作します。サーバーへの送信・記録・保存は一切ありません。
使い方
ハイブからタイムラインまで 3 ステップ
- 01
SYSTEM ハイブを取得
KAPE、FTK Imager、reg save などで C:\Windows\System32\config\SYSTEM をコピーするか、マウントしたイメージから取り出します。
- 02
ここにドロップ
ファイルはローカルで読み込まれ、バックグラウンドの worker で WebAssembly が解析します。通常 1 秒もかかりません。
- 03
選別してエクスポート
並べ替え・絞り込みでフラグ付きのパスを確認し、CSV か JSON でケースノートに書き出します。
FAQ
Shimcache フォレンジック — よくある質問
Windows AppCompatCache を解析する際に調査員が抱きがちな疑問への手短な回答です。
- Windows の ShimCache(AppCompatCache)とは何ですか?
- ShimCache(別名 AppCompatCache)は、Windows がアプリケーション互換性のために検査した実行ファイルを記録する仕組みです。1 システムあたり最大 1,024 件のエントリを保持し、ファイルパスと最終更新時刻を含みます。ファイルが削除された後でも、その実行ファイルがマシン上に存在したことの証拠として捜査員が利用します。
- ShimCache のエントリは、プログラムが実行された証拠になりますか?
- いいえ。ShimCache は Windows が「検査した」ファイルを記録するもので、多くの場合は実行を意味しますが、必ずしもそうではありません。Windows 10 / 11 ではキャッシュ内の実行フラグが廃止されており、実際の実行を裏付けるには Prefetch、AmCache、Security または Sysmon のイベントログなどの補助的なアーティファクトが必要です。
- なぜ ShimCache のタイムスタンプは実行時刻と一致しないのですか?
- 表示されるタイムスタンプはファイルの最終更新時刻($STANDARD_INFORMATION)であり、実行時刻ではありません。タイムスタンプを変更せずにコピーされた実行ファイルは、元の mtime をそのまま表示します。ShimCache は「実行のタイムライン」ではなく「プログラムが存在した痕跡」として扱うべきです。
- ShimCache のエントリは削除や改ざんが可能ですか?
- はい。ShimCache はメモリ上に保持され、シャットダウン時にのみ SYSTEM ハイブへ書き出されます。強制再起動を行うと最新のエントリが失われることがあります。アンチフォレンジックツールやレジストリ編集によってもクリア・改ざんが可能です。必ず AmCache・Prefetch・イベントログなど他のアーティファクトと突き合わせて検証してください。
- ShimCache と AmCache の違いは何ですか?
- ShimCache は HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\AppCompatCache に保存され、最大 1,024 件のパス + mtime のエントリを保持します。一方 AmCache(Amcache.hve)は、インストール済みプログラムや最近実行されたファイルを SHA-1 ハッシュなどの豊富なメタデータと共に記録する独立したデータベースです。両者を組み合わせることで、より精緻なフォレンジック・タイムラインを構築できます。
SYSTEM ハイブはお手元にありますか?
ドロップするだけで、Windows が記録した実行ファイルを数秒で一覧できます。ファイルがマシンの外に出ることはありません。