Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Edomae 2015 - マルウェアを解析してみよう
Search
Satoshi MIMURA
January 24, 2015
Research
0
51
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
18
3本指ジェスチャの仮想デスクトップ機能を Windows に実装した話
mimura1133
0
24
Windows のカーネルモードドライバで填まった話
mimura1133
0
24
APASEC 2013 - ROP/JIT を使わずに DEP/ASLR を回避する手法を見てみた。
mimura1133
0
16
マシン語によるコード実行
mimura1133
0
12
Iron python と c sharp
mimura1133
0
18
Unix と windows 世界の融合
mimura1133
0
18
Windows Phone 7 と XNA の世界
mimura1133
0
16
Other Decks in Research
See All in Research
若手研究者が国際会議(例えばIROS)でワークショップを企画するメリットと成功法!
tanichu
0
120
多言語カスタマーインタビューの“壁”を越える~PMと生成AIの共創~ 株式会社ジグザグ 松野 亘
watarumatsuno
0
160
AIスパコン「さくらONE」の オブザーバビリティ / Observability for AI Supercomputer SAKURAONE
yuukit
2
980
Combining Deep Learning and Street View Imagery to Map Smallholder Crop Types
satai
3
260
機械学習と数理最適化の融合 (MOAI) による革新
mickey_kubo
1
430
高畑鬼界ヶ島と重文・称名寺本薬師如来像の来歴を追って/kikaigashima
kochizufan
0
100
空間音響処理における物理法則に基づく機械学習
skoyamalab
0
110
Open Gateway 5GC利用への期待と不安
stellarcraft
2
160
投資戦略202508
pw
0
580
一人称視点映像解析の最先端(MIRU2025 チュートリアル)
takumayagi
6
4.3k
単施設でできる臨床研究の考え方
shuntaros
0
3.3k
大学見本市2025 JSTさきがけ事業セミナー「顔の見えないセンシング技術:多様なセンサにもとづく個人情報に配慮した人物状態推定」
miso2024
0
190
Featured
See All Featured
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Practical Orchestrator
shlominoach
190
11k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
61k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.8k
Optimising Largest Contentful Paint
csswizardry
37
3.5k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
[RailsConf 2023] Rails as a piece of cake
palkan
58
6.1k
Writing Fast Ruby
sferik
630
62k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.6k
Designing Experiences People Love
moore
143
24k
The Pragmatic Product Professional
lauravandoore
37
7.1k
4 Signs Your Business is Dying
shpigford
186
22k
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/