Swarmerツール、Windowsレジストリを悪用し検出回避と永続化を実現

はじめに

Swarmerは、Windowsレジストリハイブを操作し、エンドポイント検出システム(EDR)を迂回するよう設計された高度なツールです。このツールは、従来のEDR監視システムに検出されることなく、レガシーなWindowsインフラストラクチャを悪用してシステムの永続的なアクセスを確立します。

EDR回避の巧妙な手口

エンドポイント検出と応答(EDR)ソリューションは、従来のレジストリ永続化技術に対する防御を大幅に強化してきました。例えば、HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Runエントリを使用する古典的な手法は、今やセキュリティツールがRegCreateKeyRegSetValueRegSetValueExなどの標準的なレジストリAPI呼び出しを広範に監視しているため、即座にアラートを生成します。これにより、攻撃者は直接的なAPIインタラクションなしにステルス性の高いレジストリベースの永続化メカニズムを求めるという、根本的な課題に直面していました。

強制ユーザープロファイルが攻撃ベクトルに

Praetorianの研究者によると、Swarmerの技術はWindowsの強制ユーザープロファイル機能を悪用しています。これは、システム全体で標準化されたユーザー構成を強制するために設計された、レガシーなエンタープライズ機能です。管理者は通常、ユーザーログイン時に標準のNTUSER.DATレジストリハイブを上書きするNTUSER.MANファイルを使用してこれらのプロファイルを展開します。

重要なのは、管理者権限を持たない一般ユーザーでも、細工されたNTUSER.MANファイルを自身のプロファイルディレクトリに配置することで、同じ上書きメカニズムをトリガーし、実質的に自身のHKCUレジストリハイブを管理者権限なしに置き換えることができる点です。この技術の核心は、セットアップ、バックアップ、フォレンジック分析のために設計されたレガシーなWindowsコンポーネントであるOffline Registry Library(Offreg.dll)を悪用することにあります。このライブラリは、ORCreateHiveOROpenHiveORCreateKeyORSetValueORSaveHiveなどの機能を提供し、EDR監視をトリガーすることなく完全なレジストリハイブを構築することを可能にします。これにより、Process MonitorやETWログは空白のままであり、この技術は標準的な検出メカニズムに対して事実上見えない状態となります。

Swarmerの主な機能

  • レジストリハイブのエクスポート: .regテキスト形式でエクスポートされたHKCUレジストリデータを受け入れます。
  • オフラインレジストリ変更: Offreg.dllを使用して、標準APIに触れることなくバイナリレジストリハイブを編集します。
  • スタートアップキーの注入: --startup-keyパラメーターにより、悪意のあるスタートアップエントリをレジストリに直接注入します。
  • スタートアップ値の構成: --startup-valueパラメーターで永続化ペイロードの実行可能パスを指定します。
  • NTUSER.MANの生成: 変更されたレジストリデータをバイナリのNTUSER.MAN強制ユーザープロファイルに変換します。
  • BOF直接統合: --bofフラグにより、TrustedSecのreg_query BOF出力を直接解析します。
  • オフライン処理: ツール全体が展開前にオペレーターマシン上でオフラインで実行されます。
  • C#実装: スタンドアロン実行可能ファイルまたはPowerShellモジュール(.dll)として構築されます。
  • Windows API相互運用: WindowsレジストリAPIとのP/Invoke統合。
  • ハイブ検証: RegLoadAppKeyWを使用して、正当な初期ハイブ構造を作成します。

Swarmerの動作ワークフロー

このツールは、シンプルで3段階のワークフローで動作します。まず、標準コマンドまたはTrustedSecのreg_query BOFを介してターゲットユーザーのHKCUレジストリをエクスポートします。次に、エクスポートされたレジストリデータを変更して永続化メカニズムを注入します。最後に、Swarmerを使用して変更されたエクスポートをバイナリハイブファイルに変換します。コマンド構造は、スタンドアロン実行とBOF出力解析によるC2統合の両方を可能にし、アクティブなエンゲージメント中にオペレーターがレジストリエクスポートでディスクに触れることを回避できます。

防御策

防御側は、ユーザープロファイルディレクトリ内で予期しないNTUSER.MANファイルの作成を監視する必要があります。特に、エンタープライズプロファイル管理システムから展開されていない場合に注意が必要です。行動分析は、正当なオフラインレジストリアクセス要件を持たないプロセスによるOffreg.dllのロードを検出する可能性があります。しかし、一度ログイン時に永続化が実行されると、結果として生じる悪意のある活動は標準的なプロセス監視を通じて可視化されます。

結論

Swarmerのリリースは、Windowsの広範なレガシー機能が攻撃的な操作のために再利用され得る方法を示しています。管理者は、強制プロファイルの実装を調査し、プロファイルディレクトリへのアクセスに対して厳格な制御を強化する必要があります。


元記事: https://gbhackers.com/swarmer-tool-abuses-windows-registry-to-evade-detection/