SOC Prime Bias: High

01 Sep 2026 16:33 UTC

TerminalFixキャンペーン:永続的アクセスのためのリバーストンネルを構築

Author Photo
SOC Prime Team linkedin icon フォローする
TerminalFixキャンペーン:永続的アクセスのためのリバーストンネルを構築
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

概要

TerminalFixキャンペーンは、偽のCloudflare CAPTCHAオーバーレイを使用してユーザーを社会工学的に操り、悪意のあるPowerShellコマンドを実行させるClickFixの変種です。この攻撃チェーンは、DLLサイドローディング、PNG画像からのステガノグラフィ的なペイロード抽出、そして広範なActive Directory偵察を組み合わせています。最終的に、このキャンペーンは攻撃者に持続的なネットワークレベルのプロキシアクセスを与えるカスタムPythonベースのリバーストンネルインプラントを展開します。

調査

Microsoft Threat Intelligenceは、正当な署名済み LockScreenContentServer.exe バイナリを悪用したマルチステージ攻撃チェーンを分析しました。調査により、PNGピクセル内に隠された悪意のあるペイロードの隠蔽方法と、PythonランタイムがWebSocketベースのリバーストンネルを確立する方法が明らかになりました。研究者たちはまた、コマンド・アンド・コントロールインフラストラクチャと内部ネットワークをマップするために使用される偵察技術を特定しました。

緩和策

組織はAppLockerまたはグループポリシーを通じてPowerShellの実行を制限し、 LockScreenContentServer.exe 異常または非標準の場所から実行されることを監視するべきです。攻撃面削減(ASR)ルールは難読化されたスクリプトや認可されていない実行可能ファイルの起動をブロックするのに役立ちます。偽のCAPTCHAプロンプトを認識することを目的としたユーザーの意識向上トレーニングも重要な予防手段です。

対応策

TerminalFix活動が検出された場合、影響を受けたデバイスは潜在的なネットワークピボットポイントとして扱われ、横方向移動のために調査されるべきです。特に侵害されたシステムからアクセス可能なドメイン管理者アカウントのために、資格情報の回転を優先するべきです。セキュリティチームはまた、認可されていないPythonランタイムおよび疑わしい外向きWebSocket接続のためのフォレンジック分析を行うべきです。

攻撃フロー

この部分はまだ更新中です。

検出

可能な持続性のポイント [ASEPs – Software/NTUSER Hive] (via registry_event)

SOCプライムチーム
2026年8月31日

コマンドラインにおける可能なClickFix攻撃パターン (via cmdline)

SOCプライムチーム
2026年8月31日

疑わしいフォルダからのPython実行 (via cmdline)

SOCプライムチーム
2026年8月31日

Powershellのコマンドラインからの疑わしい.NETクラス/メソッド呼び出し (via process_creation)

SOCプライムチーム
2026年8月31日

可能なシステム列挙 (via cmdline)

SOCプライムチーム
2026年8月31日

可能なリモートシステムの発見または接続チェック (via cmdline)

SOCプライムチーム
2026年8月31日

疑わしいドメイン信頼の発見 (via cmdline)

SOCプライムチーム
2026年8月31日

ファイルを隠すためのAttrib実行 (via cmdline)

SOCプライムチーム
2026年8月31日

可能なPythonインタープリタの直接ダウンロード (via cmdline)

SOCプライムチーム
2026年8月31日

PowerShellを使用して疑わしいディレクトリに抽出されたアーカイブ (via powershell)

SOCプライムチーム
2026年8月31日

検出するためのIOCs (HashSha256): TerminalFixキャンペーンはマルチステージの侵入を通じてリバーストンネルを展開する

SOCプライムAIルール
2026年8月31日

gitnow.devへの外向きTLS WebSocketトンネル [Windowsネットワーク接続]

SOCプライムAIルール
2026年8月31日

TerminalFixリバーストンネルとDLLサイドローディング検出 [Windowsプロセス作成]

SOCプライムAIルール
2026年8月31日

TerminalFixキャンペーンにおけるDLLサイドローディングとステガノグラフィ的ペイロード抽出 [Windowsイメージロード]

SOCプライムAIルール
2026年8月31日

TerminalFixキャンペーンPowerShell実行とコマンドループ [Windows PowerShell]

SOCプライムAIルール
2026年8月31日

シミュレーション実行

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

根拠: このセクションでは、検出ルールをトリガーするために設計された敵対者技術 (TTP) の正確な実行を詳述しています。コマンドと記述は、特定されたTTPを直接反映し、検出ロジックが期待する正確なテレメトリーを生成することを目的としています。抽象的または無関係な例は誤診につながります。

  • 攻撃の説明 & コマンド: 敵対者は持続的なリバーストンネルを確立しようとしています。システムプロセスと溶け込むために、最初に見た目が正当なバイナリをドロップし、 LockScreenContentServer.exeディレクトリに入れます。その後、DLLサイドローディングを利用して悪意のあるコードを実行します。これに続いて、Pythonベースのトンネルを開始し、 pythonw.exe (コンソールウィンドウが見えないようにするため) を使用し、 client.pyというスクリプトを実行します。このシーケンスは、WebSocketトンネリングを介して標準のファイアウォール制限を回避するネットワークレベルのバックドアを作成するように設計されています。

  • 回帰テストスクリプト:

    # シミュレーションスクリプト: TerminalFixリバーストンネルエミュレーション
    # 1. 環境設定
    $targetDir = "C:UsersPublicDownloadsSystemFiles"
    New-Item -Path $targetDir -ItemType Directory -Force
    
    # 2. ダミーの 'LockScreenContentServer.exe' の作成 (サイドロードされたバイナリのシミュレーション)
    # 実際の攻撃では、これは実際のPEファイルになります。
    $dummyExe = Join-Path $targetDir "LockScreenContentServer.exe"
    New-Item -Path $dummyExe -ItemType File -Force
    
    # 3. ダミーのPythonスクリプト 'client.py' の作成
    $pythonScript = Join-Path $targetDir "client.py"
    "print('トンネルを確立中...')" | Out-File -FilePath $pythonScript -Encoding ascii
    
    # 4. '悪意のある' プロセスを実行して検出ロジックをトリガー
    # トリガーパートA: LockScreenContentServer.exe
    Start-Process -FilePath $dummyExe -WindowStyle Hidden
    
    # トリガーパートB: コマンドラインのclient.pyでpythonw.exeを使用
    # 注: ルールで期待されるように、pythonw.exeのフルパスを使用
    $pythonwPath = "C:WindowsSystem32pythonw.exe" 
    # pythonwがSystem32にない場合、検索します
    if (-not (Test-Path $pythonwPath)) {
        $pythonwPath = (Get-Command pythonw.exe).Source
    }
    
    Start-Process -FilePath $pythonwPath -ArgumentList $pythonScript -WindowStyle Hidden
  • クリーンアップコマンド:

    # クリーンアップスクリプト
    $targetDir = "C:UsersPublicDownloadsSystemFiles"
    if (Test-Path $targetDir) {
        Remove-Item -Path $targetDir -Recurse -Force
    }