ドメインをブロックしても動き続ける悪意あるスクリプト、Magentoストアに仕込まれる

ハッカーが、Webサイトのコンテンツ内に悪意あるJavaScriptを隠すキャンペーンで、オンラインストア953店を侵害しました。大半はMagentoで運営されていました。

最新のローダーは、配信元ドメインがブロックされたりオフラインになったりしても、以前に保存したコードを実行できます。このキャンペーンは2025年7月から続いています。

最も新しいドメイン「deepveindrilling.com」は、83店のコンテンツ管理システムのブロック内で確認されました。このドメインは2026年10月6日に登録され、翌日の夜には侵害されたWebサイトで読み込みが始まっています。

83店のうち60店は、同じ攻撃者による以前のローダーもすでに仕込まれていました。ドメインが変わっても、攻撃者がアクセス権を維持していたことがわかります。

この攻撃の持続性は、ブラウザのlocalStorageに依存しています。コードはキーfpCodeで保存されます。挿入されたスクリプトはこの値を読み出し、非表示要素のonclick属性に設定したうえで、クリックを発生させます。

これにより、保存されたコードはeval()を呼び出さずにイベントハンドラーとして実行されます。訪問者がいったんペイロードを受け取ると、以降のページ閲覧では、元の配信元ドメインに接続しなくても再び実行される可能性があります。

ただし、この方法は、感染したストアが保存値を読み出すスクリプトを配信し続けていることが前提です。そのスクリプトを除去すればこの実行経路は止まりますが、ドメインをブロックするだけでは止まりません。

攻撃者は10月23日、別のローダーを投入しました。このローダーは、追加の指示を要求する前にブラウザのフィンガープリントを収集します。自動解析の兆候を探るため、navigator.webdriver、Selenium関連の変数、ChromeDriverのプロパティを確認します。

さらに、グラフィックスハードウェアの詳細、プロセッサのコア数、メモリ、画面サイズ、タイムゾーン、言語、ブラウザのクライアントヒントも収集します。

サーバーはこれらのシグナルをもとに応答を切り替えます。urlscan.ioを使った自動化されたChromeによるアクセスでは、HTTP 200が返りましたが、ページコンテンツは追加されませんでした。

Sansecは調査結果を公表した時点で、最新の最終ペイロードを入手できていません。そのため、この段階の正確な挙動は確認されていません。以前のバージョンでは、商用のトラフィック振り分けプラットフォーム「Keitaro」を使い、スクリプトやリダイレクトを選択的に配信していました。

過去の監視では、暗号資産関連のドメインを読み込むスクリプトが記録されています。その中には、Ledgerウォレットのブランド名のスペルを誤った「leqdger.click」も含まれます。一方、10月のローダーはボットの判別を自前で処理します。

Sansecは、以前の感染をファイルアップロードの脆弱性と関連付けています。対象には、CVE-2026-48356として追跡されている「PolyShell」と、CVE-2025-54236として追跡されている「SessionReaper」が含まれます。

3月の攻撃では、PolyShell経由でWebシェルをアップロードしたあと、1時間以内に471店へローダーを注入しました。パッチを適用しても、更新前に確立されたアクセスは排除できません。

パッチをすべて適用した状態のMagento 2.4.7-p10のストアでも、最新のローダーが仕込まれていました。Sansecによると、このストアでは以前、不正な管理者アカウントとGSocketバックドアが検出されていました。

注: IPアドレスとドメインは、誤って名前解決されたりハイパーリンク化されたりするのを防ぐため、意図的に無害化([.]など)しています。無害化の解除は、MISP、VirusTotal、SIEMなど、管理された脅威インテリジェンス基盤の中でのみ行ってください。

1万6,000以上のSOCチームがANY.RUNを活用し、脅威調査の効率化と手作業の削減を実現しています。自社チームで試す

翻訳元: https://cyberpress.org/magento-malware-outlasts-blocks/

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