大学・研究機関に関連するセキュリティの 取り組み …お客様 A3L(エーキューブラボ)・マルウェア解析/デジタルフォレンジック ・サイバー脅威情報収集/蓄積
Edomae 2015 - マルウェアを解析してみよう
-
Upload
satoshi-mimura -
Category
Software
-
view
2.992 -
download
4
Transcript of Edomae 2015 - マルウェアを解析してみよう
マルウェアを解析してみよう三村 聡志 / みむら (@MIMURA1133)
自己紹介
• 三村 聡志 a.k.a. 親方 (@mimura1133)
• Twitter : @mimura1133
• http://mimumimu.net/
• http://www.windowsinternals.moe/
• 普通の大学生やってます。
• CTF 入門者向け勉強会 “CTF for Beginners”やってます。 ( http://2014.seccon.jp )
• 絶賛就活生(M1) です。
マルウェア解析?
テーマを決めるに当たって
まっちゃさん、今度の江戸前で「マルウェア解析」ってやっても大丈夫ですか
ええんちゃう、なんもないで。
解析手法
•動的解析
• マルウェアを「動」かして解析する方法
• サンドボックス上で動かして眺めたり。
• Keyword: Cuckoo Sandbox, QEMU, etc…
•静的解析
• マルウェアを動かさずに解析する方法
• 逆アセンブルして眺めたり。
• Keyword: IDA Pro, objdump, 逆アセンブル, etc…
解析準備
解析に必要なもの(今回使用したもの)
•Windows 7 x86, x64 – Service Pack 1
• 環境によって動くモノと動かないモノが出るので合わせる
• IDA Pro 6.7
• Pro 版は買うと世界が広がります。おすすめ。
•VMware Workstation
• 基本的には仮想マシン上で。潤沢なメモリと一緒に。
•折れない心
• マルウェアの解析とプレゼン作成は昨日の深夜から。
解析をする環境
•基本的には「仮想マシンの上で」
• 静的解析なら大丈夫?
→ その解析ソフトの脆弱性を突かれたらどうするの
•何がおすすめ?
• 個人的に楽なのは Microsoft Hyper-V.
• よりもっと入りたいなら QEMU.
• でも VMware Workstation がベター。
解析する環境
• 参考までに・・。私はこんな感じです。
• IDA Pro / Windbg / Ollydbg
• Wireshark / Fiddler
• API Monitor
• MinGW
• MAP
→ なお、CTF4b の実習環境は私の解析環境の構成がベースで組まれてます。
さぁ解析してみよう
基本的な解析の流れ
•私の場合は IDA Pro でやってます。
•静的解析でさっと眺め
(複雑な場合は動的から)
•動的で詳しいところの挙動をブラックボックス
で見て、静的で追いかける。
基本的な解析の流れ
•最初は分からないことだらけ
•分かったときにメモを
書いていく
解析をする場合の注意点
• ネットワークは切りましょう。
• ネットワーク通信して・・というのを観察したい
→ グローバルIP アドレスを別のモノに。空き IP アドレス等を。
•VM 上でやるならば、万全の状態を作った上で
「スナップショット」を作りましょう
• 汚した後、スナップショットに戻して
ネットワークなりが戻ってしまった例をよく見ます・・。
解析をする場合の注意点
•解析ツールの検知や
VM 検知をするマル
ウェアがあります。
解析をする場合の注意点
•これ以外にも
BIOS の名前を見て
“Oracle”
“Vmware”
“QEMU”
等の文字列を見てい
る事があります。
→ ただ Hyper-V の検知は、ほとんど見ない。
今回使用したもの
今回使用したもの
• 2014年11月25日に発生したSony Pictures Entertainment に対して行われたマルウェアを使用しました。
• 紹介するのは下の4検体
• 760c35a80d758f032d02cf4db12d3e55
• E1864a55d5ccb76af4bf7a0ae16279ba
• b80aa583591eaf758fd95ab4ea7afe39
各検体がどういう動きをするか
•Piyokango さんのまとめが詳しいです。
• http://d.hatena.ne.jp/Kango/20141228/1419787
781
•なぞるのは面白くないと思うので
先ほどのマルウェアを見ながら
面白そうなところだけを見ていきます。
760c35a80d758f032d02cf4db12d3e55この検体だけは速度を落としてゆっくりと。
760c35a80d758f032d02cf4db12d3e55
-i, -k, -m, -d, -w が引数として取れる
• -i : 自身をサービスとして登録する
• -k : (サービスとして呼び出された際に実行)
→ サービスとしての main() を実行
→ 自身を taskhost??.exe としてコピーし
それらを –w, -m, -d を付けてそれぞれ起動
→ かつ MSExchangeIS サービスを停止する
760c35a80d758f032d02cf4db12d3e55
• -w : usbdrbv32.sys を産み落として MBR を消す
• -d : (ハードディスクをワイプするらしいですが)
該当部分の実装がないので、何もせず
• -m : iissvr.exe を産み落として実行(後述)
→ termservice も止める
760c35a80d758f032d02cf4db12d3e55
•コードは簡単に strings 等で特定出来ないよう
になっている
• これ、何がしたいか分かりますか?
760c35a80d758f032d02cf4db12d3e55
•面白そうなところ
• 今のユーザ権限でシャットダウンできるかどうかを
ちゃんと判断して処理している
760c35a80d758f032d02cf4db12d3e55
•面白そうなところ
• ブートセクタをちゃんと読む処理がある(ライブラリ使用か)
760c35a80d758f032d02cf4db12d3e55
•面白そうなところ
• こいつ・・・もしかして Windows 9x 対応か・・
b80aa583591eaf758fd95ab4ea7afe39
b80aa583591eaf758fd95ab4ea7afe39
•基本的には
760c35a80d758f032d02cf4db12d3e55
と近いコード(1つめの検体)
• -n : 壁紙を書き換える
b80aa583591eaf758fd95ab4ea7afe39
•壁紙の変更まで・・
•別スレッドを作って 0x493E0 分 Sleep
→その後
壁紙変更
b80aa583591eaf758fd95ab4ea7afe39
• Sleep(0x493E0)?
→ 300,000 ms.
→ 300 sec.
→ 5 minutes.
その後、自身のリソースから walls.bmp を作り、SystemParametersInfoW を使って壁紙を変更する。
E1864a55d5ccb76af4bf7a0ae16279ba
E1864a55d5ccb76af4bf7a0ae16279ba
• iissvr.exe という名前で実行
• TCP 2332 でバックドアとして動作
•ブラウザに警告のページを出す
家に帰って解析したい人へ
家に帰って解析したい人へ
• VirusTotal にモノは上がってます。
• MD5 の値で照合可能
• ネットワークに繋いだ状態でやると何がおきるか分からないのでご注意を。
• このマルウェアではないですが、VirusShare とかでもマルウェアは手に入ります
• http://virusshare.com/
マルウェアを解析してみよう三村 聡志 / みむら (@MIMURA1133)
ささやかな宣伝
宣伝
•CTF for Beginners やりまぁす!
• CTF for ビギナーズ2015横浜 with mochigoma-Beginners(2月15日)
• CTF for Beginners 2015 in Hiroshima(2月21日)
•横浜の募集は月曜日から開始する予定です。
• http://2014.seccon.jp/