UAT-10147がクロスプラットフォームの持続性と回避のためにSPECTREを使用
Detection stack
- AIDR
- Alert
- ETL
- Query
概要
UAT-10147は、中国語を話す脅威アクターであり、高度な多プラットフォームのポストエクスプロイトエコシステムを運用しています。そのツールキットには、SPECTREクロスプラットフォームバックドア、Specter Linuxルートキット、BadIISなどのSEO詐欺ツールが含まれています。このアクターは、EDR保護を無効にするための脆弱なドライバの持ち込み(BYOVD)を含む高度な技術を使用し、AI支援の開発ワークフローを組み込んでいます。
調査
Cisco Talosは、回収されたソースコードとマルウェアサンプルを分析し、UAT-10147のツールの進化を追跡しました。調査では、Linuxルートキット内にAI支援のコード生成の兆候を特定し、BadIISマルウェアに独特の開発アーティファクトを発見しました。研究者はまた、SPECTREインプラントのコマンド構造、注入技術、カーネルレベルの防御回避能力を文書化しました。
緩和策
組織は、インターネットに面したIISとLinuxサーバーを強化し、既知の脆弱ドライバである RTCore64.sys and DBUtil_2_3.sysの展開を監視すべきです。強力なEDR設定を施行し、無許可のカーネルモジュールの読み込みや疑わしいsystemdサービスの作成を監視しなければなりません。ウェブサーバーの防御には、無許可のASHXハンドラや予期しないHTTPヘッダーである X-ID.
応答
UAT-10147の活動が検出された場合、侵害されたIISまたはLinuxサーバーを直ちに隔離し、横方向の移動を制限すべきです。対応者は、カーネルの整合性のフォレンジック分析を行い、無許可のNTFS代替データストリームを検索するべきです。また、システムログを確認し、疑わしいサービスインストールやレジストリハイブダンプまたは認証情報マネージャー列挙による認証情報の窃盗の可能性を探るべきです。
攻撃フロー
この部分はまだ更新中です。
検出
Cmdkeyの不審な使用(コマンドライン経由)
異常なトップレベルドメイン(TLD)DNSリクエストによる不審なコマンドアンドコントロール(DNS経由)
Linuxホスト上で作成された隠されたファイル(ファイルイベント経由)
永続性のためのSPECTREレジストリ変更の検出[Windowsレジストリエベント]
SPECTRE DLLおよびプロセス注入検出[Windowsプロセス生成]
SPECTRE Linuxバリアントのシェルコマンド実行とカーネルモジュールの読み込み検出[Linuxプロセス生成]
シミュレーション実行
前提条件: テレメトリー及びベースライン事前チェックが通過していること。
理由: このセクションでは、検出ルールを引き起こすために設計された敵の手法(TTP)の正確な実行を詳述している。コマンドと説明は、特定されたTTPsを直接反映し、検出ロジックによって期待される正確なテレメトリーを生成することを目的とすべきである。抽象的または関連のない例は誤診につながる。
-
攻撃ストーリー&コマンド: 敵はウェブの脆弱性を通じて初期アクセスを獲得しました。深刻な恒常性を確立し、検出を回避するため、ルートキットをデプロイする意図があります。攻撃者はまずシェルを生成し、セッションを安定させます。次に
psを実行して、稼働しているセキュリティ監視プロセスがあるかどうかを確認します。最後に、insmodを使用してダミーカーネルモジュールをロードし、リモート制御のためのカーネル動作を変更するSPECTREバリアントの手法を模倣します。 -
回帰テストスクリプト:
#!/bin/bash # SPECTRE Linux Variant Simulation Script echo "[+] Starting SPECTRE Linux Variant Simulation..." # 1. Simulate Shell Execution (selection_shell) echo "[+] Step 1: Executing shell command..." /bin/sh -c "echo 'Shell access established'" # 2. Simulate Process Discovery (selection_ps) echo "[+] Step 2: Performing process discovery..." ps -ef | grep "simulation" # 3. Simulate Kernel Module Loading (selection_kernel_module) # Note: This requires sudo. We will attempt to load a dummy module or simulate the command. # To avoid crashing the system, we will use a non-existent module name # which still generates the 'insmod' command line telemetry. echo "[+] Step 3: Attempting to load kernel module via insmod..." sudo insmod spectre_rootkit_test.ko || echo "[!] insmod failed as expected (module not found), but telemetry should be generated." echo "[+] Simulation complete." -
クリーンアップコマンド:
# クリーンアップは最小限です。システムの不安定を避けるために存在しないモジュール名を使用しました。 # 実際のモジュールがロードされた場合、使用します: # sudo rmmod spectre_rootkit_test echo "[+] Cleanup: No persistent changes made to the kernel."