SOC Prime Bias: 高い

22 Jul 2026 07:09 UTC

DinDoor、DenoRAT、NightshadeC2で進化するTAG-150の工作内幕

Author Photo
SOC Prime Team linkedin icon フォローする
DinDoor、DenoRAT、NightshadeC2で進化するTAG-150の工作内幕
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

概要

TAG-150は、Denoベースのマルウェアを中心に高度なマルチステージの侵入チェーンを使用しています。このキャンペーンは、ClickFixスタイルのソーシャルエンジニアリングに依存してMSIインストーラーの実行をトリガーし、最終的にDinDoor、DenoRAT、そしてNightshadeC2を展開します。Denoランタイムを活用することで、攻撃者は高度なリモートアクセスと情報盗取能力を得ています。

調査

eSentireの脅威対応ユニットは、ある金融顧客の環境内でClickFixスタイルのコマンドを阻止しました。この調査により、AI生成のPowerShellステージを伴うWindows Runプロンプトコマンドから始まる感染シーケンスが明らかになりました。 Griffin20.ps1は、Denoランタイムをインストールするために用いられました。後のステージでは、DinDoor、DenoRAT、およびNightshadeC2 RATを配信するPythonベースのインメモリーローダーが関与しています。

軽減策

操作上可能であれば、グループポリシーオブジェクトを通じてWindows Runプロンプトを無効にすることを検討すべきです。また、ClickFixスタイルの誘導の成功を減少させるために、強力なフィッシングとセキュリティ意識向上のトレーニングプログラムを実施することを推奨します。次世代のアンチウイルスまたはエンドポイント検出および応答ソリューションを展開することは、可視性、検出、および封じ込めに不可欠です。

応答

この活動が検出された場合、影響を受けたホストは直ちに孤立させ、感染チェーンを封じ込めるべきです。組織は、迅速な封じ込めと完全な修復を支援するために、24時間365日の管理された検出および応答プロバイダーまたは同等のインシデント対応チームを確保すべきです。特定されたDenoベースのマルウェアコンポーネントの継続的な監視も推奨されます。

攻撃の流れ

シミュレーションの実行

前提条件: テレメトリー&ベースラインの事前チェックが通過している必要があります。

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

  • 攻撃の説明&コマンド: 攻撃者はWindowsホストに確実な足場を築き、DenoRATビーコンを起動しようとしています。従来のシグネチャベースのEDRを回避するために、マルウェアは”リビングオフザランド”ネットワークパターンを使用して、標準のHTTP/Sを介して通信します。マルウェアはC2サーバーと接触するために指定されたエンドポイントにGETリクエストを送信しようとします /user and /message-event。このシミュレーションは、これらの特定の文字列がウェブアクセスログに現れるとSOCの検出ロジックがトリガーされることを確認するために、ビーコン動作を模倣します。

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

     # DenoRAT C2 Beacon Simulation Script
      # このスクリプトはDenoRATが検出ルールをトリガーするために使用する特定のHTTP GETリクエストをシミュレートします。
    
      $C2_URL = "http://localhost" # ローカルテストウェブサーバーアドレスに置き換えます
      $Endpoints = @("/user", "/message-event")
    
      Write-Host "[+] DenoRAT C2シミュレーションを開始します..." -ForegroundColor Cyan
    
      foreach ($Endpoint in $Endpoints) {
          $Target = $C2_URL + $Endpoint
          Write-Host "[*] C2チェックインをシミュレートします: $Target" -ForegroundColor Yellow
          try {
              # GETリクエストの実行
              $Response = Invoke-WebRequest -Uri $Target -Method Get -ErrorAction SilentlyContinue
              Write-Host "[+] リクエスト送信済み。ステータスコード: $($Response.StatusCode)" -ForegroundColor Green
          }
          catch {
              # エンドポイントが実際に存在しない場合、404が予期されることがテレメトリのテストにおいては問題ありません
              Write-Host "[!] リクエスト送信済み (予期される404/接続エラー): $_" -ForegroundColor Gray
          }
          Start-Sleep -Seconds 2
      }
    
      Write-Host "[+] シミュレーション完了。" -ForegroundColor Cyan
  • クリーンアップ コマンド:

     # シミュレーションスクリプトによって永続的な変更は行われません。
      # ウェブサーバーログを必要に応じてクリーンアップするには(注意:これによりログが削除されます!):
      # Remove-Item -Path "C:inetpublogsLogFilesW3SVC1*.log" -Force
      Write-Host "[+] クリーンアップ: 永続的なアーティファクトは作成されませんでした。" -ForegroundColor Green