SLEEPWALKER バックドアが独自のコマンド言語を使用
Detection stack
- AIDR
- Alert
- ETL
- Query
概要
SLEEPWALKERは、高度に洗練されたパッシブバックドアであり、特別に作成されたネットワークトリガーパケットによって活性化されるまでメモリ内で休止しています。データの流出、横方向の移動、およびメモリ内のシェルコードの実行を含むタスクを実行するためのカスタムバイトコードコマンド言語を使用しています。従来のビーコニング動作を避けることで、このマルウェアは従来のネットワーク監視を通じて検出が著しく難しくなっています。
調査
調査の結果、SLEEPWALKERはDLLサイドローディング用に設計された64ビットWindows DLLであり、ESET Management Agentプロセス(ERAAgent.exe)内にロードされます。研究者たちはカスタムAES-256-CCM暗号化方式と23の命令をサポートするユニークなバイトコードインタプリタを発見しました。さらに、原始的なソケットスニッフィング、DNSベーストリガー、およびVMware VMCIの悪用を含む秘密裏の通信方法も明らかになりました。
緩和策
組織は、ESET Management Agentコンポーネントと並んで配置されている dpapi.dllに偽装した無許可のDLLを監視する必要があります。匿名アクセス関連のレジストリ設定と NullSessionPipes の強化も重要です。セキュリティチームはまた、受動的なトラフィック検査を示す潜在的に異常なプロミスキュアスモード活動を示すネットワークインターフェースを監視するべきです。
対応策
SLEEPWALKERが検出された場合、影響を受けたホストは完全に侵害されたと見なされ、信頼できるバックアップから再構築されるべきです。インシデント対応者は、サイドローディングされたDLLの起源を特定するために ERAAgent.exe を含むディレクトリのフォレンジック分析を実施する必要があります。レジストリの構成も、LSAおよび LanmanServer パラメーターに関連する未承認の変更を確認するために見直す必要があります。
攻撃フロー
この部分はまだ更新中です。
検出
ESET Management Agent(ERAAgent)の潜在的なDLLサイドローディング(image_load経由)
IOCs(HashSha256)による検出: SLEEPWALKER: 独自のコマンド言語を持つパッシブバックドア
IOCs(HashSha1)による検出: SLEEPWALKER: 独自のコマンド言語を持つパッシブバックドア
IOCs(HashMd5)による検出: SLEEPWALKER: 独自のコマンド言語を持つパッシブバックドア
SLEEPWALKERパッシブバックドアのプロミスキュアスモードおよびトリガーパケット検出[Windowsネットワーク接続]
特定のプロセス名を持つSLEEPWALKERバックドアの検出[Windowsプロセス作成]
## シミュレーションの実行
前提条件: テレメトリーおよびベースライン事前チェックが合格していること。
根拠: このセクションでは、検出ルールをトリガーするために設計された敵対技術(TTP)の正確な実行を詳述しています。コマンドとナラティブはTTPsを直接反映し、検出論理によって期待される正確なテレメトリーを生成することを目的としています。抽象的または無関係な例は誤診につながります。
-
攻撃のナラティブとコマンド: 敵対者はSLEEPWALKERバックドアを展開しようとしています。標準的な監視を回避するために、彼らは
C:WindowsSystem32dpapi.dll(DLLディレクトリとして偽装)という名前の欺瞞的なディレクトリを作成します。このフォルダ内に悪意のあるバイナリをERAAgent.exeに名前を変更して配置します。実行されると、フルイメージパスC:WindowsSystem32dpapi.dllERAAgent.exeは、特定のサフィックスとdpapi.dll文字列の存在が検出論理の要件を満たします。 -
回帰テストスクリプト:
# SLEEPWALKER検出検証のためのシミュレーションスクリプト $targetDir = "C:UsersPublicDocumentsdpapi.dll" $exeName = "ERAAgent.exe" $exePath = Join-Path $targetDir $exeName # 1. 欺瞞的なディレクトリ構造を作成 if (!(Test-Path $targetDir)) { New-Item -Path $targetDir -ItemType Directory -Force } # 2. バックドアをシミュレートするダミーの実行可能ファイルを作成 # 実行可能なものであることを保証するためにcmd.exeの名前を変更したコピーを使用します Copy-Item "C:WindowsSystem32cmd.exe" -Destination $exePath -Force # 3. 検出をトリガーするために「バックドア」を実行 Write-Host "シミュレートされたバックドアを実行中: $exePath" Start-Process -FilePath $exePath -ArgumentList "/c echo SLEEPWALKER_TRIGGERED" -WindowStyle Hidden Write-Host "シミュレーションの実行が完了しました。" -
クリーンアップコマンド:
# シミュレーションアーティファクトを削除するためのクリーンアップスクリプト $targetDir = "C:UsersPublicDocumentsdpapi.dll" if (Test-Path $targetDir) { Remove-Item -Path $targetDir -Recurse -Force } Write-Host "クリーンアップが完了しました。アーティファクトが削除されました。"