Brevoでサプライチェーン攻撃、顧客サイトにClickFixスクリプトを注入

Brevoは、攻撃者がCloudflareのAPIキーを盗み出し、それを使って自社サイトおよび顧客サイトに埋め込まれたJavaScriptファイルに悪意のあるClickFixスクリプトを注入し、マルウェアを拡散させていたことを確認したと発表しました。

この顧客関係管理・デジタルマーケティング企業によると、攻撃者はそのAPIキーを使って悪意のあるCloudflare Workerを作成し、9月14日の約5時間半にわたってCDNエッジ上のコンテンツを改ざんしていたということです。

今回の攻撃の影響を受けたのは、brevo.com、sendinblue.com、login/account/my/onboarding.brevo.com、sibforms.comのページです。またこのCloudflare Workerは、顧客が自社のウェブサイトに埋め込んでいるBrevoフォームスクリプト、Brevo Conversationsウィジェット、Brevo SDKローダースクリプトも改ざんしていました。

Brevoは本日公開した事後検証レポートの中で、攻撃者はアプリケーションのソースコードにハードコーディングされていた、アカウントの全権限を持つ長期有効なCloudflare APIキーを入手していたと説明しています。これにより攻撃者は、アラートを発生させることなくBrevoの各ゾーンにわたってCloudflare Worker、ルート、DNSレコードを作成できたとしています。

「このWorkerはエッジでレスポンスを書き換え、Content-Security-Policyなどのセキュリティヘッダーを削除していたため、当社のオリジンサーバーやファイル自体は変更されず、通常の完全性チェックでは変更を検知できませんでした」とBrevoは説明しています。

同社によると、このAPIキーは8月下旬という早い段階で漏洩していた可能性があるとのことですが、それ以前に悪用された形跡はないとしています。

侵害を検知した後、Brevoは当該Workerとそのルートを削除しました。侵害が発生していた時間帯は協定世界時(UTC)の16:07から20:30の間としています。

その後数時間のうちに、同社は侵害されたキーおよびそのキーで作成された認証情報を無効化し、ソースコードからハードコーディングされていた認証情報を削除、攻撃者が管理するホスト名を削除し、エッジキャッシュをパージしました。

Brevoによると、app.brevo.com、同社のAPI、メール配信インフラ、顧客のアカウントデータには影響がなかったとのことです。

ClickFix攻撃に悪用

この事件は、セキュリティ企業Sansecが最初に報告したもので、同社は影響を受けたBrevoのコンポーネントを利用しているウェブサイトのうち、最大で10万件が影響を受けた可能性があるとしています。

Sansecによると、今回の事件は2026年9月14日のUTC16:05から20:13の間に始まったとのことですが、その後の確認で、9月15日には悪意のあるすべてのサブドメインが名前解決されなくなり、Brevoのファイルも現在はクリーンな状態になっていることが確認されています。

これらのウェブサイトの訪問者には、偽のCloudflare検証ページが表示され、続いてWindows上でコマンドを実行するよう促すClickFixの指示が表示されました。

影響を受けたBrevoウィジェットを埋め込んでいるWordPressサイトでは、このスクリプトは訪問者が管理者としてログインしているかどうかも確認し、https://cdn10.sendibt1[.]com/p/wm.zipから悪意のあるプラグインをアップロードしようと試みていました。

SanSecはこのアーカイブファイルを入手できなかったとしていますが、BleepingComputerはVirusTotal上でこのファイルがアップロードされているのを発見しており、これが「Web Media Optimizer」という名前のWordPressプラグインを装いながら、実際には永続的なバックドアおよびJavaScriptローダーとして動作するものであることを確認しています。

BleepingComputerが確認した、この悪意のあるWordPressプラグインとスクリプトを配布しているその他のドメインには、https://yelahaye[.]surfおよびhttps://boiseno[.]clubがあります。

インストールされると、このプラグインはWordPressのプラグイン一覧から自身を隠し、永続化のためにmust-useプラグインディレクトリへ自身をコピーした上で、攻撃者が管理する「https://glegchner.com/ads.php」サーバーに定期的に接続します。

Image

このURLは現在、Base64エンコードされたURLを返しており、このプラグインはそれをデコードしたJavaScriptを訪問者のページに注入します。現時点でBase64エンコードされたURLをデコードするとhttps://corralos[.]beer/a412dkoq.jsとなり、このサイトはこれを注入してClickFixの誘導文言を表示させます。

また、このプラグインは最後に有効だったJavaScriptのURLのバックアップコピーを保存しており、リモートサーバーが利用不可能になった場合でも悪意のあるコードの読み込みを継続できるようになっています。

さらに、このプラグインにはハードコーディングされた認証キーが含まれており、これにより攻撃者はアカウントのパスワードを知らなくても、WordPress管理者アカウントの有効なログインセッションを生成できてしまいます。

9月10日、Brevoは別のSSO関連インシデントも公表しており、こちらでは攻撃者が顧客アカウントを乗っ取り、Brevoを利用している企業の顧客を標的としたフィッシング攻撃を仕掛けていたとのことです。

この件で著名な被害者の一つが、暗号資産ウォレットベンダーのTrezorです。同社は9月11日、フィッシング攻撃が347,000件のユーザーのメールアドレスに到達し、少なくとも2,500件のアカウントを侵害することに成功したと報告しています。

BleepingComputerは、このSSOインシデントと今回のCloudflare侵害に関連性があるかどうかについてBrevoに質問しましたが、同社からの回答は得られていません。

9月14日に影響を受けたサイトにログイン状態でアクセスしたWordPress管理者は、その日にインストールまたは有効化された不審なプラグインがないか確認し、見つかった場合は削除するべきです。また、見つかった場合は管理者パスワードのローテーションも行う必要があります。

翻訳元: https://www.bleepingcomputer.com/news/security/brevo-supply-chain-attack-injected-clickfix-scripts-on-customer-sites/

本記事は bleepingcomputer.com の記事を翻訳・要約したものです。