LegacyHiveエクスプロイト、Windowsプロファイル読み込みを悪用してユーザーレジストリハイブを乗っ取り

LegacyHiveは、Windows向けに新たに発見された概念実証(PoC)コードで、プロファイル初期化処理とオフラインレジストリハイブ操作の仕組みを悪用し、ユーザーレベルのレジストリパスをリダイレクトすることで、別アカウントに紐づくリソースへのアクセスを可能にする恐れがあります。

この手法は、Microsoftの2026年7月のPatch Tuesday公開後まもなく、Nightmare-Eclipseという情報開示者によって公表されました。従来のソフトウェア脆弱性とは異なり、LegacyHiveはWindowsの正規機能を通常とは異なる形で連鎖させて悪用します。

Softwarevulnerability database

LegacyHiveエクスプロイトの概要

LevelBlue SpiderLabsの研究者らはこのPoCの再現に成功し、完全に更新済みのWindowsシステム上でもこのエクスプロイトが有効なままであることを実証しました。

この攻撃には低権限の攻撃者アカウントと、別のヘルパーアカウントの認証情報が必要となるため、この公開実装は主に侵害後の攻撃能力として機能します。

LegacyHiveは、ヘルパーアカウントのntuser.datレジストリハイブがオフライン状態にある間にこれを改変し、その後Windowsを操作して改変済みのプロファイルを読み込ませます。この結果、Windowsは通常のプロファイル初期化処理の中で攻撃者が制御する値を取り込むことになります。

Image

具体的には、このPoCはSoftware\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders配下のLocal AppData値をリダイレクトし、本来のファイルシステム上のパスを、Windows NTオブジェクトマネージャの名前空間を経由して制御されるパスに置き換えます。

このエクスプロイトはまず、\BaseNamedObjects\Restricted\<UUID>配下にカスタム名前空間を作成することから始まります。NtCreateDirectoryObjectExなどのネイティブAPIを使ってオブジェクトマネージャのディレクトリを作成し、NtCreateSymbolicLinkObjectを使ってその名前空間内にシンボリックリンクを構築します。

標準的なWindowsショートカット、シンボリックリンク、NTFSジャンクションとは異なり、これらのオブジェクトはNTオブジェクトマネージャ内のより低いレベルに存在します。正規のユーザーアプリケーションがこうした構造を作成することはほとんどなく、特に複数を組み合わせて作成することはまれであるため、この挙動はエンドポイント検知にとって貴重なシグナルとなります。

続いてこのエクスプロイトは、offreg.dllを介して利用できるMicrosoftのレジストリオフラインラインを使い、ヘルパーアカウントのntuser.datファイルを直接開いて編集します。

アクティブに読み込まれていない状態のハイブを改変することで、攻撃者は稼働中のユーザーレジストリを変更せずに済みます。保存・復元が完了すると、この悪意ある設定はユーザーハイブ内に残り続けます。

研究者らは、Local AppDataの値が\BaseNamedObjectsやNT形式のパス、その他のカーネル名前空間を指している場合は極めて異常であり、フォレンジック調査の際には不審なものとして扱うべきだと指摘しています。

Image

確実に実行するため、LegacyHiveはUsrClass.datに対してバッチ型のオポチュニスティックロック(oplock)を設定します。これにより、不安定なタイミング頼みではなく、Windowsがプロファイル初期化の特定の段階に到達するまでこのPoCが待機できるようになります。

その後、攻撃者はLOGON_WITH_PROFILEフラグを付けたCreateProcessWithLogonWを使い、ヘルパーアカウントの権限下でプロセスを起動します。この公開PoCではnotepad.exeが使用されていますが、研究者らは、この特定のバイナリを検知の基準にすべきではないと強調しています。

着目すべきは、アカウントをまたいだプロセス起動という挙動そのものです。これには完全なプロファイル読み込みが必要となり、多くの場合Secondary Logonサービスが関与します。

ヘルパーアカウントのプロファイルが読み込まれると、Windowsは改変されたハイブを読み取り、攻撃者が作成したオブジェクトマネージャのリンクを介して、改変済みのLocal AppData設定を解決します。

LegacyHiveはRegOpenUserClassesRootを使ってこの結果を検証し、Windowsがリダイレクトされたユーザーハイブの状態を実際に公開していることを確認します。このPoCは一時ファイルこそ削除するものの、改変されたレジストリ設定やオブジェクトマネージャのリダイレクトの痕跡はそのまま残るため、クリーンアップ後も影響が持続します。

  • 同一の非システムプロセスからのNtCreateDirectoryObjectExおよびNtCreateSymbolicLinkObjectの呼び出し。
  • 標準的なユーザープロファイルの場所以外での、ntuser.datおよびUsrClass.datへのオフラインアクセス、コピー、改変。
  • Local AppDataのレジストリ値が、通常のプロファイルディレクトリではなく\BaseNamedObjectsに解決されるケース。
  • レジストリハイブファイルに対するバッチoplock要求。
  • LOGON_WITH_PROFILEを用いたCreateProcessWithLogonWの活動、特にアカウントをまたぐもの。

LegacyHiveは、従来型の未パッチの欠陥がなくても、Windowsのプロファイル読み込み処理が攻撃対象領域となり得ることを示しています。

組織は、ネイティブAPI呼び出し、レジストリハイブのステージング、プロファイル読み込みイベント、そして異例のアカウント間プロセス生成を網羅する挙動テレメトリを優先的に監視すべきです。同時に、ベンダー各社もこの種の悪用手法に対する緩和策の検討を進めています。

Hacking& Cracking

警告: 20を超える政府系サイトが、企業や市民にマルウェアを配信していました。 攻撃に関する詳細な調査レポートはこちら から確認し、自組織の被害有無をチェックしてください

翻訳元: https://gbhackers.com/legacyhive-exploit-abuses-windows-profile-loading/

ソース: gbhackers.com