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
50
Edomae 2015 - マルウェアを解析してみよう
江戸前セキュリティ勉強会 - マルウェアを解析してみよう
Satoshi MIMURA
January 24, 2015
Tweet
Share
More Decks by Satoshi MIMURA
See All by Satoshi MIMURA
Inside wsl
mimura1133
0
20
Windows でも TeX 編集がしたい!
mimura1133
0
16
3本指ジェスチャの仮想デスクトップ機能を Windows に実装した話
mimura1133
0
21
Windows のカーネルモードドライバで填まった話
mimura1133
0
24
APASEC 2013 - ROP/JIT を使わずに DEP/ASLR を回避する手法を見てみた。
mimura1133
0
15
マシン語によるコード実行
mimura1133
0
12
Iron python と c sharp
mimura1133
0
15
Unix と windows 世界の融合
mimura1133
0
16
Windows Phone 7 と XNA の世界
mimura1133
0
16
Other Decks in Research
See All in Research
カスタマーサクセスの視点からAWS Summitの展示を考える~製品開発で活用できる勘所~
masakiokuda
2
190
NLP Colloquium
junokim
1
200
不確実性下における目的と手段の統合的探索に向けた連続腕バンディットの応用 / iot70_gp_rff_mab
monochromegane
2
160
数理最適化と機械学習の融合
mickey_kubo
16
9.3k
Vision and LanguageからのEmbodied AIとAI for Science
yushiku
PRO
1
530
snlp2025_prevent_llm_spikes
takase
0
160
能動適応的実験計画
masakat0
2
800
時系列データに対する解釈可能な 決定木クラスタリング
mickey_kubo
2
930
電通総研の生成AI・エージェントの取り組みエンジニアリング業務向けAI活用事例紹介
isidaitc
1
940
GPUを利用したStein Particle Filterによる点群6自由度モンテカルロSLAM
takuminakao
0
250
集合間Bregmanダイバージェンスと置換不変NNによるその学習
wasyro
0
140
cvpaper.challenge 10年の軌跡 / cvpaper.challenge a decade-long journey
gatheluck
3
310
Featured
See All Featured
Stop Working from a Prison Cell
hatefulcrawdad
271
21k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
229
22k
Building Better People: How to give real-time feedback that sticks.
wjessup
368
19k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.5k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
44
2.5k
The Power of CSS Pseudo Elements
geoffreycrofte
77
6k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.6k
Speed Design
sergeychernyshev
32
1.1k
Writing Fast Ruby
sferik
628
62k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Product Roadmaps are Hard
iamctodd
PRO
54
11k
What's in a price? How to price your products and services
michaelherold
246
12k
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/