Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Edomae 2015 - マルウェアを解析してみよう
Search
Satoshi MIMURA
January 24, 2015
Research
0
49
Edomae 2015 - マルウェアを解析してみよう
江戸前セキュリティ勉強会 - マルウェアを解析してみよう
Satoshi MIMURA
January 24, 2015
Tweet
Share
More Decks by Satoshi MIMURA
See All by Satoshi MIMURA
Inside wsl
mimura1133
0
18
Windows でも TeX 編集がしたい!
mimura1133
0
15
3本指ジェスチャの仮想デスクトップ機能を Windows に実装した話
mimura1133
0
20
Windows のカーネルモードドライバで填まった話
mimura1133
0
22
APASEC 2013 - ROP/JIT を使わずに DEP/ASLR を回避する手法を見てみた。
mimura1133
0
14
マシン語によるコード実行
mimura1133
0
11
Iron python と c sharp
mimura1133
0
14
Unix と windows 世界の融合
mimura1133
0
15
Windows Phone 7 と XNA の世界
mimura1133
0
14
Other Decks in Research
See All in Research
Mechanistic Interpretability:解釈可能性研究の新たな潮流
koshiro_aoki
1
300
AI エージェントを活用した研究再現性の自動定量評価 / scisci2025
upura
1
100
SSII2025 [TS1] 光学・物理原理に基づく深層画像生成
ssii
PRO
4
3.6k
20250502_ABEJA_論文読み会_スライド
flatton
0
170
さくらインターネット研究所 アップデート2025年
matsumoto_r
PRO
0
650
近似動的計画入門
mickey_kubo
4
970
心理言語学の視点から再考する言語モデルの学習過程
chemical_tree
2
370
RHO-1: Not All Tokens Are What You Need
sansan_randd
1
110
20250624_熊本経済同友会6月例会講演
trafficbrain
1
120
Mathematics in the Age of AI and the 4 Generation University
hachama
0
160
EarthMarker: A Visual Prompting Multimodal Large Language Model for Remote Sensing
satai
3
340
GeoCLIP: Clip-Inspired Alignment between Locations and Images for Effective Worldwide Geo-localization
satai
3
240
Featured
See All Featured
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2.1k
How GitHub (no longer) Works
holman
314
140k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Six Lessons from altMBA
skipperchong
28
3.9k
Git: the NoSQL Database
bkeepers
PRO
430
65k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
229
22k
Automating Front-end Workflow
addyosmani
1370
200k
Building Adaptive Systems
keathley
43
2.6k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
124
52k
The Cult of Friendly URLs
andyhume
79
6.5k
Building a Modern Day E-commerce SEO Strategy
aleyda
42
7.4k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
161
15k
Transcript
マルウェアを 解析してみよう 三村 聡志 / みむら (@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/141978778 1 • なぞるのは面白くないと思うので 先ほどのマルウェアを見ながら
面白そうなところだけを見ていきます。
760c35a80d758f032d 02cf4db12d3e55 この検体だけは速度を落としてゆっくりと。
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 対応か・・
b80aa583591eaf758f d95ab4ea7afe39
b80aa583591eaf758fd95ab4ea7afe39 • 基本的には 760c35a80d758f032d02cf4db12d3e55 と近いコード(1つめの検体) • -n : 壁紙を書き換える
None
b80aa583591eaf758fd95ab4ea7afe39 • 壁紙の変更まで・・ • 別スレッドを作って 0x493E0 分 Sleep →その後 壁紙変更
b80aa583591eaf758fd95ab4ea7afe39 • Sleep(0x493E0)? → 300,000 ms. → 300 sec. →
5 minutes. その後、自身のリソースから walls.bmp を作り、 SystemParametersInfoW を使って 壁紙を変更する。
E1864a55d5ccb76af4 bf7a0ae16279ba
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/