Submit Search
Upload
Edomae 2015 - マルウェアを解析してみよう
•
40 likes
•
17,506 views
Satoshi Mimura
Follow
江戸前セキュリティ勉強会 - マルウェアを解析してみよう
Read less
Read more
Software
Report
Share
Report
Share
1 of 37
Download now
Download to read offline
Recommended
C言語なWebSocketの遊び方。
C言語なWebSocketの遊び方。
Masahiko Hashimoto
CTF for ビギナーズ バイナリ講習資料
CTF for ビギナーズ バイナリ講習資料
SECCON Beginners
CyberChefの使い方(HamaCTF2019 WriteUp編)
CyberChefの使い方(HamaCTF2019 WriteUp編)
Shota Shinogi
初心者向けCTFのWeb分野の強化法
初心者向けCTFのWeb分野の強化法
kazkiti
えっ今日はハッキングしてもいいのか?(CTF Web入門)
えっ今日はハッキングしてもいいのか?(CTF Web入門)
otya mura
TLS, HTTP/2演習
TLS, HTTP/2演習
shigeki_ohtsu
ctfで学ぼうリバースエンジニアリング
ctfで学ぼうリバースエンジニアリング
junk_coken
目grep入門 +解説
目grep入門 +解説
murachue
Recommended
C言語なWebSocketの遊び方。
C言語なWebSocketの遊び方。
Masahiko Hashimoto
CTF for ビギナーズ バイナリ講習資料
CTF for ビギナーズ バイナリ講習資料
SECCON Beginners
CyberChefの使い方(HamaCTF2019 WriteUp編)
CyberChefの使い方(HamaCTF2019 WriteUp編)
Shota Shinogi
初心者向けCTFのWeb分野の強化法
初心者向けCTFのWeb分野の強化法
kazkiti
えっ今日はハッキングしてもいいのか?(CTF Web入門)
えっ今日はハッキングしてもいいのか?(CTF Web入門)
otya mura
TLS, HTTP/2演習
TLS, HTTP/2演習
shigeki_ohtsu
ctfで学ぼうリバースエンジニアリング
ctfで学ぼうリバースエンジニアリング
junk_coken
目grep入門 +解説
目grep入門 +解説
murachue
CTF for ビギナーズ ネットワーク講習資料
CTF for ビギナーズ ネットワーク講習資料
SECCON Beginners
CTF超入門 (for 第12回セキュリティさくら)
CTF超入門 (for 第12回セキュリティさくら)
kikuchan98
katagaitai CTF勉強会 #5 Crypto
katagaitai CTF勉強会 #5 Crypto
trmr
Twitterのsnowflakeについて
Twitterのsnowflakeについて
moai kids
パケットキャプチャの勘どころ Ssmjp 201501
パケットキャプチャの勘どころ Ssmjp 201501
稔 小林
PWNの超入門 大和セキュリティ神戸 2018-03-25
PWNの超入門 大和セキュリティ神戸 2018-03-25
Isaac Mathis
実践イカパケット解析
実践イカパケット解析
Yuki Mizuno
暗号技術の実装と数学
暗号技術の実装と数学
MITSUNARI Shigeo
プログラムを高速化する話
プログラムを高速化する話
京大 マイコンクラブ
Wireshark だけに頼らない! パケット解析ツールの紹介
Wireshark だけに頼らない! パケット解析ツールの紹介
morihisa
大学3年生の僕に伝えたいことをつらつらと
大学3年生の僕に伝えたいことをつらつらと
Toshinori Sato
C++ マルチスレッドプログラミング
C++ マルチスレッドプログラミング
Kohsuke Yuasa
Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜
Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜
Preferred Networks
Scapyで作る・解析するパケット
Scapyで作る・解析するパケット
Takaaki Hoyo
How to run P4 BMv2
How to run P4 BMv2
Kentaro Ebisawa
Glibc malloc internal
Glibc malloc internal
Motohiro KOSAKI
VyOSで作るIPv4 Router/IPv6 Bridge
VyOSで作るIPv4 Router/IPv6 Bridge
KLab Inc. / Tech
ソーシャルゲームのためのデータベース設計
ソーシャルゲームのためのデータベース設計
Yoshinori Matsunobu
20分でわかるgVisor入門
20分でわかるgVisor入門
Shuji Yamada
広告配信のための高速疎ベクトル検索エンジンの開発@WebDBフォーラム2015 #webdbf2015
広告配信のための高速疎ベクトル検索エンジンの開発@WebDBフォーラム2015 #webdbf2015
Yahoo!デベロッパーネットワーク
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
CTF for ビギナーズ ネットワーク講習資料
CTF for ビギナーズ ネットワーク講習資料
SECCON Beginners
CTF超入門 (for 第12回セキュリティさくら)
CTF超入門 (for 第12回セキュリティさくら)
kikuchan98
katagaitai CTF勉強会 #5 Crypto
katagaitai CTF勉強会 #5 Crypto
trmr
Twitterのsnowflakeについて
Twitterのsnowflakeについて
moai kids
パケットキャプチャの勘どころ Ssmjp 201501
パケットキャプチャの勘どころ Ssmjp 201501
稔 小林
PWNの超入門 大和セキュリティ神戸 2018-03-25
PWNの超入門 大和セキュリティ神戸 2018-03-25
Isaac Mathis
実践イカパケット解析
実践イカパケット解析
Yuki Mizuno
暗号技術の実装と数学
暗号技術の実装と数学
MITSUNARI Shigeo
プログラムを高速化する話
プログラムを高速化する話
京大 マイコンクラブ
Wireshark だけに頼らない! パケット解析ツールの紹介
Wireshark だけに頼らない! パケット解析ツールの紹介
morihisa
大学3年生の僕に伝えたいことをつらつらと
大学3年生の僕に伝えたいことをつらつらと
Toshinori Sato
C++ マルチスレッドプログラミング
C++ マルチスレッドプログラミング
Kohsuke Yuasa
Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜
Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜
Preferred Networks
Scapyで作る・解析するパケット
Scapyで作る・解析するパケット
Takaaki Hoyo
How to run P4 BMv2
How to run P4 BMv2
Kentaro Ebisawa
Glibc malloc internal
Glibc malloc internal
Motohiro KOSAKI
VyOSで作るIPv4 Router/IPv6 Bridge
VyOSで作るIPv4 Router/IPv6 Bridge
KLab Inc. / Tech
ソーシャルゲームのためのデータベース設計
ソーシャルゲームのためのデータベース設計
Yoshinori Matsunobu
20分でわかるgVisor入門
20分でわかるgVisor入門
Shuji Yamada
広告配信のための高速疎ベクトル検索エンジンの開発@WebDBフォーラム2015 #webdbf2015
広告配信のための高速疎ベクトル検索エンジンの開発@WebDBフォーラム2015 #webdbf2015
Yahoo!デベロッパーネットワーク
What's hot
(20)
CTF for ビギナーズ ネットワーク講習資料
CTF for ビギナーズ ネットワーク講習資料
CTF超入門 (for 第12回セキュリティさくら)
CTF超入門 (for 第12回セキュリティさくら)
katagaitai CTF勉強会 #5 Crypto
katagaitai CTF勉強会 #5 Crypto
Twitterのsnowflakeについて
Twitterのsnowflakeについて
パケットキャプチャの勘どころ Ssmjp 201501
パケットキャプチャの勘どころ Ssmjp 201501
PWNの超入門 大和セキュリティ神戸 2018-03-25
PWNの超入門 大和セキュリティ神戸 2018-03-25
実践イカパケット解析
実践イカパケット解析
暗号技術の実装と数学
暗号技術の実装と数学
プログラムを高速化する話
プログラムを高速化する話
Wireshark だけに頼らない! パケット解析ツールの紹介
Wireshark だけに頼らない! パケット解析ツールの紹介
大学3年生の僕に伝えたいことをつらつらと
大学3年生の僕に伝えたいことをつらつらと
C++ マルチスレッドプログラミング
C++ マルチスレッドプログラミング
Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜
Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜
Scapyで作る・解析するパケット
Scapyで作る・解析するパケット
How to run P4 BMv2
How to run P4 BMv2
Glibc malloc internal
Glibc malloc internal
VyOSで作るIPv4 Router/IPv6 Bridge
VyOSで作るIPv4 Router/IPv6 Bridge
ソーシャルゲームのためのデータベース設計
ソーシャルゲームのためのデータベース設計
20分でわかるgVisor入門
20分でわかるgVisor入門
広告配信のための高速疎ベクトル検索エンジンの開発@WebDBフォーラム2015 #webdbf2015
広告配信のための高速疎ベクトル検索エンジンの開発@WebDBフォーラム2015 #webdbf2015
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