新たに解析されたWindows向けバックドア「SLEEPWALKER」は、従来型のビーコン通信に基づく検知手法を回避するよう設計された、パッシブ型のC2(コマンド&コントロール)モデルを採用しています。
生パケットによるアクティベーション、DNSベースのタスク配信への対応、VMware VMCI通信、名前付きパイプ機能、そしてメモリ上でのペイロード実行を特徴とします。
現時点では、この脅威アクター、被害者、感染経路、あるいは実際の攻撃キャンペーンについて、いずれも特定には至っていません。
SLEEPWALKERは、署名のない64ビットのWindows DLLで、dpapi.dllを装っています。
解析対象となった59,904バイトのサンプルは、ESET Management Agentに関連するバージョンリソースのメタデータ(ESETのブランド表記やバージョン11.2.2076.0を含む)をコピーしており、ERAAgent.exeへのサイドロードを意図した作りになっています。
ハードコードされたC2サーバーに接続する代わりに、このインプラントは信頼されたESET Management Agentプロセス内で休眠状態を保ち、特定の形式で作成・暗号化されたネットワークトリガーを受信するまで活動を開始しません。
アクティベーションの前に、この悪意あるDLLはホストプロセスの名前がERAAgent.exeであるかどうかを確認します。
実行ファイルのパスやデジタル署名の検証は行わず、プロセス名のみを確認する仕組みのため、このペイロードはエンドポイント管理業務に通常紐づけられるプロセス内で活動できてしまいます。
インプラントはDllMainを通じて、あるいは7つのDPAPI関連フォワードエクスポートのいずれかが呼び出されることで起動します。
ロードされると、SLEEPWALKERはバックグラウンドスレッドを起動し、段階的なタスク組み立て用に128KBのバッファを確保したうえで、埋め込まれたブートストラップ設定を復号し、内部インタプリタを起動します。
この埋め込み設定に含まれる機能的な命令はただ一つ、利用可能な全インターフェースを監視し続け、一致するトリガーパケットを無期限に待ち受けるというものです。
一般的なリモートアクセス型トロイの木馬とは異なり、SLEEPWALKERには固定のC2ドメイン、IPアドレス、URL、あるいは組み込みのセカンドステージペイロードが一切存在しません。自律的なアウトバウンド通信も発生させません。
GBhackersと共有されたレポートの中でPolyswarmが述べたところによると、このマルウェアは独立系研究者のDominik Reichel氏によって発見・解析されたもので、同氏はSLEEPWALKERについて、標的型で潤沢なリソースを持つ攻撃者による可能性が高く、独自のバイトコードインタプリタを備えたインプラントだと説明しています。
SLEEPWALKERマルウェアの詳細
SLEEPWALKERは代わりに、利用可能なインターフェースをプロミスキャスモードに設定し、独自の「マジックパケット」構造を持つパケットがないか、パケット内容を検査します。
このトリガーは、マルウェアが結果として得られたデータを攻撃者提供のプログラムとして解釈する前に、フレーミングチェック、長さの検証、CRC-32検証、AES-256-CCM復号という一連の処理を経ます。
AES-256-CCMは機密性と認証性を提供し、加えてCRC-32によるチェックにより、インプラントは復号を試みる前に不正な形式の通信を破棄できます。
このアプローチは、検知の観点から大きな課題をもたらします。感染したエンドポイントは、悪意あるDLLが沈黙を保ったまま、正規のESET Management Agent通信を送出し続ける場合があるからです。
つまり、防御側は不審なアウトバウンド接続や周期的なビーコン、既知の悪性インフラといった手がかりだけに頼って侵害を特定することはできません。
有効なトリガーを受信すると、SLEEPWALKERは人間が読めるコマンドではなく、独自の23命令からなるバイトコード言語を実行します。
この命令セットは、固定・ランダムいずれの遅延、スケジュール実行、繰り返しタスク、SHA-256検証を伴う段階的なペイロード組み立て、LZMA展開、ファイルからの暗号化タスクの読み込み、そしてメモリ上での直接的なシェルコード実行に対応しています。
ネットワーク機能としては、TCP、UDP、ICMP、SMB名前付きパイプ、生パケットリスナー、そしてDNSを介したタスク配信が含まれます。
DNSタスク配信では、DNSラベル内にBase32エンコードされたAES-256-CCMデータを使用し、直接的なインバウンド通信が制限されている環境でも、DNS通信を通じて暗号化されたタスクプログラムを配信できる仕組みを提供します。
ただし、DNSトリガー機能は実装済みではあるものの、解析対象サンプルのブートストラップ設定では有効化されていませんでした。
SLEEPWALKERはまた、オペレーターがvm:宛先を指定した場合、VMwareのVMCI(Virtual Machine Communication Interface)にも対応します。
VMCIは、通常のネットワークアダプタではなく仮想化レイヤーを介してVMwareのゲスト間、あるいはゲストとホストの間の通信を可能にし、通常のパケットキャプチャでの検知を困難にする可能性があります。
このマルウェアは、匿名のSMB関連設定を有効化し、EveryoneおよびAnonymous Logonからアクセス可能な名前付きパイプを作成することで、未認証の名前付きパイプ通信に対するWindowsの保護機能を弱体化させることができます。
この挙動に加え、不審なパイプの作成やERAAgent.exe付近に存在する想定外のdpapi.dllというDLLファイルは、防御側にとって具体的な脅威ハンティングの手がかりとなります。
セキュリティチームは、信頼されている管理系プロセス周辺の行動監視、DLLサイドロードの経路、不審なプロミスキャスモードの動作、想定外のVMCI利用、そしてEveryoneIncludesAnonymousやNullSessionPipesに関わるWindows設定変更を優先的に監視すべきです。
SLEEPWALKERの設計は、悪性なC2通信が見当たらないからといって侵害がないことにはならないという点を改めて浮き彫りにしています。休眠状態のパッシブ型インプラントは、オペレーターが被害者ネットワーク上に有効なトリガーパケットを送り込むまで、無期限に待ち続ける可能性があるのです。
★ 削減すべきセキュリティツールはどれか?1枚のシートでスコア化 – 「継承されたセキュリティスタック」ガイドをダウンロード
Securityscans service
翻訳元: https://gbhackers.com/sleepwalker-malware/