OWN NEWS GATHER
← 戻る
The Hacker News

Windows 11のUSB自動インストール機能を悪用しSYSTEM権限を完全奪取する手法が判明

要点

  • WindowsのPlug and Play(PnP)によるドライバ自動インストール機能を悪用し、最上位であるSYSTEM権限を奪取する攻撃手法が発表された。

  • 偽装したUSBデバイスと正規の署名付きソフトウェアの脆弱性を組み合わせることで、最新パッチ適用済みのWindows 11で特権昇格が可能になる。

  • 物理的なUSBデバイスの接続だけでなく、リモートデスクトップ(RDP)のUSBリダイレクト機能を経由した遠隔攻撃も実証されている。

  • RDP経由の攻撃経路は初期設定では無効化されており、Microsoftが提供するデバイスインストール制限ポリシーなどで防御が可能である。

  • セキュリティ研究者のアレハンドロ・エルナンド氏とボルハ・マルティネス氏が、セキュリティカンファレンス「DEF CON 34」向けの研究「Plug And Pwn: Weaponizing Windows PnP Auto-Install」において、WindowsのPlug and Play(PnP)機能を悪用した新たな攻撃手法を公開した。攻撃者はUSBデバイスの自動インストール処理を起点に、最終的にOSの最高特権であるSYSTEM権限で任意のコードを実行できるという。最新の更新プログラムをすべて適用したWindows 11マシンにおいて実証が行われた。

PnP自動インストールを悪用した特権昇格の仕組み

WindowsのPlug and Play(PnP)は、周辺機器が接続された際にハードウェアIDや互換IDを自動で読み取り、適切なドライバや関連ソフトウェアを検索して導入する機能である。研究チームはこの正規の仕組みに着目し、ハードウェアIDを偽装した任意のUSBデバイスをエミュレートするツールを独自に開発した。

研究チームによると、攻撃者は特権を持たない一般ユーザー環境からでも、PnPが起動する特権インストール処理とサードパーティ製の署名済みソフトウェアを組み合わせることで、SYSTEM権限でのコード実行に至る攻撃チェーンを構築できるとしている。Microsoftのドライバ仕様では、提示されたIDに基づいて一致するドライバパッケージが自動的に選択されるよう設計されており、この標準的な挙動が悪用された形となる。

物理デバイスの偽装による攻撃チェーンの流れ

物理的な接続を想定したデモでは、2種類のデバイス偽装とそれぞれのソフトウェアが持つ弱点を連鎖させている。

  1. DNSリダイレクトの実行:まずSierra Wireless社製デバイスをエミュレートして接続する。これにより、Windowsは特権サービスである「SwiService.exe」を自動的にインストールする。研究チームはこのサービスが備える「SetDNS」機能を呼び出し、端末のDNS参照先を攻撃者が制御するサーバーへ向け直す。
  2. パストラバーサルによる不正DLLの配置:続いてソニー製FeliCaリーダーの接続を偽装する。このデバイスの共同インストーラ(co-installer)は、設定ファイルを暗号化されていない平文のHTTP通信経由で取得し、URLパスからローカルファイル名を決定する仕様となっていた。研究チームはこの挙動に存在するパストラバーサル(ディレクトリ遡及)の不備を突き、Windowsの重要領域である「System32」フォルダ内に任意のDLLファイルを書き込むことに成功した。
  3. 特権の奪取:再度Sierra Wirelessデバイスを接続し直すことで、System32内に配置された細工済みDLLが特権プロセスに読み込まれ、SYSTEM権限の完全な奪取が完了する。

この一連の検証は完全にアップデートされたWindows 11環境で実施されたものであり、研究チームは未検証の過去バージョンへ直ちに一般化すべきではないとしている。

RDP経由でのリモート悪用とDLL検索順序ハイジャック

このPnP悪用手法は、物理的にUSB端子へアクセスできない環境であっても成立する。研究チームはリモートデスクトップ(RDP)環境において、物理デバイスの代わりにPythonクライアントから合成したUSBトラフィックを送信する手法を開発した。

RDP経由の検証ではIntel RealSenseデバイスのIDが偽装され、サーバー側のWindowsに対してリダイレクトされたデバイスのインストール処理を実行させる。その結果インストールされるRealSense関連ソフトウェアには、一般ユーザーが書き込み可能なインストールディレクトリが存在していた。ここから「CRYPTBASE.dll」の検索順序ハイジャック(正規のDLLより先に同一フォルダ内の不正DLLを読み込ませる手法)を仕掛けることで、認証済みの低権限ユーザーがSYSTEM権限を取得できることが示された。

攻撃の前提条件と有効な緩和策

本攻撃手法にはいくつかの前提条件が存在する。物理攻撃においては、攻撃者が標的のマシンに対してエミュレートしたUSB機器を接続できる物理的環境が必要となる。

また、RDPを経由したリモート攻撃は特定の構成が有効化されている環境に限定される。Microsoftのドキュメントによると、リモートデスクトップサービスにおけるPlug and PlayリダイレクトおよびRemoteFX USBリダイレクトは、初期設定(デフォルト)では無効化されている。低レベルのUSB転送を動作させるには、あらかじめPnPリダイレクトが許可されていなければならない。

システムの管理者は、USBリダイレクト機能が不要であれば無効のまま運用することでリスクを回避できる。さらにMicrosoftは、ハードウェアID、互換ID、デバイスインスタンスID、セットアップクラスなどに基づいてデバイスの導入を制御する「デバイスインストール制限ポリシー」を提供しており、RDP経由で転送されるデバイスに対してもこれらの制限ポリシーを適用することで不正な導入を遮断できるとしている。

なお、今回の報告に含まれるSierra Wireless、ソニー、Intelの各社ソフトウェアに依存した詳細な脆弱性メカニズムは研究チームによる発表内容であり、各ベンダーからの公式情報による裏付けが待たれる状況である。

元URL