Submit Search
Upload
Edomae 2015 - マルウェアを解析してみよう
•
40 likes
•
17,501 views
Satoshi Mimura
Follow
江戸前セキュリティ勉強会 - マルウェアを解析してみよう
Read less
Read more
Software
Report
Share
Report
Share
1 of 37
Download now
Download to read offline
Recommended
実践イカパケット解析α
実践イカパケット解析α
Yuki Mizuno
Wireshark だけに頼らない! パケット解析ツールの紹介
Wireshark だけに頼らない! パケット解析ツールの紹介
morihisa
CTF超入門 (for 第12回セキュリティさくら)
CTF超入門 (for 第12回セキュリティさくら)
kikuchan98
3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)
3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)
Kuniyasu Suzaki
SpectreとMeltdown:最近のCPUの深い話
SpectreとMeltdown:最近のCPUの深い話
LINE Corporation
Yoctoで綺麗なkernel configを作る
Yoctoで綺麗なkernel configを作る
shimadah
RSA暗号運用でやってはいけない n のこと #ssmjp
RSA暗号運用でやってはいけない n のこと #ssmjp
sonickun
目視パケット解析入門
目視パケット解析入門
彰 村地
Recommended
実践イカパケット解析α
実践イカパケット解析α
Yuki Mizuno
Wireshark だけに頼らない! パケット解析ツールの紹介
Wireshark だけに頼らない! パケット解析ツールの紹介
morihisa
CTF超入門 (for 第12回セキュリティさくら)
CTF超入門 (for 第12回セキュリティさくら)
kikuchan98
3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)
3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)
Kuniyasu Suzaki
SpectreとMeltdown:最近のCPUの深い話
SpectreとMeltdown:最近のCPUの深い話
LINE Corporation
Yoctoで綺麗なkernel configを作る
Yoctoで綺麗なkernel configを作る
shimadah
RSA暗号運用でやってはいけない n のこと #ssmjp
RSA暗号運用でやってはいけない n のこと #ssmjp
sonickun
目視パケット解析入門
目視パケット解析入門
彰 村地
ゼロから始める自作 CPU 入門
ゼロから始める自作 CPU 入門
Hirotaka Kawata
[D20] 高速Software Switch/Router 開発から得られた高性能ソフトウェアルータ・スイッチ活用の知見 (July Tech Fest...
[D20] 高速Software Switch/Router 開発から得られた高性能ソフトウェアルータ・スイッチ活用の知見 (July Tech Fest...
Tomoya Hibi
FridaによるAndroidアプリの動的解析とフッキングの基礎
FridaによるAndroidアプリの動的解析とフッキングの基礎
ken_kitahara
短期間で新技術を学ぶ技術
短期間で新技術を学ぶ技術
Takafumi ONAKA
ELFの動的リンク
ELFの動的リンク
7shi
暗認本読書会9
暗認本読書会9
MITSUNARI Shigeo
暗号技術の実装と数学
暗号技術の実装と数学
MITSUNARI Shigeo
入門 シェル実装
入門 シェル実装
Yusuke Sangenya
コンテナにおけるパフォーマンス調査でハマった話
コンテナにおけるパフォーマンス調査でハマった話
Yuta Shimada
BuildKitによる高速でセキュアなイメージビルド
BuildKitによる高速でセキュアなイメージビルド
Akihiro Suda
OSセキュリティチュートリアル
OSセキュリティチュートリアル
Kuniyasu Suzaki
Dalvik仮想マシンのアーキテクチャ 改訂版
Dalvik仮想マシンのアーキテクチャ 改訂版
Takuya Matsunaga
Pcapngを読んでみる
Pcapngを読んでみる
Yagi Shinnosuke
Pythonでパケット解析
Pythonでパケット解析
euphoricwavism
カスタムメモリマネージャと高速なメモリアロケータについて
カスタムメモリマネージャと高速なメモリアロケータについて
alwei
心理的安全性を 0から80ぐらいに上げた話
心理的安全性を 0から80ぐらいに上げた話
Yusuke Hisatsu
いまさら恥ずかしくてAsyncをawaitした
いまさら恥ずかしくてAsyncをawaitした
Kouji Matsui
MagicOnion入門
MagicOnion入門
torisoup
PyOpenCLによるGPGPU入門
PyOpenCLによるGPGPU入門
Yosuke Onoue
CTF初心者🔰
CTF初心者🔰
icchy
Can We Prevent Use-after-free Attacks?
Can We Prevent Use-after-free Attacks?
inaz2
[CB16] EXOTIC DATA RECOVERY & PARADAIS by しもがいとだい
[CB16] EXOTIC DATA RECOVERY & PARADAIS by しもがいとだい
CODE BLUE
More Related Content
What's hot
ゼロから始める自作 CPU 入門
ゼロから始める自作 CPU 入門
Hirotaka Kawata
[D20] 高速Software Switch/Router 開発から得られた高性能ソフトウェアルータ・スイッチ活用の知見 (July Tech Fest...
[D20] 高速Software Switch/Router 開発から得られた高性能ソフトウェアルータ・スイッチ活用の知見 (July Tech Fest...
Tomoya Hibi
FridaによるAndroidアプリの動的解析とフッキングの基礎
FridaによるAndroidアプリの動的解析とフッキングの基礎
ken_kitahara
短期間で新技術を学ぶ技術
短期間で新技術を学ぶ技術
Takafumi ONAKA
ELFの動的リンク
ELFの動的リンク
7shi
暗認本読書会9
暗認本読書会9
MITSUNARI Shigeo
暗号技術の実装と数学
暗号技術の実装と数学
MITSUNARI Shigeo
入門 シェル実装
入門 シェル実装
Yusuke Sangenya
コンテナにおけるパフォーマンス調査でハマった話
コンテナにおけるパフォーマンス調査でハマった話
Yuta Shimada
BuildKitによる高速でセキュアなイメージビルド
BuildKitによる高速でセキュアなイメージビルド
Akihiro Suda
OSセキュリティチュートリアル
OSセキュリティチュートリアル
Kuniyasu Suzaki
Dalvik仮想マシンのアーキテクチャ 改訂版
Dalvik仮想マシンのアーキテクチャ 改訂版
Takuya Matsunaga
Pcapngを読んでみる
Pcapngを読んでみる
Yagi Shinnosuke
Pythonでパケット解析
Pythonでパケット解析
euphoricwavism
カスタムメモリマネージャと高速なメモリアロケータについて
カスタムメモリマネージャと高速なメモリアロケータについて
alwei
心理的安全性を 0から80ぐらいに上げた話
心理的安全性を 0から80ぐらいに上げた話
Yusuke Hisatsu
いまさら恥ずかしくてAsyncをawaitした
いまさら恥ずかしくてAsyncをawaitした
Kouji Matsui
MagicOnion入門
MagicOnion入門
torisoup
PyOpenCLによるGPGPU入門
PyOpenCLによるGPGPU入門
Yosuke Onoue
CTF初心者🔰
CTF初心者🔰
icchy
What's hot
(20)
ゼロから始める自作 CPU 入門
ゼロから始める自作 CPU 入門
[D20] 高速Software Switch/Router 開発から得られた高性能ソフトウェアルータ・スイッチ活用の知見 (July Tech Fest...
[D20] 高速Software Switch/Router 開発から得られた高性能ソフトウェアルータ・スイッチ活用の知見 (July Tech Fest...
FridaによるAndroidアプリの動的解析とフッキングの基礎
FridaによるAndroidアプリの動的解析とフッキングの基礎
短期間で新技術を学ぶ技術
短期間で新技術を学ぶ技術
ELFの動的リンク
ELFの動的リンク
暗認本読書会9
暗認本読書会9
暗号技術の実装と数学
暗号技術の実装と数学
入門 シェル実装
入門 シェル実装
コンテナにおけるパフォーマンス調査でハマった話
コンテナにおけるパフォーマンス調査でハマった話
BuildKitによる高速でセキュアなイメージビルド
BuildKitによる高速でセキュアなイメージビルド
OSセキュリティチュートリアル
OSセキュリティチュートリアル
Dalvik仮想マシンのアーキテクチャ 改訂版
Dalvik仮想マシンのアーキテクチャ 改訂版
Pcapngを読んでみる
Pcapngを読んでみる
Pythonでパケット解析
Pythonでパケット解析
カスタムメモリマネージャと高速なメモリアロケータについて
カスタムメモリマネージャと高速なメモリアロケータについて
心理的安全性を 0から80ぐらいに上げた話
心理的安全性を 0から80ぐらいに上げた話
いまさら恥ずかしくてAsyncをawaitした
いまさら恥ずかしくてAsyncをawaitした
MagicOnion入門
MagicOnion入門
PyOpenCLによるGPGPU入門
PyOpenCLによるGPGPU入門
CTF初心者🔰
CTF初心者🔰
Viewers also liked
Can We Prevent Use-after-free Attacks?
Can We Prevent Use-after-free Attacks?
inaz2
[CB16] EXOTIC DATA RECOVERY & PARADAIS by しもがいとだい
[CB16] EXOTIC DATA RECOVERY & PARADAIS by しもがいとだい
CODE BLUE
[CB16] IoTとしての自動車とセキュリティ: リモートサービスのセキュリティ評価とその対策の検討 - by 和栗直英
[CB16] IoTとしての自動車とセキュリティ: リモートサービスのセキュリティ評価とその対策の検討 - by 和栗直英
CODE BLUE
第3回長崎デジタルコンテストLT『リバースエンジニアリング入門』
第3回長崎デジタルコンテストLT『リバースエンジニアリング入門』
Saya Katafuchi
第一回バイナリゆるゆる勉強会スライド
第一回バイナリゆるゆる勉強会スライド
Ryosuke Shimizu
Azureで始めるDevOps
Azureで始めるDevOps
Atsushi Kojima
マルウェア解析講座そのいち〜仮想環境下では暴れないけど質問ある?〜
マルウェア解析講座そのいち〜仮想環境下では暴れないけど質問ある?〜
Saya Katafuchi
Microsoft Antimalware for Azure による Azure 仮想マシンの簡易的なマルウェア対策
Microsoft Antimalware for Azure による Azure 仮想マシンの簡易的なマルウェア対策
wintechq
[CB16] Keynote: How much security is too much? by Karsten Nohl
[CB16] Keynote: How much security is too much? by Karsten Nohl
CODE BLUE
Elastic{on}オープンな世界へようこそ
Elastic{on}オープンな世界へようこそ
Masamitsu Maehara
[CB16] 基調講演: セキュリティはどれくらいが適量? – How much security is too much? – by Karsten Nohl
[CB16] 基調講演: セキュリティはどれくらいが適量? – How much security is too much? – by Karsten Nohl
CODE BLUE
[CB16] Using the CGC’s fully automated vulnerability detection tools in secur...
[CB16] Using the CGC’s fully automated vulnerability detection tools in secur...
CODE BLUE
Elastic stack 世界にさらしたサーバを可視化してみた
Elastic stack 世界にさらしたサーバを可視化してみた
Masamitsu Maehara
AWS Security JAWS 経済的にハニーポットのログ分析をするためのベストプラクティス?
AWS Security JAWS 経済的にハニーポットのログ分析をするためのベストプラクティス?
Masamitsu Maehara
Viewers also liked
(14)
Can We Prevent Use-after-free Attacks?
Can We Prevent Use-after-free Attacks?
[CB16] EXOTIC DATA RECOVERY & PARADAIS by しもがいとだい
[CB16] EXOTIC DATA RECOVERY & PARADAIS by しもがいとだい
[CB16] IoTとしての自動車とセキュリティ: リモートサービスのセキュリティ評価とその対策の検討 - by 和栗直英
[CB16] IoTとしての自動車とセキュリティ: リモートサービスのセキュリティ評価とその対策の検討 - by 和栗直英
第3回長崎デジタルコンテストLT『リバースエンジニアリング入門』
第3回長崎デジタルコンテストLT『リバースエンジニアリング入門』
第一回バイナリゆるゆる勉強会スライド
第一回バイナリゆるゆる勉強会スライド
Azureで始めるDevOps
Azureで始めるDevOps
マルウェア解析講座そのいち〜仮想環境下では暴れないけど質問ある?〜
マルウェア解析講座そのいち〜仮想環境下では暴れないけど質問ある?〜
Microsoft Antimalware for Azure による Azure 仮想マシンの簡易的なマルウェア対策
Microsoft Antimalware for Azure による Azure 仮想マシンの簡易的なマルウェア対策
[CB16] Keynote: How much security is too much? by Karsten Nohl
[CB16] Keynote: How much security is too much? by Karsten Nohl
Elastic{on}オープンな世界へようこそ
Elastic{on}オープンな世界へようこそ
[CB16] 基調講演: セキュリティはどれくらいが適量? – How much security is too much? – by Karsten Nohl
[CB16] 基調講演: セキュリティはどれくらいが適量? – How much security is too much? – by Karsten Nohl
[CB16] Using the CGC’s fully automated vulnerability detection tools in secur...
[CB16] Using the CGC’s fully automated vulnerability detection tools in secur...
Elastic stack 世界にさらしたサーバを可視化してみた
Elastic stack 世界にさらしたサーバを可視化してみた
AWS Security JAWS 経済的にハニーポットのログ分析をするためのベストプラクティス?
AWS Security JAWS 経済的にハニーポットのログ分析をするためのベストプラクティス?
More from Satoshi Mimura
Inside wsl
Inside wsl
Satoshi Mimura
Inside wsl
Inside wsl
Satoshi Mimura
おうちで簡単ハードウェアセキュリティ
おうちで簡単ハードウェアセキュリティ
Satoshi Mimura
某Ctf にて writeup
某Ctf にて writeup
Satoshi Mimura
Visual Studio で TeX 編集
Visual Studio で TeX 編集
Satoshi Mimura
3本指ジェスチャでの仮想デスクトップ機能を Windows に実装した話
3本指ジェスチャでの仮想デスクトップ機能を Windows に実装した話
Satoshi Mimura
WHAT_A_KERNEL_IRQL
WHAT_A_KERNEL_IRQL
Satoshi Mimura
アプリ作者と Windows XP
アプリ作者と Windows XP
Satoshi Mimura
APASEC 2013 - ROP/JIT を使わずに DEP/ASLR を回避する手法を見てみた。
APASEC 2013 - ROP/JIT を使わずに DEP/ASLR を回避する手法を見てみた。
Satoshi Mimura
マシン語によるコード実行
マシン語によるコード実行
Satoshi Mimura
Iron python と c sharp
Iron python と c sharp
Satoshi Mimura
Unix と windows 世界の融合
Unix と windows 世界の融合
Satoshi Mimura
Windows Phone 7 と XNA の世界
Windows Phone 7 と XNA の世界
Satoshi Mimura
More from Satoshi Mimura
(13)
Inside wsl
Inside wsl
Inside wsl
Inside wsl
おうちで簡単ハードウェアセキュリティ
おうちで簡単ハードウェアセキュリティ
某Ctf にて writeup
某Ctf にて writeup
Visual Studio で TeX 編集
Visual Studio で TeX 編集
3本指ジェスチャでの仮想デスクトップ機能を Windows に実装した話
3本指ジェスチャでの仮想デスクトップ機能を Windows に実装した話
WHAT_A_KERNEL_IRQL
WHAT_A_KERNEL_IRQL
アプリ作者と Windows XP
アプリ作者と Windows XP
APASEC 2013 - ROP/JIT を使わずに DEP/ASLR を回避する手法を見てみた。
APASEC 2013 - ROP/JIT を使わずに DEP/ASLR を回避する手法を見てみた。
マシン語によるコード実行
マシン語によるコード実行
Iron python と c sharp
Iron python と c sharp
Unix と windows 世界の融合
Unix と windows 世界の融合
Windows Phone 7 と XNA の世界
Windows Phone 7 と XNA の世界
Edomae 2015 - マルウェアを解析してみよう
1.
マルウェアを 解析してみよう 三村 聡志 /
みむら (@MIMURA1133)
2.
自己紹介 • 三村 聡志
a.k.a. 親方 (@mimura1133) • Twitter : @mimura1133 • http://mimumimu.net/ • http://www.windowsinternals.moe/ • 普通の大学生やってます。 • CTF 入門者向け勉強会 “CTF for Beginners” やってます。 ( http://2014.seccon.jp ) • 絶賛就活生(M1) です。
3.
マルウェア解析?
4.
テーマを決めるに当たって まっちゃさん、今度の江戸前で 「マルウェア解析」って やっても大丈夫ですか ええんちゃう、 なんもないで。
5.
解析手法 • 動的解析 • マルウェアを「動」かして解析する方法 •
サンドボックス上で動かして眺めたり。 • Keyword: Cuckoo Sandbox, QEMU, etc… • 静的解析 • マルウェアを動かさずに解析する方法 • 逆アセンブルして眺めたり。 • Keyword: IDA Pro, objdump, 逆アセンブル, etc…
6.
解析準備
7.
解析に必要なもの(今回使用したもの) • Windows 7
x86, x64 – Service Pack 1 • 環境によって動くモノと動かないモノが出るので合わせる • IDA Pro 6.7 • Pro 版は買うと世界が広がります。おすすめ。 • VMware Workstation • 基本的には仮想マシン上で。潤沢なメモリと一緒に。 • 折れない心 • マルウェアの解析とプレゼン作成は昨日の深夜から。
8.
解析をする環境 • 基本的には「仮想マシンの上で」 • 静的解析なら大丈夫? →
その解析ソフトの脆弱性を突かれたらどうするの • 何がおすすめ? • 個人的に楽なのは Microsoft Hyper-V. • よりもっと入りたいなら QEMU. • でも VMware Workstation がベター。
9.
解析する環境 • 参考までに・・。私はこんな感じです。 • IDA
Pro / Windbg / Ollydbg • Wireshark / Fiddler • API Monitor • MinGW • MAP → なお、CTF4b の実習環境は 私の解析環境の構成がベースで組まれてます。
10.
さぁ解析してみよう
11.
基本的な解析の流れ • 私の場合は IDA
Pro でやってます。 • 静的解析でさっと眺め (複雑な場合は動的から) • 動的で詳しいところの挙動をブラックボックス で見て、静的で追いかける。
12.
基本的な解析の流れ • 最初は分からないことだらけ • 分かったときにメモを 書いていく
13.
解析をする場合の注意点 • ネットワークは切りましょう。 • ネットワーク通信して・・というのを観察したい →
グローバルIP アドレスを別のモノに。空き IP アドレス等を。 • VM 上でやるならば、万全の状態を作った上で 「スナップショット」を作りましょう • 汚した後、スナップショットに戻して ネットワークなりが戻ってしまった例をよく見ます・・。
14.
解析をする場合の注意点 • 解析ツールの検知や VM 検知をするマル ウェアがあります。
15.
解析をする場合の注意点 • これ以外にも BIOS の名前を見て “Oracle” “Vmware” “QEMU” 等の文字列を見てい る事があります。 →
ただ Hyper-V の検知は、ほとんど見ない。
16.
今回使用したもの
17.
今回使用したもの • 2014年11月25日に発生した Sony Pictures
Entertainment に対して 行われたマルウェアを使用しました。 • 紹介するのは下の4検体 • 760c35a80d758f032d02cf4db12d3e55 • E1864a55d5ccb76af4bf7a0ae16279ba • b80aa583591eaf758fd95ab4ea7afe39
18.
各検体がどういう動きをするか • Piyokango さんのまとめが詳しいです。 •
http://d.hatena.ne.jp/Kango/20141228/1419787 781 • なぞるのは面白くないと思うので 先ほどのマルウェアを見ながら 面白そうなところだけを見ていきます。
19.
760c35a80d758f032 d02cf4db12d3e55 この検体だけは速度を落としてゆっくりと。
20.
760c35a80d758f032d02cf4db12d3e55 -i, -k, -m,
-d, -w が引数として取れる • -i : 自身をサービスとして登録する • -k : (サービスとして呼び出された際に実行) → サービスとしての main() を実行 → 自身を taskhost??.exe としてコピーし それらを –w, -m, -d を付けてそれぞれ起動 → かつ MSExchangeIS サービスを停止する
21.
760c35a80d758f032d02cf4db12d3e55 • -w :
usbdrbv32.sys を産み落として MBR を消す • -d : (ハードディスクをワイプするらしいですが) 該当部分の実装がないので、何もせず • -m : iissvr.exe を産み落として実行(後述) → termservice も止める
22.
760c35a80d758f032d02cf4db12d3e55 • コードは簡単に strings
等で特定出来ないよう になっている • これ、何がしたいか分かりますか?
23.
760c35a80d758f032d02cf4db12d3e55 • 面白そうなところ • 今のユーザ権限でシャットダウンできるかどうかを ちゃんと判断して処理している
24.
760c35a80d758f032d02cf4db12d3e55 • 面白そうなところ • ブートセクタをちゃんと読む処理がある(ライブラリ使用か)
25.
760c35a80d758f032d02cf4db12d3e55 • 面白そうなところ • こいつ・・・もしかして
Windows 9x 対応か・・
26.
b80aa583591eaf758 fd95ab4ea7afe39
27.
b80aa583591eaf758fd95ab4ea7afe39 • 基本的には 760c35a80d758f032d02cf4db12d3e55 と近いコード(1つめの検体) • -n
: 壁紙を書き換える
28.
29.
b80aa583591eaf758fd95ab4ea7afe39 • 壁紙の変更まで・・ • 別スレッドを作って
0x493E0 分 Sleep →その後 壁紙変更
30.
b80aa583591eaf758fd95ab4ea7afe39 • Sleep(0x493E0)? → 300,000
ms. → 300 sec. → 5 minutes. その後、自身のリソースから walls.bmp を作り、 SystemParametersInfoW を使って 壁紙を変更する。
31.
E1864a55d5ccb76af 4bf7a0ae16279ba
32.
E1864a55d5ccb76af4bf7a0ae16279ba • iissvr.exe という名前で実行 •
TCP 2332 でバックドアとして動作 • ブラウザに警告のページを出す
33.
家に帰って 解析したい人へ
34.
家に帰って解析したい人へ • VirusTotal にモノは上がってます。 •
MD5 の値で照合可能 • ネットワークに繋いだ状態でやると 何がおきるか分からないのでご注意を。 • このマルウェアではないですが、 VirusShare とかでもマルウェアは手に入ります • http://virusshare.com/
35.
マルウェアを 解析してみよう 三村 聡志 /
みむら (@MIMURA1133)
36.
ささやかな宣伝
37.
宣伝 • CTF for
Beginners やりまぁす! • CTF for ビギナーズ2015横浜 with mochigoma- Beginners(2月15日) • CTF for Beginners 2015 in Hiroshima (2月21日) • 横浜の募集は月曜日から開始する予定です。 • http://2014.seccon.jp/
Download now