37
マルウェアを 解析してみよう 三村 聡志 / みむら (@MIMURA1133)

Edomae 2015 - マルウェアを解析してみよう

Embed Size (px)

Citation preview

Page 1: Edomae 2015 - マルウェアを解析してみよう

マルウェアを解析してみよう三村 聡志 / みむら (@MIMURA1133)

Page 2: Edomae 2015 - マルウェアを解析してみよう

自己紹介

• 三村 聡志 a.k.a. 親方 (@mimura1133)

• Twitter : @mimura1133

• http://mimumimu.net/

• http://www.windowsinternals.moe/

• 普通の大学生やってます。

• CTF 入門者向け勉強会 “CTF for Beginners”やってます。 ( http://2014.seccon.jp )

• 絶賛就活生(M1) です。

Page 3: Edomae 2015 - マルウェアを解析してみよう

マルウェア解析?

Page 4: Edomae 2015 - マルウェアを解析してみよう

テーマを決めるに当たって

まっちゃさん、今度の江戸前で「マルウェア解析」ってやっても大丈夫ですか

ええんちゃう、なんもないで。

Page 5: Edomae 2015 - マルウェアを解析してみよう

解析手法

•動的解析

• マルウェアを「動」かして解析する方法

• サンドボックス上で動かして眺めたり。

• Keyword: Cuckoo Sandbox, QEMU, etc…

•静的解析

• マルウェアを動かさずに解析する方法

• 逆アセンブルして眺めたり。

• Keyword: IDA Pro, objdump, 逆アセンブル, etc…

Page 6: Edomae 2015 - マルウェアを解析してみよう

解析準備

Page 7: Edomae 2015 - マルウェアを解析してみよう

解析に必要なもの(今回使用したもの)

•Windows 7 x86, x64 – Service Pack 1

• 環境によって動くモノと動かないモノが出るので合わせる

• IDA Pro 6.7

• Pro 版は買うと世界が広がります。おすすめ。

•VMware Workstation

• 基本的には仮想マシン上で。潤沢なメモリと一緒に。

•折れない心

• マルウェアの解析とプレゼン作成は昨日の深夜から。

Page 8: Edomae 2015 - マルウェアを解析してみよう

解析をする環境

•基本的には「仮想マシンの上で」

• 静的解析なら大丈夫?

→ その解析ソフトの脆弱性を突かれたらどうするの

•何がおすすめ?

• 個人的に楽なのは Microsoft Hyper-V.

• よりもっと入りたいなら QEMU.

• でも VMware Workstation がベター。

Page 9: Edomae 2015 - マルウェアを解析してみよう

解析する環境

• 参考までに・・。私はこんな感じです。

• IDA Pro / Windbg / Ollydbg

• Wireshark / Fiddler

• API Monitor

• MinGW

• MAP

→ なお、CTF4b の実習環境は私の解析環境の構成がベースで組まれてます。

Page 10: Edomae 2015 - マルウェアを解析してみよう

さぁ解析してみよう

Page 11: Edomae 2015 - マルウェアを解析してみよう

基本的な解析の流れ

•私の場合は IDA Pro でやってます。

•静的解析でさっと眺め

(複雑な場合は動的から)

•動的で詳しいところの挙動をブラックボックス

で見て、静的で追いかける。

Page 12: Edomae 2015 - マルウェアを解析してみよう

基本的な解析の流れ

•最初は分からないことだらけ

•分かったときにメモを

書いていく

Page 13: Edomae 2015 - マルウェアを解析してみよう

解析をする場合の注意点

• ネットワークは切りましょう。

• ネットワーク通信して・・というのを観察したい

→ グローバルIP アドレスを別のモノに。空き IP アドレス等を。

•VM 上でやるならば、万全の状態を作った上で

「スナップショット」を作りましょう

• 汚した後、スナップショットに戻して

ネットワークなりが戻ってしまった例をよく見ます・・。

Page 14: Edomae 2015 - マルウェアを解析してみよう

解析をする場合の注意点

•解析ツールの検知や

VM 検知をするマル

ウェアがあります。

Page 15: Edomae 2015 - マルウェアを解析してみよう

解析をする場合の注意点

•これ以外にも

BIOS の名前を見て

“Oracle”

“Vmware”

“QEMU”

等の文字列を見てい

る事があります。

→ ただ Hyper-V の検知は、ほとんど見ない。

Page 16: Edomae 2015 - マルウェアを解析してみよう

今回使用したもの

Page 17: Edomae 2015 - マルウェアを解析してみよう

今回使用したもの

• 2014年11月25日に発生したSony Pictures Entertainment に対して行われたマルウェアを使用しました。

• 紹介するのは下の4検体

• 760c35a80d758f032d02cf4db12d3e55

• E1864a55d5ccb76af4bf7a0ae16279ba

• b80aa583591eaf758fd95ab4ea7afe39

Page 18: Edomae 2015 - マルウェアを解析してみよう

各検体がどういう動きをするか

•Piyokango さんのまとめが詳しいです。

• http://d.hatena.ne.jp/Kango/20141228/1419787

781

•なぞるのは面白くないと思うので

先ほどのマルウェアを見ながら

面白そうなところだけを見ていきます。

Page 19: Edomae 2015 - マルウェアを解析してみよう

760c35a80d758f032d02cf4db12d3e55この検体だけは速度を落としてゆっくりと。

Page 20: Edomae 2015 - マルウェアを解析してみよう

760c35a80d758f032d02cf4db12d3e55

-i, -k, -m, -d, -w が引数として取れる

• -i : 自身をサービスとして登録する

• -k : (サービスとして呼び出された際に実行)

→ サービスとしての main() を実行

→ 自身を taskhost??.exe としてコピーし

それらを –w, -m, -d を付けてそれぞれ起動

→ かつ MSExchangeIS サービスを停止する

Page 21: Edomae 2015 - マルウェアを解析してみよう

760c35a80d758f032d02cf4db12d3e55

• -w : usbdrbv32.sys を産み落として MBR を消す

• -d : (ハードディスクをワイプするらしいですが)

該当部分の実装がないので、何もせず

• -m : iissvr.exe を産み落として実行(後述)

→ termservice も止める

Page 22: Edomae 2015 - マルウェアを解析してみよう

760c35a80d758f032d02cf4db12d3e55

•コードは簡単に strings 等で特定出来ないよう

になっている

• これ、何がしたいか分かりますか?

Page 23: Edomae 2015 - マルウェアを解析してみよう

760c35a80d758f032d02cf4db12d3e55

•面白そうなところ

• 今のユーザ権限でシャットダウンできるかどうかを

ちゃんと判断して処理している

Page 24: Edomae 2015 - マルウェアを解析してみよう

760c35a80d758f032d02cf4db12d3e55

•面白そうなところ

• ブートセクタをちゃんと読む処理がある(ライブラリ使用か)

Page 25: Edomae 2015 - マルウェアを解析してみよう

760c35a80d758f032d02cf4db12d3e55

•面白そうなところ

• こいつ・・・もしかして Windows 9x 対応か・・

Page 26: Edomae 2015 - マルウェアを解析してみよう

b80aa583591eaf758fd95ab4ea7afe39

Page 27: Edomae 2015 - マルウェアを解析してみよう

b80aa583591eaf758fd95ab4ea7afe39

•基本的には

760c35a80d758f032d02cf4db12d3e55

と近いコード(1つめの検体)

• -n : 壁紙を書き換える

Page 28: Edomae 2015 - マルウェアを解析してみよう
Page 29: Edomae 2015 - マルウェアを解析してみよう

b80aa583591eaf758fd95ab4ea7afe39

•壁紙の変更まで・・

•別スレッドを作って 0x493E0 分 Sleep

→その後

壁紙変更

Page 30: Edomae 2015 - マルウェアを解析してみよう

b80aa583591eaf758fd95ab4ea7afe39

• Sleep(0x493E0)?

→ 300,000 ms.

→ 300 sec.

→ 5 minutes.

その後、自身のリソースから walls.bmp を作り、SystemParametersInfoW を使って壁紙を変更する。

Page 31: Edomae 2015 - マルウェアを解析してみよう

E1864a55d5ccb76af4bf7a0ae16279ba

Page 32: Edomae 2015 - マルウェアを解析してみよう

E1864a55d5ccb76af4bf7a0ae16279ba

• iissvr.exe という名前で実行

• TCP 2332 でバックドアとして動作

•ブラウザに警告のページを出す

Page 33: Edomae 2015 - マルウェアを解析してみよう

家に帰って解析したい人へ

Page 34: Edomae 2015 - マルウェアを解析してみよう

家に帰って解析したい人へ

• VirusTotal にモノは上がってます。

• MD5 の値で照合可能

• ネットワークに繋いだ状態でやると何がおきるか分からないのでご注意を。

• このマルウェアではないですが、VirusShare とかでもマルウェアは手に入ります

• http://virusshare.com/

Page 35: Edomae 2015 - マルウェアを解析してみよう

マルウェアを解析してみよう三村 聡志 / みむら (@MIMURA1133)

Page 36: Edomae 2015 - マルウェアを解析してみよう

ささやかな宣伝

Page 37: Edomae 2015 - マルウェアを解析してみよう

宣伝

•CTF for Beginners やりまぁす!

• CTF for ビギナーズ2015横浜 with mochigoma-Beginners(2月15日)

• CTF for Beginners 2015 in Hiroshima(2月21日)

•横浜の募集は月曜日から開始する予定です。

• http://2014.seccon.jp/