こんにちは、ぎんたです。
- 過去端末上で実行された不正なプログラムの実行履歴を調査したい!
- 社員がコンプライアンスに違反したアプリを勝手に端末にインストールし、実行した履歴がないか調査したい!
このように思うことがあるかもしれませんね。
フォレンジックの技術・知識を使えば、このような要望に応えることができますよ。
今回は、ShimCacheを用いて端末上で実行されたプログラムを調査する方法について解説していきます。
スポンサーリンク
ShimCacheの内容と解析対象の場所
ShimCacheは、OSとアプリケーションの互換性を保つために使用されます。
このアーティファクトを追跡することで、このマシン上で起動したアプリケーションを追跡できます。
また、ShimCacheはApplication Compatibility Cache(AppCompatCache)と呼ばれたりもします。
プログラムの実行履歴はShimCacheだけを見ていけば充分かな?
PrefetchやUserAssistなどプログラムの実行痕跡は他にもあるよ。
実際の解析ではそれらも併せて見ていき、端末上で実行されたプログラムを総合的に判断するかな。
このアーティファクトはSYSTEMハイブ内の以下の場所にあります。
SYSTEM\CurrentControlSet\Control\Session Manager\AppCompatCache
(Win7/8/10)
SYSTEMハイブはレジストリファイルの一つで、フォレンジックツールを使用して抽出できます。
レジストリの解説や、フォレンジックツールを使用した抽出のやり方については今後執筆する別の記事で紹介できればと思います。
さて解析に使用するツールですが、今回はEric Zimmerman氏のツールAppCompatCache Parserを用いた解析方法を紹介します。
このツールは無料で公開されており、以下のリンクからダウンロードできます。
「Eric Zimmerman’s toolsのダウンロードサイト」
AppCompatCache Parserを用いたShimCacheの解析
解析して出力された結果を見てみましょう!
使い方は簡単で、以下のコマンドを実行し、事前に抽出したSYSTEMハイブファイルを読み込むだけです。
AppCompatCacheParser.exe –csv <結果の保存先> -f <事前に抽出したSYSTEMハイブファイルのパス>
コマンドの実行例は以下の画像のとおりです。
ここでは、Desktop上に事前に抽出した「Systemハイブファイル」を解析し、「testapp.csv」という名前のフォルダを作成しcsvで解析結果を出力しています。
※ちょっと紛らわしいですが、名前の付け方をミスしています。
上記のコマンドを実行した結果、testapp.csvというフォルダができて、その配下にcsvファイルを出力していました。
エクセルで開いた画面は以下のとおりです。
2年以上前にアプリケーションを実行した履歴を確認できました。
このファイルは僕が以前作成したC2サーバへ接続するテスト用の悪性のエージェントです。
すでにこのファイルは削除していましたが、プログラム実行痕跡として残っていたようです。
2020年12月1日に該当の悪性プログラムが実行されたと言えそうです。
まとめ
今回は、ShimCacheを使った実行されたプログラム調査を解説しました。
- ShimCacheを解析することで、過去に端末上で実行されたプログラムが判明する
- AppCompatCache Parserを用いてShimCacheの解析ができる
参考になりましたら幸いです。
以上、ぎんたでした。
サイバーセキュリティを学ぶ上で必要な攻撃と解析に関する他の記事は、以下のリンクで確認できます。
学習に関しましては、以下のセキュリティの勉強法、おすすめの学習本・動画の記事が多くの方に読まれています。
資格の記事については以下の記事がおすすめです。
ITエンジニアへの転職については以下の記事がおすすめです。
その他学習・転職関連に関しましては、以下の記事もあわせて読まれています。
ぜひご覧ください!