2013年4月27日土曜日

Network Forensics #3 Puzzle 5 解説

1. 感染のプロセスとして、彼女のブラウザは2つの Java アプレットをダウンロードしました。その2つのアプレットの名前はなんですか?


「ブラウザ」がダウンロードしたファイルなので、WireShark  の File から Export Objects -> HTTP を選択するとブラウザ経由で保存されたファイルが一覧で出てくる。



この中で、Java アプレットは sdfg.jar と q.jar のみなので、これが答え。
そのほかの方法としては http.request.method でフィルタしても同じようにわかる。
(図は問題2に掲載)

2. 感染した Moneymany さんの Windows システムのユーザ名はなんですか?

Windows システムのユーザ名がパケットデータに表示されるのは netbios などが考えられるが、フィルタを実施してもそれらしい通信は見当たらない。
そこで、いったんプロトコルの割合を眺めてみる。


すると、ほとんどは HTTP の通信だとわかる。
そこで、「Windows のユーザ名は攻撃者によって、HTTP通信で送信された」と仮説を立てて調べてみる。外部への情報送信なので、http.request.method でフィルタしてみる。


すると 293 番目のパケットで「guid=」という文字が見える。たぶん、この引数として情報を送信していると考えられる。

http://freeways.in/11111/gate.php?guid=ADMINISTRATOR!TICKLABS-LZ!1C7AE7C1&ver=10084&stat=ONLINE&ie=8.0.6001.18702&os=5.1.2600&ut=Admin&cpu=92&ccrc=5A4F4DF7&md5=5942ba36cf732097479c51986eee91ed
ADMINISTRATOR がユーザ名だと推測できるが、TICKLABS-LZ と 1C7AE7C1 という文字列もあり断定できない。
そこで、fireeways.in というサイトを、MalwareDomainList などで検索してみる。なお、MalwareDomainList で検索する場合、freeways.in はすでに廃止されたサイトなので Include inactive sites  にチェックを入れておく必要がある。



すると、このサイトは SpyEyeの C&C サーバとして動いていたことがわかる。かつ、Domain の説明からユーザ名とコンピュータ名を渡していることがわかる。

freeways.in/11111/gate.php?guid=USER!COMPUTERNAME!D06F0742

答えは、ADMINISTRATOR となる。

3. この事件の始まりの URL、Moneymany さんがたぶんクリックした URL はなんですか?


クリックした URL なので、http.request.method でフィルタする。
一番、最初に出てくる GET は nrtjo.eu/true.php、これが答えになる。
Tcp Stream でこのGETを含むパケットを確認すると、xxx.xxx へ飛ばされていることがわかる。


ここで、function ararata(reem, aanpry) とあるので、検索してみる。
Wepawet というページでマルウェア判定されており、xxx.xxx は nrtjo.eu/true.php からのリダイレクトされるサイトであり、nrtjo.eu/true.php がこの問題の最初のリンクだと判断できる。



4. 感染の一部として悪意あるウィンドウズ実行ファイルが Moneymany さんのシステムへダウンロードされました。そのファイルの MD5 ハッシュはなんですか?ヒントは、MD5 ハッシュは 91ed で終わります。


http.request.method でフィルタして、まだ調べていない105番と115番から始まるパケットの Tcp stream を確認すると両方とも、filename=file.exe と This program cannot be run in DOS mode. という文字列がみれる。そのためこのパケットを含むファイルが実行ファイルとなるとわかる。




しかし、Wireshark の File -> Export Objects -> HTTP で確認するとファイルが分割されており、そのまま取り出すことができない(問題1の図を参照)

そこで、Network Miner で開いてみる。



file.exe.octet-stream と file.exe[1].octet-stream というファイルが出あがっている。この二つの MD5 ハッシュを計算してみる。



同じファイルのようで両方とも 5942BA36CF732097479C51986EEE91ED となり、これが答え。

5. その悪意あるウィンドウズ実行ファイルが使用していたパッカーの名前はなんですか?ヒントは、主なマルウェアで見られるもっともポピュラーなフリーで手に入るパッカーです。


問題4の TCP stream 5 または 6 を確認すると、文字列の中に UPX0 や UPX1 とある。そのため、UPX でパッキングされているとわかる。
念のため、パッカーチェックソフトの PEiD で確認する。



答えは UPX となる。

6.アンパックした悪意あるウィンドウズ実行ファイルの MD5 ハッシュはなんですか?


file.exe をアンパックしてハッシュを計算する。
UPX から paker/unpaker ソフトがダウンロードできる。アンパックは -d オプションで実行可能。なお、ファイルがそのまま上書きされるので元のファイルを保存しておきたいときは注意が必要。

C:\upx309w>upx -d file.exe.octet-st

アンパックされたファイルのハッシュを計算すると、0F37839F48F7FC77E6D50E14657FB96E となる。
これが答え。

7. そのマルウェアはハードコートされたIPアドレスに対して接続しに行こうとします。そのIPアドレスはなんですか?


ハードコートされた IP アドレスなので DNS 解決されていないアドレスと仮説を立てて調べる。
まず、今回使用されている IP アドレスを Wireshark の Statistics -> IP address で一覧表示させる。

 
DNS でフィルタをする。


まず、IP アドレスでプライベートアドレスは除外できる。次に 59.53.91.102はnrtjo.eu のアドレスのためこれも除外。212.252.32.20 は freeways.in のアドレスのため除外。残るのは 65.55.195.250 と 213.155.29.144 のみ。

65.55.195.250 は感染前に使用されたアドレスであり、感染後の通信に使われているもので、名前解決していないのは 213.155.29.144 のみ。これが、答え。
マルウェアを動的解析する方法や静的解析する方法もあるが、ここでは扱わない。



0 件のコメント:

コメントを投稿