SLEEPWALKER バックドア、マジックパケット・DLLサイドローディング・メモリ内シェルコード実行を悪用

SLEEPWALKERと名付けられた新たに確認されたWindows向けバックドアは、パッシブなネットワーク監視、DLLサイドローディング、暗号化されたバイトコードを組み合わせ、攻撃者が精密に作成したトリガーパケットを送信するまで休眠状態を維持します。

このマルウェアは従来型のコマンド&コントロールサーバーにビーコン通信を行わないため、送信トラフィックの監視だけでは特定が非常に困難です。

マルウェア分析ツール

この59,904バイトの未署名ファイルはMicrosoftのdpapi.dllになりすまし、ESET Management Agentに関連する実行ファイルであるERAAgent.exeによってサイドローディングされるよう設計されています。

ESETのバージョンリソース情報をコピーし、正規のWindows DPAPIライブラリと同じ7つの関数をエクスポートすることで、信頼されたセキュリティ管理環境に紛れ込みやすくしています。

その設定には1つの命令しか含まれていません。すべての利用可能なネットワークインターフェースを無期限に監視し、有効なマジックパケットを待つというものです。このインプラントには、すぐに実行可能な第2段階のペイロード、ハードコードされたドメイン、IPアドレス、URLは組み込まれていません。

攻撃者のインフラへ送信接続を開始する従来型のバックドアとは異なり、SLEEPWALKERはネットワークインターフェースをプロミスキャスモードにし、ホストを通過するパケットを検査します。

パケットは、長さの検証、チェックサム条件、CRC-32チェックを含む複数のフレーミングチェックを通過して初めて、マルウェアによる復号が試みられます。有効なタスクはAES-256-CCMで暗号化・認証されています。

この設計により、ネットワーク上の痕跡は極めて小さくなります。侵害されたエンドポイントは、不審な接続を発生させたり、既定のリスニングポートを公開したりすることなく、待機状態を維持できます。

この動作トリガーは通常のIPトラフィックを通じて配信可能で、マルウェアのコードにはDNSベースのトリガー機構も含まれていますが、分析対象のサンプルでは生パケット監視のみが有効化されていました。

この手法は、ゲートウェイ、VPNサーバーアクセス、あるいはマルチホームホストなどのシステムにおいて特に懸念されます。

パケットスニファーは監視対象インターフェースを通過するトラフィックを検査できるため、同一ネットワーク経路上の別システム宛の攻撃者トリガーを受信してしまう可能性があります。

Image

R136a1の分析によると、SLEEPWALKERはホストプロセスがERAAgent.exeであることを確認した場合にのみ動作を開始します。実行が始まると、バックグラウンドワーカーを起動し、128KBのステージングバッファを確保して、埋め込まれたブートストラップ設定を復号します。

SLEEPWALKERバックドア

SLEEPWALKERは、23個の命令からなる独自のコマンド言語を通じて復号済みタスクを処理します。

可読なコマンドを送信する代わりに、オペレーターは暗号化されたバイトコードプログラムを送信し、それが意図した動作として理解される前に、まず復号とリバースエンジニアリングを経る必要があります。

その命令セットは、タスクのスケジューリング、繰り返し実行、TCPおよびUDP通信、ICMPベースのデータ転送、名前付きパイプ通信、段階的なペイロード配信、SHA-256検証、解凍、メモリ内シェルコード実行をサポートしています。

データプライバシーコンサルティング

Image

RUN_SHELLCODE命令は書き込み可能なメモリを確保し、VirtualProtectを通じてその保護属性を実行可能に変更した上で、ESET Management Agentプロセスのコンテキスト内で攻撃者提供のマシンコードを直接呼び出します。

このバックドアはVMware Virtual Machine Communication Interface(VMCI)チャネルも利用でき、標準的なネットワークアダプタではなく仮想化レイヤーを通じてゲストとホスト間の通信を可能にします。

この機能は、従来のパケットキャプチャではVMCIトラフィックを観測できない場合があるため、監視を複雑にする可能性があります。

SLEEPWALKERには、認証情報を利用したラテラルムーブメントを支援し得るSMB名前付きパイプ機能が含まれています。

さらに注目すべきは、その名前付きパイプサーバー機能がWindowsの設定を変更して匿名アクセスを有効化する点です。具体的にはEveryoneIncludesAnonymousを設定し、NullSessionPipesにパイプを追加します。

これらのレジストリ変更は正規の設定にも存在し得るため、既知の正常な状態(ベースライン)と照合して評価すべきです。

このマルウェアは侵害後の永続化ツールであり、初期侵入の手段ではないとみられます。

ERAAgent.exeと同じディレクトリに悪意あるdpapi.dllを配置するには十分なローカル権限が必要であり、サイドローディングの仕組みはESETソフトウェアの脆弱性ではなく、Windowsのdllサーチオーダー(検索順序)に依存しています。

防御側は、ERAAgent.exeが格納されているディレクトリ内に予期しないdpapi.dllやdpapisvc.dllファイルがないか調査すべきです。後者は特に不審で、dpapisvc.dllはWindowsの標準コンポーネントではありません。

分析対象のサンプルのSHA-256ハッシュはd347170752a28e2b8c4b8b9f3cab2e3a6541ba11682c94498d26eb9002779d60です。

組織はまた、ESET Management AgentのDLLロードに関するテレメトリを確認し、プロミスキャスモードのインターフェースを監視し、匿名SMB設定への変更を監査し、異常な名前付きパイプがないか探索すべきです。

Reichel氏はSLEEPWALKERを既知の脅威アクターに帰属させたり、確認済みの被害者を特定したりはしていませんが、そのパッシブなアーキテクチャ、多層のコマンド保護、メモリ内実行モデルは、標的型かつリソースの豊富な攻撃活動である可能性を示唆しています。

★ どのセキュリティツールを削減すべきか?1ページでスコア化 – 「継承されたセキュリティスタックガイド」をダウンロード

クラウドセキュリティサービス

翻訳元: https://gbhackers.com/sleepwalker-backdoor/

本記事は gbhackers.com の記事を翻訳・要約したものです。