35
タタ タタタ タタタ タタタタタ ・・・ タタ タタタ カカカカカカカ カカ カカカカカカカカカカカ Tw: @idonaor1 タタ タタタタタ Undot カカカCEO Tw: @danigoland

[CB16] Facebookマルウェア:タグ・ミー・イフ・ユーキャン by Ido Naor & Dani Goland

Embed Size (px)

Citation preview

Page 1: [CB16] Facebookマルウェア:タグ・ミー・イフ・ユーキャン by Ido Naor & Dani Goland

タグ・ミー・イフ・ユーキャン

イド・ナールカスペルスキー・ラボ 上級セキュリティ研究者 Tw: @idonaor1ダニ・ゴーランドUndot 設立者& CEO Tw: @danigoland

Page 2: [CB16] Facebookマルウェア:タグ・ミー・イフ・ユーキャン by Ido Naor & Dani Goland

GReAT - 研究者たちによるカスペルスキー・ラボのエリートチーム

2008 年からの、グローバル調査分析チーム( GReAT )

脅威情報、研究、そしてイノベーションの主導

焦点: APT 、重大なインフラストラクチャーへの脅威、バンキングへの脅威、高度な標的型攻撃。

• セキュリティ・エコの分野で10 年

• イスラエルで地域研究を管理• 専門分野

• マルウェア解析• リバース・エンジニアリ

ング• 侵入テスト

• 趣味責任ある開示 :

▶ わたし達は世界を救うべくここに居る

Page 3: [CB16] Facebookマルウェア:タグ・ミー・イフ・ユーキャン by Ido Naor & Dani Goland

Undot – アイディアを発見する

• Undot 設立者& CEO

• 専門分野• フルスタック開発者• 起業家• データサイエンスのオタク

• 趣味ハッカソンの企画や参加

Undot のエキスパートが付く

制御しよう – リモート操作対応!

~ 50 万のダウンロード数

フロント

モバイル

バック

クラウド

Page 4: [CB16] Facebookマルウェア:タグ・ミー・イフ・ユーキャン by Ido Naor & Dani Goland

ニュースでは…

Page 5: [CB16] Facebookマルウェア:タグ・ミー・イフ・ユーキャン by Ido Naor & Dani Goland

要約

Page 6: [CB16] Facebookマルウェア:タグ・ミー・イフ・ユーキャン by Ido Naor & Dani Goland

国ごとのマルウェア分布状況イスラエルドイツベネズエラ

チュニジア

ポルトガル

ギリシャ

エクアドル

メキシココロンビア ポーランド

ブラジル

ペルー

Page 7: [CB16] Facebookマルウェア:タグ・ミー・イフ・ユーキャン by Ido Naor & Dani Goland

友達による Facebook のメッセージ通知

うるさい、怒るぞ

高橋由佳子
★silence, i kill you の画像が追加になっています。
高橋由佳子
→ 訳をひとまず入れておきました
Page 8: [CB16] Facebookマルウェア:タグ・ミー・イフ・ユーキャン by Ido Naor & Dani Goland

• ファイル : comment_27734045.jse• 言語 : JScript• サイズ : ~5.31 KB• MD5: 9D3DF2A89FDB7DA40CEB4DE02D605CFA• SHA1: 6D658331FE6D7F684FEE384A29CE95F561A5C2EA

Windows に示されたもの

JScript is Microsoft's dialect of the ECMAScript standard[2] that is used in Microsoft's Internet Explorer.

JScript is implemented as an Active Scripting engine. This means that it can be "plugged in" to OLE Automation

applications that support Active Scripting, such as Internet Explorer, Active Server Pages, and Windows Script Host.[3] It

also means such applications can use multiple Active Scripting languages, e.g., JScript, VBScript or PerlScript.

で、君は、それは JavaScript じゃない、って言うのかい?

実行可能だと!

言ってみろ!

高橋由佳子
★アニメーション画像が沢山追加になっています。文言に変更はありませんでした。
高橋由佳子
ただ、印刷時に困ると思うので、テキスト部分に背景色を着色→縦幅を縮小→最前面に押し出してあります。
Yukako Takahashi
また、テキストの位置を少しズラし、画像の訳をいれてみました。
Page 9: [CB16] Facebookマルウェア:タグ・ミー・イフ・ユーキャン by Ido Naor & Dani Goland

JSE Trojan の中を垣間見る

1) ドメイン名2) Msxml2.XMLHTTP3) ADODB.Stream4) Wscript.Shell5) JPG 拡張子 ?6) %AppData%7) Autoit.exe8) Manifest.json9) .bat 実行10) .js を ping

Page 10: [CB16] Facebookマルウェア:タグ・ミー・イフ・ユーキャン by Ido Naor & Dani Goland

わたし達の中に実際誰がいるのか?

/Stats/history/pingjse3462

高橋由佳子
★画像が一枚増えています。文言に変更はありません。
Page 11: [CB16] Facebookマルウェア:タグ・ミー・イフ・ユーキャン by Ido Naor & Dani Goland

バックグラウンドの確認

• 出現 : 2015 年 1 月、次の場にて:• トルコ語の変数やコメントがファイル内にあった• 脅威実行者 : BePush/Killim• ソーシャル・ネットワークを通してマルウェアを拡散させる革新的

技術• 主に JavaScript 内で、重層的な難読化を好み、そして重層的な

URL 短縮ツール、サードパーティがホストするプロバイダーや、マルチステージのペイロードを利用する。

• Cloudflare を使い、自身の構造をわかりにくくする

Page 12: [CB16] Facebookマルウェア:タグ・ミー・イフ・ユーキャン by Ido Naor & Dani Goland

最初の感染

Page 13: [CB16] Facebookマルウェア:タグ・ミー・イフ・ユーキャン by Ido Naor & Dani Goland

動的解析

Page 14: [CB16] Facebookマルウェア:タグ・ミー・イフ・ユーキャン by Ido Naor & Dani Goland

中間者としての Chrome 拡張機能

Page 15: [CB16] Facebookマルウェア:タグ・ミー・イフ・ユーキャン by Ido Naor & Dani Goland

?隠された脆弱性

疑わしい…

高橋由佳子
★これは氷山の一角、と言いたいような画像が追加になっています。このため、疑わしい… 画像が隠れてしまっています。
高橋由佳子
印刷時に困るだろうと思い、疑わしい… 画像を最前面に押し出し、訳を付けておきました。
Page 16: [CB16] Facebookマルウェア:タグ・ミー・イフ・ユーキャン by Ido Naor & Dani Goland

欠けている部分

Page 17: [CB16] Facebookマルウェア:タグ・ミー・イフ・ユーキャン by Ido Naor & Dani Goland

Obfuscated dropper (難読化ドロッパー)

難読化コードのスニペット:

ファイルの各バリアントは、次のヘッダーを伴って始まる:

高橋由佳子
★あらまぁ!的な画像が追加になっていますが、文言的に変更はありません。
高橋由佳子
ただし、その画像が翻訳部分を隠してしまうため、印刷時に困る(省略)、順序を入れ替えてあります。
Page 18: [CB16] Facebookマルウェア:タグ・ミー・イフ・ユーキャン by Ido Naor & Dani Goland

難読化の解除

Page 19: [CB16] Facebookマルウェア:タグ・ミー・イフ・ユーキャン by Ido Naor & Dani Goland

ANTI-ANALYSIS

• Debugger;で、わたしは言ったんです

ブレークポイントを置いてみろ、って

高橋由佳子
★画像が追加になっています。文言自体に変更はありません。
Yukako Takahashi
画像の訳を入れてみました。
Page 20: [CB16] Facebookマルウェア:タグ・ミー・イフ・ユーキャン by Ido Naor & Dani Goland

解析妨害

• Code のハッシュ値

コードの潜在的なハッシュ未変更のソースコード

実行するデコード済コードのスニペット 実行する(ひどい)デコード済コードのスニペット

Yukako Takahashi
★画像が大幅に変わりました。文言に変更はありません。
Yukako Takahashi
画像の英文4箇所に訳を入れてみました。
Page 21: [CB16] Facebookマルウェア:タグ・ミー・イフ・ユーキャン by Ido Naor & Dani Goland

コードクラッシュを起こす

いまから、あなたのコードをゆっくりと 1 行ずつデバッグしていくよ

Yukako Takahashi
★画像が追加になっています。文言に変更はありません。
Yukako Takahashi
追加された画像の英文に訳を追加してみました。
Page 22: [CB16] Facebookマルウェア:タグ・ミー・イフ・ユーキャン by Ido Naor & Dani Goland

Google のトークンをハイジャック

• Google URL Shortner• Google Drive API

Page 23: [CB16] Facebookマルウェア:タグ・ミー・イフ・ユーキャン by Ido Naor & Dani Goland

マルウェア・ハブとしての Google Drive

Page 24: [CB16] Facebookマルウェア:タグ・ミー・イフ・ユーキャン by Ido Naor & Dani Goland

Victim info stealer (被害者の情報を盗み取る機能)ドロッパー → Chrome が乗っ取られる → 悪意のある JS → Google パーミッション → ストレージにマルウェアをアップロード → 今ここ

Yukako Takahashi
★タイトルの下、黄色い文字が追加となっています。
Page 25: [CB16] Facebookマルウェア:タグ・ミー・イフ・ユーキャン by Ido Naor & Dani Goland

Victim info stealer (被害者の情報を盗み取る機能)

Page 26: [CB16] Facebookマルウェア:タグ・ミー・イフ・ユーキャン by Ido Naor & Dani Goland

Victim info stealer (被害者の情報を盗み取る機能)

Page 27: [CB16] Facebookマルウェア:タグ・ミー・イフ・ユーキャン by Ido Naor & Dani Goland

Google drive パーミッションの修正

Page 28: [CB16] Facebookマルウェア:タグ・ミー・イフ・ユーキャン by Ido Naor & Dani Goland

悪意のある発信者を作る

Page 29: [CB16] Facebookマルウェア:タグ・ミー・イフ・ユーキャン by Ido Naor & Dani Goland

Facebook のトークンをハイジャック

Page 30: [CB16] Facebookマルウェア:タグ・ミー・イフ・ユーキャン by Ido Naor & Dani Goland

フェールセーフする方法

Page 31: [CB16] Facebookマルウェア:タグ・ミー・イフ・ユーキャン by Ido Naor & Dani Goland

フェールセーフする方法

Page 32: [CB16] Facebookマルウェア:タグ・ミー・イフ・ユーキャン by Ido Naor & Dani Goland

実際の脆弱性

1) コメントプラグインへのリクエストを初期化

2) api_key とコメントデータを取得

3) プラグインで、 Google Driveへの URL を含むコメントを作成

4) 記載内容は投稿される その−ID を取得

5) Web プラットフォームで新しいコメントを作成

6) FB プラグインからの ID を、Web FB コメント ID に挿入

7) 通知が生成される8) FB デバッグチェック9) プライバシー設定をパブリック

に10) コメントテキストを Null に設

定し、トレースを削除。

this.commentData["share_id"] = globalFunction["between"]('"commentIDs":["', '"', f["responseText"])["split"]("_")[1]; // 400539608410_10153962897128411

post_params = {"ft_ent_identifier": this["commentData"]["share_id"], ← injection!!"comment_text": gF["chain"](10)["toLowerCase"](),"source": 21,"client_id": Date["now"]() + ":" + Math["floor"](U2e[F](Date["now"](), 1000)),"session_id": globalFunction["chain"](8)["toLowerCase"](),"comment_text": "Array of tagged friends"}url: "https://www.facebook.com/ufi/add/comment/?dpr=1",type: "POST",async: true,headers: {  "content-type": "application/x-www-form-urlencoded"}

www.facebook.com/plugins/feedback.php?api_key=<ID>&href=https://<GOOGLE_DRIVE>/<JSE_FILE>

Yukako Takahashi
★画像が数枚減りました。文字が隠れなくなりました。追加アドレスあり(URL部分 ← あえて訳しませんでした)
Page 33: [CB16] Facebookマルウェア:タグ・ミー・イフ・ユーキャン by Ido Naor & Dani Goland

全体的にFacebook マルウェア:複雑なコードが被害者を、その友達を標的にするために利用するWindows PC を使う 10,000 人の Facebook ユーザーが悪意のある友達通知を受けた後、カスペルスキー・ラボは脆弱性と攻撃について解明

メッセージFacebook ユーザーは、友達がユーザーのことをコメントに書いた、という通知を受ける

3 段階の感染通路被害者がメッセージ内のリンクをクリックすると、 Facebook 外部に飛ばされ、マルウェアがダウンロードされる

これが失敗すると、攻撃者はマルウェアのダウンロードをさせるべく、 Facebook チャットで短縮 URLを送る。

攻撃者は、悪意ある Google 短縮リンク付きの Facebook 投稿を、被害者のタイムラインに追加するGoogle の Chrome ブラウザが乗っ取られる

マルウェアは実行され、 Chrome ブラウザを乗っ取るコードをダウンロードする悪意のある Chromeが開く 'Facebook' ページをユーザーに見せる ― 攻撃者は

Facebook のアンチウィルス・プラグインをブロックする

トラフィックを捉え、アカウントをハイジャックする

バックグラウンド内では、別のスクリプトがこっそり以下をダウンロードしている− 1,500 行の複雑なコード− 難読化− DOM を検査からロックする− 分析からコードを保護するために  他のコードが存在する

盗まれたアカウント攻撃者はこの段階で、被害者の Facebookと Google Drive アカウントを所持している。ブラウザを通して全てを盗み、被害者をマルウェア・ハブ化させて、感染した通知を被害者の友達全員に送る。

Page 34: [CB16] Facebookマルウェア:タグ・ミー・イフ・ユーキャン by Ido Naor & Dani Goland

質問ありますか ?

Yukako Takahashi
★デモタイム!のシートが、質疑応答のものへと変更。画像自体は同じものが使われています。
Page 35: [CB16] Facebookマルウェア:タグ・ミー・イフ・ユーキャン by Ido Naor & Dani Goland

ご清聴ありがとう !Twitter でわたし達をフォローしてください :

@IdoNaor1@DaniGoland