ブラックホール+ CVE-2012-0507 =カーバープ

今週、有名なBlackholeエクスプロイトのセットがバージョン1.2.3に更新され、脆弱性CVE-2012-0507Java / Exploit.CVE-2012-0507 )の新しいJavaエクスプロイトが含まれました。 この脆弱性の関連性に最初に注目されたのはMicrosoftで、Java Runtime Environment JREサンドボックスの外部でJavaコードを実行する興味深い方法に関するブログ投稿を投稿しました。



この脆弱性に対する戦闘の悪用に関する最初の言及は、Immunityから来ました。Immunityは、2012年3月上旬にImmunity CANVAS製品の特別なモジュールをリリースしました 。 この脆弱性は、Oracleからの重要な更新の一部として2月15日にクローズされました。 昨夜遅く、この出版物が準備されていたときに、Metasploit Frameworkの一部としてCVE-2012-0507の公開エクスプロイトが登場しました。 それとは別に、そのクロスプラットフォームと、Windows、Linux、Solaris、OSXシステムで動作する機能に注目する価値があります(Appleのセキュリティアップデート昨日登場しました )。 後者は、Javaの脆弱性の悪用を通じて広がる悪意のあるプログラムの数の増加を考えると、特に興味深いものです。 Metasploit Frameworkのエクスプロイトは、更新されたBlackholeで見つかったものと非常によく似ており、そこからほとんどの部分がリッピングされたようです...



最近、私はJavaのエクスプロイトについてよく書きましたが、昨年はマルウェアの大量配布の事件で本当にパンチの効いたものです。 Blackholeなどのエクスプロイトキットの開発者は、いわゆる1日脆弱性、つまり 開発者からの公式修正が既に含まれています。 ゼロデイの使用は、その目的には高すぎて、それ自体にまったくお金を払わないためですが、ゼロデイがPoCで公開される場合には例外があります。 現在のゼロデイ脆弱性の使用は、標的型攻撃で最もよく見られます。 ところで、受信者の0日とカルマの価格に関するかなり面白い投稿はここで読むことができます



エクスプロイトに戻ると、今週、人気のあるWebリソースを通じて、エクスプロイトのセットを持つリソースにリダイレクトするiFrame構造の導入を通じて、 Win32 / TrojanDownloader.Carberpの拡散が再び見られました。



最初に入手したリソースはlifenews.ruで、これには次のiFrameが含まれていました。



画像



埋め込みコードからわかるように、攻撃は直ちにCVE-2012-0507で発生し、Blackholeが配置されていたドメイン名は攻撃されたWebリソースの名前に非常に似ています。 iFrameでのコード実行の結果は、変更された元のページでも視覚的に確認できます。







画像



その後、古いが不親切な待機ページが表示され、この時点でアクティブな操作段階が発生します。



画像



同様の攻撃がWebリソースizvestia.ruで見られ、Win32 / TrojanDownloader.Carberpファミリーからの変更もインストールされました。 一般に、最初のJava / Exploit.CVE-2012-0507のエクスプロイト検出は、3月中旬近くに気づかれました。



livenews.ru Webリソースの変更されたページにアクセスすると、完全なイベントログは次のようになります。



画像



どちらの場合も、フォームのURLにアクセスすると感染が発生しました。



hxxp://izvestia.ru/banners/index.php?p = 55



hxxp://lifenews.ru/banners/index.php?p = 2



これは、両方のリソースで使用されるバナーネットワークを介した感染を示唆しています。 リダイレクションが行われたアドレスも、どちらの場合も同じように見えました。



ちなみに、読者には正当な質問があるかもしれませんが、Win32 / TrojanDownloader.Carberpを配布し、リモートバンキングシステムで詐欺でお金を稼いだサイバー犯罪者のグループの拘禁に関する最近の報道についてはどうでしょうか。 犯罪者ネットワークのさまざまな部分であり、Carberpと協力した1つのグループのみを代表する8人が拘束されました。 しかし、結局のところ、他の人はまだ自由であり、当然、奇跡は起こらず、活動をロールバックしませんでした。



しかし、CVE-2012-0507のエクスプロイトに戻りましょう。この攻撃で最も興味深いのは彼です(Carberpは私たちが以前に知っていた修正であり、検出をバイパスするためにのみ再パッケージ化されました)。 この脆弱性は、AtomicReferenceArrayクラスの実装に隠されており、Object []タイプに属しているかどうかの誤ったチェックが発生します。 この脆弱性はいわゆる「Type Confusion Vulnerabilities」クラスに属します。以前は、このような脆弱性はバイトコード検証レベルで発生していましたが、現在はすでに閉じられており、衝突は直接Java APIにあります。 これにより、特別に準備されたアプレットまたはクラスをJREサンドボックス外で実行できます。



Java / Exploit.CVE-2012-0507のオブジェクトの構造は次のとおりです。



画像



Nerクラスのinit()メソッドは、サンドボックスの外部でコードを実行するAtomicReferenceArray型のオブジェクトを作成します。



画像



次のステップで、HalクラスのdoWork()メソッドが実行されます。このメソッドを使用してクラスコードが作成され、後でサンドボックスの外部で実行されます。



画像



サンドボックスの外部で実行する必要があるクラスのコードは、単純な順列暗号化アルゴリズムで暗号化され、実行前に復号化され、最終的にDownloadAndExecの出現につながります。 \ gyu <file_number>を実行します。



画像



ウイルス対策製品による検出に対処するために、コード暗号化アルゴリズムは絶えず変更されており、ペイロードと文字列定数の難読化がダウンロードされます。



今年はJavaプラットフォームの悪用可能性のトピックに何度も戻ると思いますが、これはJavaプラットフォームの最後の脆弱性ではありません。



研究著者: マトロソフ



All Articles