AppendData/AddSubdirectory permission over service registry

Support HackTricks

元の投稿は https://itm4n.github.io/windows-registry-rpceptmapper-eop/

概要

現在のユーザーによって書き込み可能な2つのレジストリキーが見つかりました:

  • HKLM\SYSTEM\CurrentControlSet\Services\Dnscache

  • HKLM\SYSTEM\CurrentControlSet\Services\RpcEptMapper

RpcEptMapperサービスの権限をregedit GUIを使用して確認することが提案されました。特に、Advanced Security SettingsウィンドウのEffective Permissionsタブを使用します。このアプローチにより、各アクセス制御エントリ(ACE)を個別に調べることなく、特定のユーザーまたはグループに付与された権限を評価できます。

スクリーンショットには、低特権ユーザーに割り当てられた権限が示されており、その中でCreate Subkey権限が注目されました。この権限は、AppendData/AddSubdirectoryとも呼ばれ、スクリプトの結果と一致します。

特定の値を直接変更できない一方で、新しいサブキーを作成する能力があることが指摘されました。例として、ImagePath値を変更しようとした際にアクセス拒否メッセージが表示されたことが挙げられました。

これらの制限にもかかわらず、RpcEptMapperサービスのレジストリ構造内のPerformanceサブキーを利用することで特権昇格の可能性が特定されました。このサブキーはデフォルトでは存在しません。これにより、DLLの登録とパフォーマンス監視が可能になります。

Performanceサブキーに関する文書とそのパフォーマンス監視への利用について調査し、OpenPerfDataCollectPerfData、およびClosePerfData関数の実装を示す概念実証DLLを開発しました。このDLLはrundll32を介してテストされ、動作の成功が確認されました。

目標は、作成したPerformance DLLをRPC Endpoint Mapper serviceに読み込ませることでした。観察結果から、PowerShellを介してパフォーマンスデータに関連するWMIクラスクエリを実行すると、ログファイルが作成され、LOCAL SYSTEMコンテキストで任意のコードを実行できることが明らかになり、特権が昇格されました。

この脆弱性の持続性と潜在的な影響が強調され、ポストエクスプロイト戦略、横移動、およびアンチウイルス/EDRシステムの回避における関連性が示されました。

この脆弱性は、スクリプトを通じて意図せずに最初に開示されましたが、その悪用は古いWindowsバージョン(例:Windows 7 / Server 2008 R2)に制限され、ローカルアクセスが必要であることが強調されました。

Support HackTricks

Last updated