ProcWatchを使用したマルウェア解析の例

ProcWatchの紹介

マルウェア解析する際、そのマルウェアがどのようなコマンドを実行するのか、プロセスを立ち上げるのか動的解析やリバースを行い特定します。

 

今回はそのようなシーンで(個人的に)使用している「ProcWatch」というツールをご紹介します。

個人的にUIもシンプルで起動するだけで使えるため結構気に入っています。

また、Flarer VMを導入している場合はデフォルトで入っているツールになっています。(そんな記憶があります・・)

 

入手先

SysAnalyzer Installer

http://sandsprite.com/iDef/SysAnalyzer/

 

github.com

 

 

使い方

立ち上げると、その後に実行されたプロセスが履歴として残ります。

Process HackerやProcess EXの場合は現在立ち上がっているプロセスは閲覧できますが、一瞬で消えてしまうプロセスは見落としてしまう可能性があるため、このProcWatchも同時に立ち上げ監視することをオススメします。

 

今回使用したマルウェアの情報

 

マルウェアを実行して少し待機すると以下の結果が表示されました。

これらの結果から、rundll32.exeの不審なプロセスが立ち上がっていたり、別のマルウェアが実行されていることが分かります。

コマンドラインを確認すると3つのコマンドが実行されていました。

1

"C:\Windows\System32\rundll32.exe" "C:\Program Files (x86)\Windows Photo Viewer\PhotoViewer.dll", ImageView_Fullscreen C:\Users\m\AppData\Local\Temp\Onayla.jpg 

 

2

C:\Windows\system32\cmd.exe /c ""C:\Users\m\AppData\Local\Temp\ihbpji.cmd""

 

3

C:\Windows\system32\cmd.exe /c ""C:\Users\m\AppData\Local\Temp\eumpe.bat""

 

そして最後に「ijbkbo.exe  」という実行可能ファイルが実行されていました。

 C:\Users\m\AppData\Local\Temp\ijbkbo.exe  

 

ProcWatchによって、マルウェアが別のマルウェアをTemp配下にドロップして実行していることが確認できました。マルウェアの作りによっては、削除されずにそのまま残っている可能性がありますが、大抵の場合は実行後すぐに自身を削除するマルウェアが多く、基本的に残っている可能性は低いです。

 

Tempフォルダを確認すると削除されることなく残っていました。

 

せっかくなのでドロップされたファイルの中を軽く確認してみます。

 

  • enumpe.cmd

idjder.sfx.exeというファイルに謎の引数を渡して実行するバッチファイル

 

  • enumpe.bat

ijbkbo.sfx.exeというファイルに謎の引数を渡して実行するバッチファイル

 

  • idjder.exe

DIEの結果からメインのマルウェアと似たような構造?

 

  • idjder.sfx.exe

実行するとパスワード入力を求められる

DIEの結果からメインのマルウェアと似たような構造?

 

  • ijbkbo.sfx.exe

実行するとパスワード入力を求められる

 

 

  • ijbkbo.exe

DIEの結果から.NET製のマルウェアと思われる。

 

sfxと名がついたファイルはどちらも実行するとパスワード入力を求めてきたため、動的デバッグすることでパスワードを確認することが出来そうですね。(長くなりそうなので別の機会にでも)

 

また、最後に実行されていた.NET製のマルウェアはdnSpyかdotpeekを使用すれば、どのような機能を有しているのか特定することが可能です。

 

このような流れでマルウェアの種類によってProcWatchを使用することで、解析をスムーズに進めることも可能です。

 

最後までこの記事を読んでくださってありがとうございました。

少しでも読まれた方の参考になれば幸いですが・・・