最近 Kasperskyは、未知の欠陥を利用した新しいエクスプロイトを発見しました Googleが確認したChrome ゼロデイ脆弱性 お使いのブラウザで、すでに次のようにカタログ化されていること CVE-2019-13720。
この脆弱性 と同様のインジェクションを使用した攻撃を使用して悪用される可能性があります の攻撃 「水飲み場」。 このタイプの攻撃は、獲物を探す代わりに、確実に来る場所(この場合は水を飲む場所)で待つことを好む捕食者を指します。
から 攻撃は韓国語の情報ポータルで発見されました、悪意のあるJavaScriptコードがメインページに挿入され、メインページがリモートサイトからプロファイリングスクリプトをロードします。
JavaScriptコードの小さな挿入物がWebページのインデックスに格納されていました からリモートスクリプトをロードしました code.jquery.cdn.behindcrown
次に、スクリプトは別のスクリプトをロードします。 このスクリプトは、ブラウザのユーザーエージェントと比較することにより、被害者のシステムが感染する可能性があるかどうかを確認します。ユーザーエージェントは、WOW64プロセスではなく64ビットバージョンのWindowsで実行されている必要があります。
さらに ブラウザの名前とバージョンを取得してみてください。 この脆弱性はGoogleChromeブラウザのバグを悪用しようとし、スクリプトはバージョンが65以上であるかどうかをチェックします(Chromeの現在のバージョンは78です)。
Chromeバージョンはプロファイリングスクリプトを検証します。 ブラウザのバージョンが検証されると、スクリプトは一連のAJAXリクエストの実行を開始します 攻撃者の制御対象サーバー上。パスの名前は、スクリプトに渡された引数を指します。
最初のリクエストが必要です 後で使用するための重要な情報。 この情報には、サーバーからダウンロードする実際のエクスプロイトコードのチャンク数をスクリプトに通知する、4進数でエンコードされた複数の文字列、最終アップロード用のキーとのチャンクを復号化するためのRCXNUMXキーを組み込んだ画像ファイルへのURLが含まれます。エクスプロイトのコード。
ほとんどのコード 特定の脆弱なブラウザコンポーネントに関連するさまざまなクラスを使用します。 このバグは執筆時点ではまだ修正されていないため、Kasperskyは特定の脆弱なコンポーネントに関する詳細を含めないことを決定しました。
シェルコードブロックと埋め込まれたPEイメージを表す番号の付いた大きなテーブルがいくつかあります。
エクスプロイト 適切なタイミングがないため、XNUMXつのスレッド間で競合状態エラーを使用しました その中で。 これにより、攻撃者は非常に危険なリリース後使用(UaF)状態になります。これは、コード実行シナリオにつながる可能性があるためです。これはまさにこの場合に発生することです。
このエクスプロイトは、最初にUaFに重要な情報を失わせようとします 64ビットアドレス(ポインタなど)。 これにより、いくつかの結果が得られます。
- アドレスが正常に開示された場合、それはエクスプロイトが適切に機能していることを意味します
- 公開されたアドレスは、ヒープ/スタックが配置されている場所を見つけるために使用され、アドレス空間配置のランダム化(ASLR)手法をオーバーライドします。
- この方向の近くを見ると、さらに活用するための他のいくつかの有用な指針を見つけることができます。
その後、再帰関数を使用してオブジェクトの大きなグループを作成しようとします。 これは、確定的なヒープレイアウトを作成するために行われます。これは、悪用を成功させるために重要です。
同時に、UaFパートで以前にリリースされたものと同じポインターを再利用することを目的としたヒープスプレー手法を使用しようとしています。
このトリックは、実際には同じメモリ領域にある場合でも、攻撃者を混乱させ、(JavaScriptの観点から)XNUMXつの異なるオブジェクトを操作する機能を与えるために使用される可能性があります。
GoogleはChromeアップデートをリリースしました これにより、Windows、macOS、およびLinuxの欠陥が修正され、ユーザーはChromeバージョン78.0.3904.87に更新することをお勧めします。