Video Screencast Help
Search Video Help Close Back
to help
Not able to make it to Vision this year? Get a sampling in the Best of Vision on Demand group.

Neosploit の裏に潜む悪漢

Updated: 14 Feb 2011 | Translations available: English
Karthikeyan Kasiviswanathan's picture
0 0 Votes
Login to vote

過去数年間に、シマンテックは悪用ツールキットの使用が大幅に増加したことを確認しました。いくつものキットが現れては消えていきましたが、一部は生き残っています。Neosploit もそのひとつです。今回は、JAR ファイルを利用して悪質なファイルを拡散するという、Neosploit ツールキットに固有の機能を取り上げます。

Neosploit をシマンテックが初めて確認したのは、2007 年 3 月のことでした。それ以来、このツールキットは進化を続け、今までに登場したなかで「最も優秀な」悪用ツールキットのひとつに数えられています。この悪名高いツールキットの開発は終了したというニュースが流れたにもかかわらず、悪質なユーザーたちは、Neosploit を使い続けています。

Neosploit は、クライアント側ブラウザのさまざまな脆弱性を悪用します。おおまかに言うと、Neosploit の悪質なユーザーは不明瞭化した JavaScript を正規のサイトに埋め込みます。侵入を受けた Web サイトに無警戒なユーザーがアクセスすると、知らないうちに感染してしまいます。

Neosploit は、不明瞭化にさまざまな技術を駆使しています。なかでも最も広く使われているのが(今でも確認されています)、「Twitter トレンド」の URL 生成トリックです。実行されると、この不明瞭化スクリプトは自身の不明瞭化を解除し、Twitter トレンドの内容を取得します。次に、そのトレンドのデータを利用して動的なURL を構築します。この URL は、Neosploit のサーバーにリンクしています。スクリプトはまず、Twitter からのデータを利用して shiftIndex 変数を生成します。後からこの同じ変数を使って、URL を構築します。下の図 1.1 を見ると、このスクリプトが Twitter トレンドを利用して shiftIndex 変数を生成する方法がわかります。

 

図 1.1: 不明瞭化を解除するスクリプトが Twitter トレンドを利用する

shiftIndex 変数が 0 より大きいと評価されると、事前に定義されている一連の配列とある種の数学的計算を使って URL を構築するループが開始されます。Neosploit サーバーにリンクする最終的 なURL は、図 1.2 に示したように、r という変数にあります。

図 1.2: 不明瞭化を解除するスクリプトが URL を構築する

次にブラウザは、この悪用の元である Neosploit サーバーにアクセスします。悪用は主として、PDF または JAR ファイルの形で行われます。JAR ファイルに仕掛けられた後続の手口によって、マルウェアのダウンロード元が隠蔽されます。悪質な URL は、JAR アーカイブの MANIFEST ファイルで、Specification-Vendor 属性のもとに隠蔽されます。図 1.3 は、Specification-Vendor 属性のデータを示したものです。

図 1.3: MANIFEST ファイル

JAR ファイルが実行されると、getResources 関数と getvalue 関数を使って、MANIFEST ファイルから Specification-Vendor 属性がフェッチされます。正規の Specification-Vendor 属性は、拡張仕様を維持管理している組織を識別する文字列です。この場合、Neosploit がこの属性を悪用していることは明らかです。図 1.4 は、MANIFEST ファイルから Specification-Vendor 属性の値をフェッチする Java コードです。

図 1.4: MANIFEST ファイルからデータをフェッチするコード

デコードされると、MANIFEST ファイルから抽出された文字列によって URL が生成され、%temp% ディレクトリにファイルがダウンロードされます。図 1.5 は、デコードされた URL です。

図 1.5: デコードされた URL

%temp ディレクトリにダウンロードされるファイルは、「msitcm.cpl」として識別されています。図 1.6 は、このファイルを %temp% ディレクトリに保存する Java コードです。

図 1.6: Java コード

この Java コードは後から、.CPL を regsvr32.exe を使って登録します。図 1.7 は、ダウンロードした .CPL ファイルを regsvr32.exe で登録するJava コードです。

図 1.7: msitcm.cpl を実行する Java コード

msitcm.cpl は、他の悪質なファイルをコンピュータにダウンロードします。ダウンロードされるファイルは、偽のウイルス対策アプリケーションをインストールするのが一般的です。

図 1.8: 偽のウイルス対策アプリケーション

シマンテックのお客様はこの攻撃から保護されていますので、ご安心ください。シマンテックの IPS エンジンとウイルス対策エンジンはどちらも、送信された要求と、ダウンロードされたファイルを汎用的に検出します。

詳しくは、シマンテックの最新の「Attack Toolkits report(攻撃ツールキットに関するレポート)」を参照してください。

 

* 日本語版セキュリティレスポンスブログの RSS フィードを購読するには、http://www.symantec.com/connect/ja/item-feeds/blog/2261/feed/all/ja にアクセスしてください。