解析メモ

マルウェア解析してみたり解析に役に立ちそうと思ったことをメモする場所。このサイトはGoogle Analyticsを利用しています。

Panda Banker 解析 (4)

Panda Banker 解析 (1) - 解析メモ

Panda Banker 解析 (2) - 解析メモ

Panda Banker 解析 (3) - 解析メモ

 

監視しているプロセスが分かったので、unpacked 検体を ProcessMonitor で確認する。

前回は Majuro.exe が実行されたところで止めていたが、少し泳がせてみると svchost.exe を 2 つ起動するようだ。

今回は Garapagos.exe だった。(以降、dropped 検体)

 

f:id:k1z3:20180407233537p:plain

 

 

一度ドロップされた検体(上記ツリーの場合、Garapagos.exe)を保全(暗号化zip)してからスナップショットで戻し、Garapagos.exe をデバッグするも動きが変わる。

 

f:id:k1z3:20180407234421p:plain

 

Tahiti.exe を保全してスナップショット、再度実行でも同じ。

結局のところ unpacked 検体の実行ツリーと同じになる。

(dropped 検体をドロップして cmd.exe で自分を消す、dropped 検体は svchost.exe を実行。)

どうも dropped 検体を zip 暗号化で保全すると何か情報が落ちるみたい。

何らかの条件がないと svchost.exe を実行してくれない。

 

ProcessMonitor の履歴を unpacked と dropped で比較したところ、気になる差分が。

 

f:id:k1z3:20180407235534p:plain

 

QueryEAFile で NO EAS ON FILE の場合、サンドボックス等チェックの動き~ドロップする動き、SUCCESS の場合、svchost.exe を起動する動き(?)。

ここの直後から動きが変わっている。

 

色々調べてみると、EA (Extended Attributes、拡張属性) という領域にデータを隠す手法があるらしい。書き込むときは ZwSetEaFile、読み込むときは ZwQueryEaFile 。ZwQueryEaFile は ProcessMonitor 上は QueryEAFile と表示される。

 

www.symantec.com

 

f:id:k1z3:20180408000738p:plain

 

EA に書かれたデータはこのツールで取得出来るっぽい。

GitHub - jschicht/EaTools: Analysis and manipulation of extended attribute ($EA) on NTFS

 

ツールにかけてみたところ、何かしらの EA データが格納されているっぽい。

 

f:id:k1z3:20180408001115p:plain

 

あとはこのデータが ZwSetEaFile で書き込まれていれば裏が取れるのだが。。。

 

f:id:k1z3:20180408002017p:plain

ZwSetEaFile の前に babe (EaName と同じ。)

 

f:id:k1z3:20180408002322p:plain

ZwSetEaFile の前で esi に入れている値 (dword ptr ss:[esp+58]) が ZwQueryEaFile で読み込む値と同じ。(ダンプ欄)

 

ということで、EA に何か入れて活用しているっぽい事が分かった。

これを使って svchost.exe に何か注入しているのかな。。。

EA 入りの検体をデバッグしながらその辺りを追っていければ svchost.exe にどういう機能が注入されてるかわかるかも。