2025年8月10日Ravie Lakshmanan脆弱性 / エンドポイントセキュリティ
サイバーセキュリティ研究者は、攻撃者がなりすまし攻撃を実行し、既知のサーバーを偽装できるMicrosoftのWindowsリモートプロシージャコール(RPC)通信プロトコルに存在した、現在は修正済みのセキュリティ問題に関する新たな知見を発表しました。
この脆弱性はCVE-2025-49760(CVSSスコア:3.5)として追跡されており、テクノロジー大手はこれをWindows Storageのなりすましバグと説明しています。2025年7月の月例Patch Tuesdayアップデートで修正されました。このセキュリティ欠陥の詳細は、今週開催されたDEF CON 33セキュリティカンファレンスでSafeBreachの研究者Ron Ben Yizhak氏によって共有されました。
「Windows Storageにおけるファイル名またはパスの外部制御により、認証された攻撃者がネットワーク越しにスプーフィング(なりすまし)を実行できる」と、同社は先月発表したアドバイザリで述べています。
Windows RPCプロトコルは、クライアント・サーバー間の通信で動的エンドポイントを利用できるよう、ユニバーサルユニーク識別子(UUID)とエンドポイントマッパー(EPM)を使用し、RPCクライアントをサーバーが登録したエンドポイントに接続します。
この脆弱性により、RPCプロトコルの中核コンポーネントを操作し、EPMポイズニング攻撃を仕掛けることが可能となります。これにより、権限のないユーザーが正規の組み込みサービスになりすまし、保護されたプロセスに対し攻撃者が選択した任意のサーバーへの認証を強制させることができます。
EPMの機能はドメインネームシステム(DNS)と類似しており、インターフェースUUIDをエンドポイントにマッピングします。DNSがドメインをIPアドレスに解決するのと同様です。この攻撃は、DNSポイズニングのように、脅威アクターがDNSデータを改ざんしてユーザーを悪意のあるウェブサイトにリダイレクトする手法と似ています。
- EPMをポイズニングする
- 正規のRPCサーバーになりすます
- RPCクライアントを操作する
- ESC8攻撃を通じてローカル/ドメイン権限昇格を達成する
「コアサービスに属する既知の組み込みインターフェースを登録するのを妨げるものが何もないことに衝撃を受けました」と、Ben Yizhak氏はThe Hacker Newsに共有したレポートで述べています。「たとえば、Windows Defenderに固有の識別子がある場合、他のプロセスがそれを登録できないと予想していました。しかし、実際はそうではありませんでした。」
「停止中のサービスのインターフェースを登録しようとしたところ、そのクライアントが私に接続してきました。この発見は信じられませんでした。EPMによるセキュリティチェックは一切行われていませんでした。管理者権限すら持たない未知のプロセスにクライアントが接続されていたのです。」
この攻撃の要点は、エンドポイントにマッピングされていないインターフェースや、システム起動直後に登録可能なインターフェースを見つけることにあります。多くのサービスがパフォーマンス向上のため「遅延開始」に設定されており、起動プロセスを高速化していることを悪用します。
言い換えれば、手動起動のサービスはすべてセキュリティリスクとなります。RPCインターフェースが起動時に登録されないため、攻撃者が本来のサービスより先にインターフェースを登録でき、乗っ取られる可能性があるのです。
SafeBreachは、RPC-Racerというツールも公開しており、(Storage ServiceやStorSvc.dllなどの)安全でないRPCサービスを検出したり、Protected Process Light(PPL)プロセス(例:Delivery OptimizationサービスやDoSvc.dll)を操作し、攻撃者が選択した任意のサーバーにマシンアカウントで認証させることができます。
PPL技術は、オペレーティングシステムが信頼されたサービスやプロセスのみを読み込み、実行中のプロセスを悪意のあるコードによる終了や感染から保護するものです。これはMicrosoftがWindows 8.1のリリース時に導入しました。
全体の攻撃シーケンスは大まかに以下の通りです。
- 現在のユーザーがログインした際に実行されるスケジュールタスクを作成する
- Storage Serviceのインターフェースを登録する
- Delivery OptimizationサービスにStorage ServiceへのRPCリクエストを送信させ、攻撃者の動的エンドポイントに接続させる
- GetStorageDeviceInfo()メソッドを呼び出し、Delivery Optimizationサービスに攻撃者が設置した不正サーバーへのSMB共有を受け取らせる
- Delivery Optimizationサービスがマシンアカウントの資格情報で悪意あるSMBサーバーに認証し、NTLMハッシュが漏洩する
- ESC8攻撃を仕掛け、強制的に取得したNTLMハッシュをWebベースの証明書登録サービス(AD CS)にリレーし、権限昇格を達成する
これを実現するために、Certipyのような攻撃用オープンソースツールを使い、NTLM情報をAD CSサーバーに渡して生成された証明書を用いてKerberosのTGT(チケット授与チケット)を要求し、その後ドメインコントローラーから全てのシークレットをダンプすることができます。
SafeBreachによれば、EPMポイズニング手法は、リクエストを元のサービスに転送することで中間者(AitM)攻撃や、複数のインターフェースを登録してリクエストを拒否することでサービス拒否(DoS)攻撃にも拡張可能です。また、他にもEPMポイズニングに脆弱なクライアントやインターフェースが存在する可能性があると指摘しています。
この種の攻撃をより適切に検出するために、セキュリティ製品はRpcEpRegisterへの呼び出しを監視し、Windowsのイベントトレース(ETW)を利用できます。これは、ユーザーモードアプリケーションやカーネルモードドライバーによって発生したイベントを記録するセキュリティ機能です。
「SSLピニングが証明書の有効性だけでなく特定の公開鍵の使用も検証するように、RPCサーバーの正当性も確認すべきです」とBen Yizhak氏は述べています。
「エンドポイントマッパー(EPM)の現行設計ではこの検証が行われていません。この検証がなければ、クライアントは未知の送信元からのデータを受け入れてしまいます。このデータを無条件に信頼することで、攻撃者がクライアントの動作を制御し、思い通りに操作できてしまいます。」
翻訳元: https://thehackernews.com/2025/08/researchers-detail-windows-epm.html