TerminalFixと名付けられた高度なClickFix亜種のキャンペーンが確認されました。偽のCloudflare CAPTCHAプロンプトを使ってユーザーを騙し、攻撃者が制御するPowerShellコマンドを実行させる手口です。
このキャンペーンは従来型の情報窃取マルウェアを配布するのではなく、永続的なアクセス基盤を構築したうえで、感染したWindowsエンドポイントを内部ネットワークリソースへの到達経路となるプロキシに変える、リバーストンネル型インプラントを展開します。
侵入は、Cloudflare Turnstile風の「あなたが人間であることを確認してください」という説得力のあるオーバーレイを表示する、侵害済みのWebサイトから始まります。
訪問者が偽のCAPTCHAを操作すると、サイトは悪意のあるコマンドをひそかにクリップボードにコピーし、Windows TerminalやPowerShellを開いて貼り付けるよう被害者に指示します。
この点が、従来のClickFixの挙動から決定的に変化した部分です。従来は通常、Windowsの「ファイル名を指定して実行」ダイアログを開かせる手口でした。被害者を端末(ターミナル)に誘導することで、長大あるいは複数行にわたるスクリプトが正常に実行される可能性が高まります。
貼り付けられたPowerShellコマンドは、色分けされた安心感を与えるステータスメッセージを表示しながら、Cloudflareの検証プロセスを装います。
その裏側では、ZIPアーカイブをダウンロードし、C:\ProgramData配下の隠しディレクトリに展開したうえで、バッチファイルを起動します。
このアーカイブには、正規の署名付きWindowsバイナリであるLockScreenContentServer.exeと、悪意のあるDLLであるdui70.dllが含まれています。
攻撃者は、このバイナリがdui70.dllに依存している点を悪用し、DLLサイドローディングを実行します。これはMITRE ATT&CKの技術T1574.001に該当します。
Windowsは、DLLの依存関係を解決する際にSystem32よりも先にアプリケーションディレクトリを検索するため、正規の実行ファイルの隣に配置された悪意のあるDLLが先に読み込まれてしまいます。
結果として、Microsoft関連の署名付きプロセス内で実行が行われることになり、攻撃は信頼された動作に紛れ込みやすくなります。実行ファイルの評判に主に依拠する対策では、検知を回避される可能性もあります。
サイドローディングされたDLLは、難読化されたリソースをメモリ内で取得・復号し、次の段階、すなわちPNGファイルを通じたペイロード配信を開始します。
1枚の画像には実行ファイルが埋め込まれており、残る2枚の画像にはDLLの断片がそれぞれ格納されていて、ローカル側で再構成される仕組みです。
画像ステガノグラフィを使うことで、通信経路上ではペイロードが通常の実行ファイルダウンロードとして現れないため、検査を複雑にしています。
マルウェアは抽出後に元画像を削除し、フォレンジック証拠をさらに減らします。

TerminalFixは冗長な永続化機構も確立します。HKCUのRunキーとスケジュールタスクの両方を作成し、いずれもLockScreenContentServerに関連付けられた偽装名を使用します。タスクは60分ごとにペイロードを再起動するよう設定されています。
さらにマルウェアは、自身のディレクトリを隠しファイル・システム保護属性としてマークし、通常のファイル閲覧では発見されにくいようにしています。
マルウェア解析ツール
実行の確保に成功した後、このキャンペーンはActive Directoryとインフラに対する広範な偵察を行います。
TerminalFix、偽CAPTCHAを悪用
Microsoft Threat Intelligenceの調査によれば、TerminalFixは攻撃者が制御するインフラから3枚の画像をダウンロードし、そのピクセルチャンネルから隠されたバイナリデータを抽出します。

Microsoftは、ドメイン信頼関係の探索、ドメイン管理者の列挙、ユーザーおよびコンピューターの検索、Active Directoryユーザーの説明フィールドの収集、システムメタデータの収集、そしてドメインコントローラー、データベース、バックアップサーバー、メールシステム、ゲートウェイになりそうな対象への標的型pingスイープを観測しました。
この活動から、攻撃者が感染エンドポイントを、価値の高い企業資産へと至る有用な経路として利用できるかどうかを見極めていることがうかがえます。
ローカルのファイル監視機構は、非同期のコマンドチャネルとして機能します。このインプラントはテキストファイルを監視し、新たに書き込まれた内容をInvoke-Expressionで実行して、結果を別の出力ファイルに保存します。
さらに重要な点として、TerminalFixは組み込み可能なPython実行環境を展開し、pythonw.exe経由でカスタムのclient.pyリバーストンネル型インプラントを起動します。これによりユーザーからは実行の様子が隠されたままとなります。
このインプラントはgitnow[.]devに対しポート443でTLS接続し、セッションをWebSocketにアップグレードしたうえで、SOCKS5に似た仕組みを通じて任意のTCP接続を中継します。
IPv4、IPv6、ホスト名ベースの接続をサポートすることで、攻撃者は侵害されたデバイスから見えるシステムにアクセスできるようになります。

Microsoftによれば、証明書検証は無効化されており、このトンネルは単一の暗号化されたWebSocketセッション上で複数の接続を多重化できるとのことです。
TerminalFixが特に危険なのは、ユーザー主導のソーシャルエンジニアリング事象を、ネットワークレベルでのアクセスへと転化させてしまう点です。
Microsoftは、今回分析した攻撃の流れの中で、後続のランサムウェア展開、認証情報の窃取、あるいは横展開は確認していないとしています。
とはいえ、組織は影響を受けた端末を潜在的な足がかりとみなし、露出した認証情報、永続化の痕跡、リモートアクセス活動、内部サービスへの不審な接続がないか調査すべきです。
防御担当者は、通常の場所であるC:\Windows\SystemApps以外、特にProgramDataからLockScreenContentServer.exeが予期せず実行されていないかを調査すべきです。
そのほか注目すべき痕跡としては、同じ場所に配置されたdui70.dll、C:\ProgramData配下の隠しディレクトリ、ロック画面コンポーネントを装ったスケジュールタスクやRunキー、そして不審なスクリプトを起動するpythonw.exeなどが挙げられます。
セキュリティチームはまた、評判の低いドメインからアーカイブや画像をダウンロードするPowerShell、実行ファイル作成が後続する画像処理活動、ファイル監視ループ内で使われるInvoke-Expression、そしてgitnow[.]devに関連する外向きのTLS/WebSocket通信についても調査すべきです。
PowerShellスクリプトブロックログ、アプリケーション制御、ネットワーク保護、攻撃対象領域削減ルールを有効化することで、可視性を高め、露出を減らすことができます。
さらにMicrosoftは、不要なPowerShellの使用を制限すること、正規のCAPTCHAページが端末へのコマンド貼り付けを要求することは決してないと従業員に周知すること、そして複数行のテキストが貼り付けられた際にWindows Terminalが警告を表示するよう設定することを推奨しています。
IOC
| 指標 | 説明 |
| 18c2090e8a0ae0568af9b87e59eaf8270f23d2909600ed9db91a9444fd8b278f | 初期ZIPアーカイブ(verify_pkg.zip) |
| b8d107800403b9197e5b7609ceacd8e4cac1b0f9a1d156e6dacd6c3f7794b36a | カスタムトンネルインプラント(client.py) |
| ba77feed86bcda49308746421bdc684a432dd5d68c363975b2a3c6831bda3f07 | 悪意のあるDLL(dui70.dll) |
| 026478003fe354134c03acf6890e7d3b153ba08a836eca42350db48f213872ab | 悪意のあるDLL(dui70.dll) |
| 032b529fac61e550f5dc9489686f519b82d64625fa05a8d9ecf8ba8be9b2ad22 | 悪意のあるDLL(dui70.dll) |
注: IPアドレスおよびドメインは、意図しない名前解決やハイパーリンク化を防ぐため、意図的にディフェング処理(例: [.])を施しています。リファング(無害化解除)は、MISP、VirusTotal、あるいはお使いのSIEMなど、管理された脅威インテリジェンスプラットフォーム内でのみ行ってください。
★ 削減すべきセキュリティツールはどれか?1ページで採点する方法 – 継承セキュリティスタックガイドをダウンロード
データ漏えい防止
翻訳元: https://gbhackers.com/terminalfix-uses-fake-captcha/