Facebook広告の武器化:暗号資産ブランドを悪用する多段階マルウェア・キャンペーンの内幕

執拗なマルバタイジング(悪意ある広告)キャンペーンがFacebookを悩ませており、著名な暗号資産取引所の評判を利用して被害者をマルウェアの迷路へと誘い込みます。Bitdefender Labsが調査を開始して以来、この進化する脅威は、正規の暗号資産プラットフォームやインフルエンサーを装いながら、巧妙に偽装したフロントエンドのスクリプトとカスタムペイロードをユーザー端末に展開することで、深刻なリスクをもたらしてきました。

本レポートでは、攻撃者が高度な回避戦術、大規模なブランドなりすまし、洗練されたユーザートラッキング手法を用いて従来の防御をすり抜け、膨大な被害者プールを維持している実態を明らかにします。

主な調査結果

継続中の攻撃
このマルバタイジング・キャンペーンは数か月にわたり稼働しており、新しい広告を継続的に生成しています。暗号資産ブランドに結び付いたイメージと信頼を大きく利用しており、定期的に新規広告が出現するなど、現在も活動を続けています。

フロントエンドとバックエンドの連携
マルウェアは、悪意あるWebサイトのフロントエンドとローカルホスト間の秘匿通信によって配布されます。この手法は多くのセキュリティベンダーの検知を回避します。一見無害な仲介役を通じてマルウェア展開をオーケストレーションすることで、攻撃者はステルス性を維持します。

大規模なブランドなりすまし
Bitdefender Labsの研究者は、BinanceやTradingViewを含む、信頼される暗号資産取引所やトレーディング・プラットフォームになりすました広告を数百件特定しました。著名ブランドを模倣することで、被害者が悪意ある広告をクリックする確率を大幅に高めています。

高度な追跡と回避
脅威アクターは高度なアンチサンドボックス検査を用い、特定の属性や行動プロファイルに合致するユーザーにのみマルウェアを配布します。Facebook広告に関連するクエリパラメータを用いて正規の被害者を判別し、疑わしい環境や自動解析環境には無害なコンテンツを返します。

キャンペーンとマルウェア配布

サイバー犯罪者はMetaの広告ネットワークを利用して、短期間での金銭的利益や暗号資産ボーナスをうたい、一部の広告では、イーロン・マスク、ゼンデイヤ、クリスティアーノ・ロナウド(BinanceがNFTコレクションのリリースで提携)といった著名人の画像を用いて信頼性を高めようとしています。

これらの広告のいずれかをクリックすると、既知の暗号資産プラットフォーム(Binance、Tradingview、ByBit、SolFlare、MetaMask、Gate.io、MEXCなど)になりすましたサイトへリダイレクトされ、「デスクトップクライアント」をダウンロードするよう指示されます。

しかし、サイトが不審な条件(例:広告トラッキング・パラメータの欠落、または自動化されたセキュリティ解析に典型的な環境)を検知すると、代わりに無害で無関係なコンテンツを表示します。

Bitdefender Labsの研究者Ionut Baltariuが、このキャンペーンで脅威アクターが用いている追跡およびフィルタリング手法について気付いた点は次のとおりです:

  • ユーザーはルートWebサイトを読み込めない
  • Facebook広告の特定のクエリパラメータなしでWebサイトを読み込んだユーザーには、悪意あるコンテンツは表示されない(例:utm_campaignutm_contentfbidcid
  • ユーザーがFacebookにログインしていない場合、またはIPアドレスやOSが攻撃者の関心に合致しない場合、Webサイトは悪意あるコンテンツを表示しない。代わりに無関係なコンテンツが提供される。被害者が脅威アクターの求める行動プロファイル(例:男性、テクノロジーや暗号資産への関心)に合致しない場合も同様のことが起こり得る。
A screenshot of a computer
AI-generated content may be incorrect.

より新しい亜種ではさらに一歩進み、Microsoft Edgeでサイトを開くようユーザーに促します。別のブラウザで開くとランダムな非悪性コンテンツに誘導され、検知の試みをいっそう困難にします。

A blue rectangular sign with white text
AI-generated content may be incorrect.

特に欺瞞的な例として、TradingViewの公式Facebookページを鏡写しにしたFacebookクローンがあります。プロフィール写真から投稿、無料の「Annual Ultimate Subscription(年間アルティメットサブスクリプション)」をうたうコメントに至るまで、中央のボタンが被害者を本物のFacebookサイトへリダイレクトする点を除き、すべてが捏造されています。

キャンペーンの規模

研究者は、マルウェア配布ページを宣伝するFacebookアカウントを数百件発見しており、いずれも金銭的メリットを押し出しています。注目すべき例として、単一のページが1日(2025年4月9日)で100件超の広告を配信していました。多くの広告は迅速に削除される一方、削除までに数千回の閲覧を集めるものもあります。影響を最大化するため、ターゲティングは頻繁に微調整されており、たとえばブルガリアとスロバキアの18歳以上の男性に焦点を当てる、といった具合です。

この例では、18歳以上の男性を特に狙い、ブルガリアとスロバキアで成果を上げた広告が確認できます。

マルウェアの仕組み

解析したすべてのマルウェアサンプルは `installer.msi` という名前で、サイズは約800KBでした。インストール後、悪意あるソフトウェアはmsedge_proxy.exeを介して、なりすました対象のページを開きます。被害者には不審なDLLファイルも配布され、これがポート30308(新しいバージョンでは30303)でローカルの.NETベースのサーバーを起動します。

このサーバーは、リモートでのペイロード実行と、WMIクエリによるカスタマイズされたデータ流出を可能にする2つのルートを提供します:

  • /set(新しいバージョンでは /s)
  • /query(新しいバージョンでは /q)

/set ルートはリクエストボディ経由でXML形式のペイロードを受け取り、タスクスケジューラを通じて実行できます。一方 /query ルートはカスタムWMIクエリの実行を可能にし、マシンIDおよびWMIクエリ応答を流出させます。

興味深いことに、 このサンプルは、このシンプルなAPIを利用し得る他のプロセスを起動していないように見えます。結局のところ、もしそうしたかったのであれば、データはすでに流出させられていたはずです。ここで、フロントエンド(悪意あるページ)側の興味深いスクリプトが効いてきます。

Webサイトが読み込まれた後に行われるリクエストを注意深く分析しても、不審点は見当たらないかもしれません。しかし、読み込まれたリソースを調査すると、悪意あるスクリプトが見つかります:

難読化を解除すると、このスクリプトはSharedWorkerを作成し、孤立したlocalhost:30308サーバーの謎を解き明かします。

A screen shot of a computer code
AI-generated content may be incorrect.

SharedWorkerの内部では、3つのWMIクエリを含む /query ルートが確認できます:

A close-up of a computer screen
AI-generated content may be incorrect.

さらに、このスクリプトは一般的なコンソールコマンドの出力も抑制します:

A screen shot of a computer program
AI-generated content may be incorrect.

SharedWorkerは(postMessage関数を用いて)親スクリプトと通信し、localhostサーバーを使ってマルウェア展開を完全にオーケストレーションします。さらに、初期の悪意あるファイルおよび将来のペイロードを取得する別のAPIも利用し、カスタムで、場合によっては継続的に進化するペイロードを保証します。

WMIクエリ結果を受け取った後、フロントエンドのスクリプトは /set ルートも使用して、実行用のタスクをスケジュールすることを選択できます。解析したケースサンプルでは、/set コマンドが使用され、複数のエンコードされたPowerShellスクリプトが追加で実行されました。このエンコードされたコマンド連鎖は、次の構造を持つ2つの候補C&Cサーバーから別の悪意あるペイロードをダウンロードするスクリプトで締めくくられていました:

PowerShellスクリプトは不定期間にわたり、C2サーバー($APIs)から他のスクリプトを取得して実行し、リクエスト間には限られた時間だけスリープします。実行されるスクリプトの一例では、感染システムから、インストール済みソフトウェア、利用可能なGPU、HKEY_CURRENT_USER\Control Panel\International\Geo およびシステムから取得した地理的位置情報、ならびにシステム/OS/BIOS情報など、さらなるデータを流出させます(フロントエンドのスクリプトがWMIクエリで実施した第1段階の取り組みを二重化しています)。

流出した情報(C2は被害者の種類に応じてカスタムペイロードを展開する可能性があり、動的解析の試みについて推測が行われ得る)に応じて、悪意あるAPIは別の悪意あるスクリプトを返すことがあります。私たちが遭遇した例の一つは、Node.jsビルド、一連の実行ファイル、そして.jscファイルを追加でダウンロードするPowerShellです。流出データが自動化フローやサンドボックス環境に似ている場合、何百時間にもわたってスリープコマンドだけを実行する「悪意ある」ペイロードも観測しており、感染チェーンはその段階で終了する可能性が高いことを示しています。

結論

このキャンペーンは、フロントエンドの欺瞞とローカルホストベースのマルウェアサービスを融合させたハイブリッドな手法を示しています。被害者の環境に動的に適応し、ペイロードを継続的に更新することで、脅威アクターは強靭で高い回避性を持つオペレーションを維持しています。解析の過程では、Bitdefenderは悪意あるDLLとフロントエンドのスクリプトの両方を汎用シグネチャで検知できた数少ないセキュリティソリューションの一つでした。

複数層の難読化、サンドボックス検査、リアルタイムのペイロード進化により、このキャンペーンは研究者とセキュリティプロバイダーにとって高度な課題となっています。 解析を通じて、脅威のエンドツーエンド解析を妨げる複数の手法に直面し、それらを明らかにしました。悪意あるWebサイト側の対策(トラフィックメタデータに基づき非悪性コンテンツを表示)から、アンチサンドボックス動作(例:ループするPowerShellタスクが動的解析環境では最終ペイロードをダウンロードしない)に至るまで多岐にわたります。

Facebook広告のソーシャルエンジニアリングの可能性と暗号資産の熱狂が組み合わさることで、いわゆる「ありふれた」脅威であっても新たな複雑性のレベルに到達し得ることを浮き彫りにしています。

Bitdefenderの検知

  • Generic.MSIL.WMITask – 悪意あるDLL
  • Generic.JS.WMITask – Webサイト上の悪意あるJavaScriptファイル
  • Trojan.Agent.GOSL – 最終段階ペイロード内の悪意あるJavaScript

これらのシグネチャを早期に有効化したことで、世界中で数千件の感染試行をブロックし、Bitdefenderの顧客がこのキャンペーンの被害に遭うのを防ぎました。

最新の完全な侵害指標(IoC)一覧は、 Bitdefender Advanced Threat Intelligence ユーザー向けに こちらで提供されています。

ユーザーが安全を保つ方法

  1. 広告を精査する。無料ソフトウェアや信じがたい金銭的利益をうたう広告には注意してください。リンクをクリックしたりコンテンツをダウンロードしたりする前に、必ず発信元を確認しましょう。
  2. 公式ソースのみを利用する。ソフトウェアはベンダーのWebサイトから直接ダウンロードしてください。本キャンペーンの例では、TradingView、Binance、MetaMaskの公式ページなどが該当します。
  3. 詐欺対策およびリンク確認ツールを利用する
    Bitdefender ScamioBitdefender Link Checker は、クリックや共有の前にWebサイトの正当性を確認するのに役立ちます。これらのツールはURLをスキャンし、潜在的な詐欺や悪意あるコンテンツを警告することで、防御の追加レイヤーを提供します。
  4. セキュリティソフトを最新の状態に保つ
    進化する脅威を検知できる信頼性の高いセキュリティソリューションを選びましょう。定期的な更新により、最新の保護メカニズムを確実に利用できます。
  5. ブラウザの制限に注意する
    特定のブラウザの使用を強要するページや、不自然に作り込まれているのに他の機能が動作しないページは、直ちに閉じてください。
  6. 不審な広告を報告する
    Facebook上の疑わしい広告を通報し、このキャンペーンおよび将来のマルバタイジング・キャンペーンの妨害に協力しましょう。

翻訳元: https://www.bitdefender.com/en-us/blog/labs/weaponizing-facebook-ads-inside-the-multi-stage-malware-campaign-exploiting-cryptocurrency-brands

ソース: bitdefender.com