Windowsの未対応『PhantomRPC』脆弱性が権限昇格を実現

Image

出典:Alamy Stock Photo経由のSergey Tarasov

未対応の脆弱性により、権限昇格がMicrosoftのリモートプロシージャコール(RPC)アーキテクチャの悪用を通じてWindows システム全体で可能になる場合があります。

PhantomRPCと呼ばれるこの脆弱性は、利用できないサービスへの接続をRPCがどのように処理するかのアーキテクチャ上の弱点に由来しています。これはKasperskyのアプリケーションセキュリティスペシャリストであるHaidar Kabiboが発見し、最近のXへの投稿および金曜日に公開されたブログポストで彼の調査結果を共有しました。Xへの最近の投稿およびブログポストで。

この脆弱性を悪用することで、限定的なローカルアクセス権を持つ攻撃者は、正当なWindowsサービスになりすました悪質なRPCサーバーをデプロイできます。このようにして、より高い権限を持つプロセスがサーバーに接続するとき、攻撃者はそれらになりすましてSYSTEMまたは管理者レベルに権限を昇格させることができます。

「オペレーティングシステムは、正当なサービスによって公開されるRPCサーバーに割り当てられた同じエンドポイントを使用してRPCサーバーをデプロイすることを許可します。ただし、これらのサービスが実行されていない場合に限ります」とKabibo はDark Readingに語ります。「この動作により、任意のプロセスが正当なサービスを模倣するRPCサーバーをデプロイでき、本来の認証サーバーを対象とした全RPCクライアント呼び出しを受け取ることができます。」これらの呼び出しの一部が高い権限のあるアカウントから発信され、ホスティングプロセスが「SeImpersonatePrivilege」を保持している場合、低権限プロセスはそのようなクライアントになりすまし、それにより権限を昇格させることができます。彼は自分のXの投稿でこれを「アーキテクチャの問題」として説明しています。「Microsoft Windows オペレーティングシステムは複数のユーザーアカウントで実行するよう設計されており、各アカウントはシステム内で異なる権限を持っています」とKabibo は説明し、Network Service と Local Service(制限されたサービスアカウント)を低権限アカウントの2つの例として挙げています。「攻撃者がこれらのID で実行されているサービスに足がかりを得て、この研究で提示されたバグを悪用した場合、これらの低権限アカウントからSYSTEMレベルまで権限を昇格させ、オペレーティングシステム全体を制御することができる可能性があります。」

複数の悪用経路があるにもかかわらずパッチなし

WindowsのRPCは、2つのプロセス間通信のためのアーキテクチャレベルのメカニズムであり、異なる実行コンテキストで実行されていても、1つのプロセスが別のプロセスで実装された関数を呼び出すことができます。

Kasperskyは昨年9月に10ページの技術レポートを介してこの脆弱性をMicrosoftに報告しました。10月、Microsoftはこの脆弱性を「中程度の深刻度」のみと評価し、バウンティの対象外とし、CVEを発行しませんでした。さらに、「ケースは追跡なしで終了された」とKabiboはポストで書いています。

「Microsoftは、中程度の深刻度の分類は、発信元プロセスがすでにSeImpersonatePrivilege権限を保持している必要があるという要件が原因であると説明しました」と彼は書きました。「この権限は通常、攻撃が成功するために必要であるため、Microsoftはこの問題が即座の修復を必要としないと判断しました。」

この評価にもかかわらず、Kabiboは脆弱性の悪用には5つの悪用経路があると述べており、彼はこれらを彼のポストで詳しく説明しています。Microsoftは月曜日にDark Readingからの脆弱性を軽減しない理由についてのコメント要請にすぐには応じませんでした。

Kabiboは、9月にMicrosoftに脆弱性を送信する前に、利用可能な最新の更新プログラムを使用してWindows Server 2022およびWindows Server 2025で自分の概念実証(PoC)エクスプロイトをテストしました。「しかし、この問題は他のWindowsバージョンでも悪用可能である可能性が非常に高いです」と彼は書きました。

PoCはGitHubリポジトリで見つけることができます。

悪用のシナリオは、権限を昇格させるために使用されるプロセスによって異なりますが、それらはすべてRPCに固有のアーキテクチャ上の問題に由来しています。Kasperskyによると、これは基本的に、RPCエンドポイントを登録でき、特権接続を受け取ることができるすべてのプロセスが、それをSYSTEMトークンに変換でき、Windows システムで攻撃者の権限を昇格させることができることを意味しています。

防御側は自力で対処する必要がある

権限昇格はWindowsの防御側にとって大きな懸念事項のままです。実際、4月にMicrosoftがパッチを適用した165個の脆弱性のうち半数以上がこのタイプの脆弱性でした。

PhantomRCPの修正が予定されていないため、Windowsシステムを使用している無数の組織は問題を軽減するために自力で対処する必要があります。彼らをガイドするのに役立つよう、Kasperskyは脆弱性の悪用から身を守るためにいくつかの基本的な手順を組織に勧めました。

1つは、Windows ベースの監視用にイベント トレーシングを実装することです。これにより、防御側は環境内のRPC例外を識別でき、特にRPCクライアントが利用できないサーバーへの接続を試みる場合が該当します。Kabiboは、このようなイベントを監視することで、管理者は正当なRPCサーバーが予想されるが実行されていない状況を検出するのに役立つと述べています。

「場合によっては、対応するサービスを有効にして、正当なRPCエンドポイントが利用可能であることを確認することで、攻撃面を減らすことができます」と彼は書きました。「これは、攻撃者が正当なエンドポイントを模倣した悪質なRPCサーバーをデプロイするのを妨げることができます。」

悪用による妥協を回避する2番目の方法は、SeImpersonatePrivilegeの使用を、時々アクセスを許可されるカスタムまたはサードパーティのプロセスではなく、厳密に必要とするプロセスのみに制限することです。Kabiboは、これは「一般的に良いセキュリティプラクティスとは見なされません」と書いています。

翻訳元: https://www.darkreading.com/vulnerabilities-threats/unpatched-phantomrpc-flaw-windows-privilege-escalation

ソース: darkreading.com