徹底検証:「Styx」に類似したエクスプロイトキット「Cool Exploit Kit」

「Blackhole Exploit kit(BHEK)」は、ユーザに影響を与えるエクスプロイトキットとしてもっとも知られていますが、ロシアのアンダーグラウンドでは、他のエクスプロイトキットもよく知られています。本記事では、これら他のエクスプロイトキットの仕組みと違いを見ていきます。

BHEK に代わる有名なエクスプロイトキットの 1つは、「Styx Exploit Kit(Styx)」です。Styx が組み込まれた Webサイトは、通常、非常に長い英数字の文字列で成る URLとともに「ダイナミック DNS(DDNS)」のサービスを利用します。以下が、Styx が生成する典型的な URL の例です。

  • http://<DDNS のサービス>/ajD8g903fAA0C2GT0YqF70DDBW0Bcto0gRA80hcK80QJkx0q2gm0PNQA0YVmw0XKBF
    0lNzh0PdW10fPeN0QUcS0FMXH0xb8G0Evmb0XcVm17jxa0lp9m0htG100meh0m9y0087HR12K5j0r
    5uc0C9P80u2Ru0uk130k18A0HsdE0YYFh0u7rJ0noMf0WUzT0Pz0k0wMTM0gCiY0yusY03Cby0ssl
    S12TVs/
  • しかしながらトレンドマイクロは、2013年9月、Styx が生成する URL が使われていながら、実際の脆弱性の利用は、「Cool Exploit Kit(Cool)」によって行われていた事例を確認しました。Cool は、運用という点において以下の 2つの主要な独自の特徴を持っています。

  • 複数のエクスプロイトコードを組み込んだ Webページを利用:複数の Webページに挿入された不正なスクリプトを拡散。こうした問題の Webページには、HTTP のリダイレクト機能によって接続される
  • iframe 内データの受け渡し:JavaScript を介してさまざまな iframe 内のデータにアクセスする
  • ■エクスプロイトコードが組み込まれた複数の Webページを利用

    図1は、弊社が解析した検体の 1つに確認された感染経路の全体像を示しています。緑色で表示されるページは、エクスプロイトキットの一部であり、エミュレーション対策およびプラグイン検出の役割を担っています。ランディングページ「pageprofession-integrity_medicine.html」では、感染PC 上にインストールされた Java のバージョンを確認し、その確認されたバージョンをもとに「mortgage-fulfil_distant.html」もしくは「march_stability_outbreak_vertical.html」のどちらかに誘導します。どちらのページも Java の脆弱性「CVE-2013-1493」を利用するエクスプロイトコードが組み込まれています。

    Java のプラグインが確認されなかった場合は、「momentum-ornament.html」へと誘導されます。このページは、ブラウザのユーザエージェントを確認し、Internet Explorer(IE)が実行されているか、およびブラウザのユーザエージェントに「WOW64」の文字列が存在するかを確認します(例:ユーザは、32ビットバージョンの IE を実行している)。両方の条件が一致した場合、脆弱性「CVE-2011-3402」を利用するエクスプロイトコードが組み込まれたページ「advise-loaf.html」に誘導します。

    Windows が搭載された PC 上で “Google Chrome” が使用されていた場合、インストールされた ”Adobe Reader” のバージョンを確認します。Adobe Reader のバージョンが、8.0 から 8.2、もしくは 9.0 から 9.3 のどちらかであった場合、ユーザを不正な PDFファイルへと誘導します。インストールされたバージョンがどちらとも一致しない場合は、Java の脆弱性「CVE-2013-1493」を利用するエクスプロイトコードが組み込まれた Webサイトへと誘導します。

    Windows PC 上でも Google Chrome がインストールされていない場合は、不正なコードが停止し、最終的に不正なプログラムは作成されません。

    感染PC 上で、いずれかのエクスプロイトコードの実行が成功すると、不正活動が実行されることとなります。

    図1:Cool Exploit Kit の感染フロー
    図1:Cool Exploit Kit の感染フロー

    複数のファイルにわたって不正なコードを拡散させる手法は非常に珍しいものです。一般的に他のエクスプロイトキットは、すべてのプラグイン検出を 1つのファイルに集中させます。これはおそらく、Webサイトが改ざんされた事を示すファイルを探している Webサイト管理者に疑いを持たせないために行ってきたものだと思われます。

    ■iframe 内データの受け渡し

    ページ内の不正なスクリプトは、軽度の難読化が施されています。しかし攻撃者たちは、それでもなお検出を回避するために巧妙な手段を利用します。

    図2 は、ランディングページ「profession-integrity_medicine.html」のいくつかのコードを示しています。最初の部分は、ページ「commonly_essential_lexical.html」を参照する iframeタグを示しています。二番目の部分は、iframeページ内の「contentWindow」を取得しようとするコードを示しています。その後、実行を継続するため、「rsifihzl」と名前を付けられたタグの文字列の値を取得します。文字列は、最終的に JavaScript のコードとして復号された後、実行されます。

    図2:問題の iframe の各コード
    図2:問題の iframe の各コード

    図3:「commonly_essential_lexical.html」の内容
    図3:「commonly_essential_lexical.html」の内容

    図4:復号されたスクリプト
    図4:復号されたスクリプト

    ■結論

    これらの調査結果は、さまざまなエクスプロイトキット間の違いを明らかにします。最終的な結果が同じというだけでは、使われた手法も同じという事を意味しません。対策方法は、攻撃者たちが利用できるあらゆる手法に対処できなければなりません。

    トレンドマイクロのブラウザの脆弱性利用対策技術は、この脅威に対する検出および保護を可能にします。トレンドマイクロ製品をご利用のユーザは、弊社のクラウド型セキュリティ基盤「Trend Micro Smart Protection Network」によって守られています。特に「Webレピュテーション」技術により、この脅威に関連する不正な Web サイトへのアクセスをブロックします。また、「ファイルレピュテーション」技術により、上述の不正プログラムを検出し、削除します。

    参考記事:

  • Styx-like Cool Exploit Kit: How It Works
     by Mark Tang (Threats Analyst)
  •  翻訳:木内 牧(Core Technology Marketing, TrendLabs)