今回の被害は、Brevoが9月10日に公表した「6件の顧客アカウントが侵害された」という発表よりも大規模だったとみられています。その4日後、9月14日の16:05から20:13(UTC)にかけて、Brevo関連ドメインから悪意あるコードが配信されていたと報告されています。
SEOキーフレーズの類義語には、Brevo CDN JavaScriptインジェクション、Brevo DNS悪用攻撃、悪意あるウェブサイトスクリプトインジェクション、CDNサプライチェーン攻撃、顧客ウェブサイト侵害、サードパーティJavaScript攻撃などが含まれます。
Sansecは、正規のBrevoメールトラッキングドメインであるsendibt1.com配下の攻撃者制御下のサブドメインからマルウェアを読み込む、注入されたスクリプトを発見しました。
改ざんされたスクリプトは、cdn2.sendibt1.com、cdn4.sendibt1.com、cdn11.sendibt1.comといったドメインからf.jsを読み込むコードを末尾に追加していました。
このマルウェアは2種類の攻撃経路を使用していました。訪問者がWordPress管理者としてログインしていることを検知した場合、被害者の既存の管理者セッションを通じてWordPressプラグインをインストールしようと試みます。
プラグインのアーカイブはcdn10.sendibt1.com/p/wm.zipにホストされていました。研究者はこのプラグイン自体を回収できなかったものの、バックドアとして機能していた可能性があります。
それ以外の訪問者には、ClickFix型のオーバーレイが表示されました。この偽のプロンプトは、ユーザーに対し「人間であることを証明する」名目でコマンドをコピーして実行するよう求めるものです。この種の詐欺は、被害者に自分自身のコンピューター上で悪意あるコマンドを手動実行させるものです。
このマルウェアはボットや自動スキャナー、開発者、クローラーを回避するよう設計されており、検知を困難にしていたと報告されています。
研究者によれば、今回のキャンペーンにはBrevoのCloudflareアカウントへの不正アクセスが関与していた可能性があります。悪意あるローダーのサブドメインはsendibt1.com配下に作成されていましたが、Brevoの主要ドメインはCloudflareのDNSを使用しています。
Sansecはまた、侵害されたJavaScriptファイルが事件発生前・発生中・発生後を通じて同一のLast-Modifiedタイムスタンプを保持していたことも指摘しています。これは、攻撃者がソースファイルを直接変更するのではなく、レスポンスを動的に改変していたことを示唆している可能性があります。
Cloudflare WorkersやSnippetsはウェブコンテンツを動的に改変できる機能ですが、BrevoはCloudflareアカウントの侵害について公式には確認していません。
Brevoは悪意あるコンテンツを削除し、確認されたcdn*.sendibt1.comのホストは9月15日に名前解決できなくなりました。
ただし、該当期間中にBrevoのトラッカー、チャットウィジェット、ホスト型フォームを使用していた組織は、侵害の有無を調査する必要があります。
WordPress管理者は、9月14日に/wp-admin/update.php?action=upload-pluginおよび/wp-admin/plugins.php?action=activateへの不審なリクエストがないか、アクセスログを確認する必要があります。
また、インストール済みプラグインのディレクトリに予期しないファイルや、WordPress管理パネルから隠されたプラグインがないかも点検すべきです。
Sansecによれば、ウェブサイト運営者はアペックスドメインであるsendibt1.com自体のブロックは避けるべきだとしています。このドメインは正規のBrevoメールトラッキングに使用されており、ブロックするとキャンペーン分析に支障が出る可能性があるためです、とSansecは述べています。
注: IPアドレスおよびドメインは、意図しない名前解決やハイパーリンク化を防ぐため、意図的に無害化表記(例: [.])にしています。再有効化は、MISP、VirusTotal、SIEMなど管理された脅威インテリジェンスプラットフォーム内でのみ行ってください。
16,000以上のSOCチームがANY.RUNを利用し、脅威調査の効率化と手作業の削減を実現しています。貴チーム向けに詳しく見る
翻訳元: https://cyberpress.org/brevo-cdn-javascript-injection/