一方的に書き連ねるブログ

航海してすぐ後悔

マルウェア感染が疑わしい際の応急調査 prefetch編

マルウェア感染が疑わしい際、調査すべき項目がいくつかあります。

今回はフォレンジックの観点から有効(と思われる)ポイントをいくつか紹介します。

 

 今回はプリフェッチ編です。

 

プリフェッチとは名前の通り

pre(事前に)fetch(持ってきた)情報が格納されているデータになります。

 

 

プリフェッチは以下の特徴を持っています。

・プログラムが起動された10秒後に、C:\Windows\Prefetch に [プログラム名-フルパスから算出されたハッシュ値.pf]のファイル形式で保存されます。
・フルパスから算出されたハッシュ値命名規則としているので、プログラム名が同じでもハッシュ値が異なれば、違うパスから実行されたということがわかります。
・プリフェッチには、プログラムのフルパス、実行日時、累計実行回数、プログラムがプロセス実行のために読み込んだモジュール(dll等)などの情報が記録されています。
コマンドラインや自動実行(autorun.inf等)によって実行されたプログラムもプリフェッチに記録されます。
SSD搭載PCではプリフェッチが無効化されている場合があります。(プリフェッチはプログラムを高速に実行するための機能であり、ロード時間が短いSSDにおいては必要とされない場合があるため。)

 

Prefetchについては下記参照

Misinformation and the The Prefetch Flag – Funny, It Worked Last Time

 

Prefetch - ForensicsWiki


(Forensicswiki見れば大体なんでも書いてある。すごい。)

 

 

プリフェッチはバイナリエディタ等で中を見て解析していくことができますが、慣れていない人だととっつきにくいです。(私もできません)

なのでツールを用いてパースした情報を見ていこうと思います。

 

WinPrefetchViewというツールを用います。

www.nirsoft.net

 

ダウンロード&解凍して任意のディレクトリに格納してください。

 

ツールを実行すると、実行している端末のプリフェッチを自動的にロードしてパースしてくれます。インポート機能はないので、解析したい端末の上で動作させることになります。

※プログラム実行によりデータ改変が起こるため、証拠保全で万全を期すためには実行しないでください。トリアージ程度であれば、書き込み防止措置を施して実行してください。

 

ツール実行するとプリフェッチを自動でパースしてくれます。

またプログラムがロードしたdll等も一覧で表示してくれます。

 

今回は検証用に立てたWindows10 ProのVM環境のprefetchを表示しています。

FTK Imager等が実行されたことが確認できます。

f:id:lip-slips:20180915215505p:plain

図1 WinPrefetchView

 

 

これにより、直近で作成された128件の.pfファイルを解析することができます。

マルウェア等が実行されていた場合の手がかりになります。

例えば、正規プログラムの名前を語っているマルウェアなどであれば.pfファイルの名前から解析したり、格納ディレクトリを特定できたりします。

またロードしたモジュールも表示されるため、どんな挙動を行ったのかを簡易的に調査できます。

過去に私が調査したものですと、firefox.exeに偽装したプログラムが動作しており、CCleaner.exeをロードしデータの削除を行っていたというものがありました。対象は確かWannaCryの亜種だったと思います。(うろ覚え)

 

 

 

このようにプリフェッチを解析することで、マルウェア感染の際の調査に応用できます。

闇雲に調査を行うよりも、こうしたツールを用いてトリアージを行うことで効率的に調査することができます。

 

 

気が向いたらレジストリ解析編も書こうと思います。