@port139 Blog

基本的にはデジタル・フォレンジックの技術について取り扱っていますが、記載内容には高確率で誤りが含まれる可能性があります。

SANSからの練習問題を試す Handleの確認 (3)

irykmmww.d1l という不審なDLLファイルもどきを発見できましたが、このファイルが関連しているプロセスに何があるのかを確認してみたいと思います。RedLineではMemory Sectionsからキーワードとしてirykmmwwを指定すれば絞り込んで確認する事ができます。フィルタしてみたところ、iexplore.exeとsvchost.exeが確認できます。

f:id:hideakii:20140313202610p:plain

念のため、Stringsについてもキーワードirykmmwwを検索し、ProcessNameで関連するものがあるかも確認しておきたいと思います。irykmmww.d1l という点では、Memory Sectionsの結果と同じくiexplore.exeとsvchost.exeだけが確認できます。

f:id:hideakii:20140313202617p:plain

さて、このirykmmww.d1lですが、どの様にロードされたのでしょうか?

iexplore.exeの親プロセスがsvchost.exeですので、再度 PID 884 svchost.exe を RedLine 上で確認してみたいと思います。PID 884 svchost.exe の sections を表示し、Injected の項目を確認してみますが、特に反応している項目はありません。

f:id:hideakii:20140313202625p:plain

SANS Blogの解説を確認してみると、Volatility の svcscan コマンドを使い、サービスの状況を確認しています。コマンドを実行すると一番最後に出てきますね。

Offset: 0x38ab98

Order: 252

Process ID: -

Service Name: irykmmww

Display Name: irykmmww

Service Type: SERVICE_KERNEL_DRIVER

Service State: SERVICE_RUNNING

Binary Path: \Driver\irykmmww

サービス名が不審なD1Lファイルと同じ irykmmww である事が確認できます。

svcscan の説明を確認すると、Ver2.3 以降のコマンドラインオプションでは --verboseが指定できると書かれていますので、これを指定した結果も確認してみますが特に差異は出てないようです。(このプラグインは、実行にかなりの時間を必要としますね)

Offset: 0x38ab98

Order: 252

Process ID: -

Service Name: irykmmww

Display Name: irykmmww

Service Type: SERVICE_KERNEL_DRIVER

Service State: SERVICE_RUNNING

Binary Path: \Driver\irykmmww

  

素朴な疑問として、RedLineでこれと同じ処理をするにはどうしたら良いのでしょうかね?*1

例えば、RedLineではDriver Modulesを使うと下記の結果を確認できます。

f:id:hideakii:20140313202634p:plain

Device Treeでは以下の結果を確認できます。

f:id:hideakii:20140313202640p:plain

 

 

f:id:hideakii:20140313202647p:plain

デバイスドライバとしてirykmmww.sysが存在している事が確認できますので、これが何処からロードされているのかを追跡するというシナリオになってきそうです。

ドライバのstrignsを取ろうと思ったのですが、SQliteでエラーが出ますね。

f:id:hideakii:20140313202655p:plain

 

*1:svcscanの説明ではサービス出せるのはvolatilityだけって書いてあるようですので、RedLineでは出来ないんでしょうかね。