Application Compatibility Cache (Shimcache)のExecution Flagが"FALSE"の原因として考えられるパターン

Application Compatibility Cache (Shimcache)とはApplication Compatibility (Shim)に関連するキャッシュです。Windowsは最初にこのキャッシュ情報を参照して、アプリケーションにShim処理が必要かどうかを判断します。

Application Compatibility Cacheを調査することによって、対象のWindowsホスト上で、どのようなプログラムが実行されたかを確認することができます。

Application Compatibility Cacheに関するデータはシステムがシャットダウンする際に以下のレジストリに格納されます。

Windows Vista, Windows 7, Server 2003, Server 2008
HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\AppCompatCache\AppCompatCache

Windows XP
HKLM\CurrentControlSet\Control\Session Manager\AppCompatibility\AppCompatCache

Application Compatibility Cacheには以下のような情報が含まれています。

- ファイルのフルパス
- ファイル・サイズ
- ファイルの最終更新日時($Standard Information timestampより)
- Application Compatibility Cacheの最終更新日時
- プロセスの実行フラグ(Execution Flag)

Application Compatibility Cacheのエントリーを調べるとExecution Flagが"FALSE"となっているファイルを少なからず見かけます。

ファイルのExecution Flagが"FALSE"となっている場合、以下のようなケースが考えられます。

1. ユーザーが実行可能ファイルの配置されているディレクトリをエクスプローラー等で閲覧した(なので実際には実行されていない)
2. ほかのプログラムによってファイルが実行された

2の具体例としてはWindowsのバッチ(.bat)ファイルが挙げられます。

バッチファイルはファイル単体では実行できません。多くの場合、ほかのプログラム経由で実行されます。例えば"foo.bat"というバッチファイルがなんらかのプログラムから実行された場合、Application Compatibility Cacheでは"foo.bat"のExecution Flagは"FALSE"として記録されます。そして"foo.bat"のエントリーの直近にバッチファイルを実行したプログラム名がExecution Flag "TRUE"として記録されます。

以下はWindow7での検証結果です。

下記のコマンドを含んだtest.batというバッチファイルをC:\Windows\System32にコピーして、ダブルクリックして実行しました。


@echo off
REM cmd.exe /c test.bat
echo "Hello world"
Hostname
whoami

AppCompatCacheのレジストリをエクスポートしてShimCacheParserでパースし、CSVに結果を出力させました。(AppCompatCacheの情報の更新のため、Windowsを再起動させる必要あり)

python ShimCacheParser.py -r appcompat.reg -o out.csv


test.batを実行したcmd.exeのExec FlagがTruetest.batのExec FlagがFalsetest.batによって実行されたHOSTNAME.EXEおよびwhoami.exeのExec FlagがTrueとして記録されました。

参考URL
https://docs.microsoft.com/en-us/windows/desktop/DevNotes/application-compatibility-database
https://www.fireeye.com/blog/threat-research/2015/06/caching_out_the_val.html
https://www.fireeye.com/blog/threat-research/2015/10/shim_shady_live_inv.html
https://www.fireeye.com/blog/threat-research/2015/10/shim_shady_live_inv/shim-shady-part-2.html
https://www.fireeye.com/content/dam/fireeye-www/services/freeware/shimcache-whitepaper.pdf

Leave a Reply

Your email address will not be published. Required fields are marked *