ClickFix 系 RAT を「共通の挙動」で検知する(カスタム GPT 起点)
悪用アプリ名が変わっても、PowerShell→msiexec(%TEMP% の GUID 名 MSI)、LocalAppData 配下の署名付きアプリ起動、同名の Run キー+スケジュールタスク再作成の3点が現時点の共通シグナル。
何を解決するか / いつ使うか
- ChatGPT のカスタム GPT などを起点に、利用者に「修正手順」をコピー実行させる ClickFix 手口で RAT が配られる事案への検知設計。
- IoC(ハッシュ・ファイル名)がすぐ陳腐化する一方で、プロセス挙動は共通しやすいとき。
- EDR / SIEM の振る舞いルールと、DNS ログだけに頼らない監視を足したいとき。
検知・監視の具体ポイント
- プロセス連鎖(最優先)
- PowerShell が
msiexecを起動し、%TEMP%内の GUID を含むファイル名の MSI をインストールする。 - その
msiexecが%LOCALAPPDATA%/Programs/配下の、製品名を装ったフォルダーから 正規の署名付きアプリ を起動する。
- PowerShell が
- 永続化の対
HKCU\...\Runへの登録とスケジュールタスクが 同じ名前。- マルウェア稼働中は削除しても再作成される。Defender が MSI を隔離した時点でインストーラーが既に走っており、Run/タスクで攻撃が続いた事例あり。
- ネットワークのすり抜けに注意
- 配布サーバー IP を 10 進整数1つで書く(例: ドット区切りを整数化した表記)。Windows は解釈するが、ドット区切り前提の URL フィルターでは落ちない。
- C2 の名前解決を DNS-over-HTTPS(Cloudflare / Google / Quad9 等)経由にすると、組織内の通常 DNS ログに残らない。HTTPS 出口の監視や DoH ポリシーもセットで見る。
- ハッシュ IoC の限界
- メモリ上の2段目スクリプトがリクエストごとに難読化し直される版では、そのハッシュは使えない。
- ダウンロード MSI から Mark of the Web(MOTW)を剥がし SmartScreen を回避する手法も報告されている。
- 署名付きアプリの扱い
- 悪用例として COTFileReadApp.exe(キヤノン製)や DeElevate64.exe(Stardock 製)などが挙がっているが、IoC 一覧では 一律ブロックしない注記がある。パス・親子プロセス・永続化とセットで判定する。
注意点
- アプリ名や永続化名は差し替わる前提。ルールは「3つの共通挙動」を軸にし、個別 exe 名に依存しすぎない。
- 正規の署名付きバイナリ悪用(DLL サイドロードや LOLBins に近い)なので、署名=安全の前提を捨てる。
- 詳細な IoC・フローは Huntress の一次記事を参照する(投稿は要約)。