Windows USBの自動インストール機能を悪用する「Plug and Pwn」攻撃

ありふれたデバイスをパソコンに接続するだけで、深刻な事態を招きかねません。具体的には、Windows自身が悪意あるコンポーネントを知らぬ間にダウンロードし、最大限の管理者権限で実行してしまう可能性があるのです。セキュリティ専門家のAlejandro Hernando氏とBorja Martinez氏は、DEF CON 34でこの手口を劇的な形で実演しました。両氏が発表したPlug and Pwn攻撃シリーズは、Windowsに搭載されたデバイス自動インストール機構を巧妙に悪用するものです。さらに憂慮すべきことに、この攻撃の一部の変種は、標的となるコンピュータへの物理的なアクセスすら必要としません。

Plug and Playメカニズムの悪用

問題の核心は、広く普及しているPlug and Playメカニズムの奥深くに潜んでいます。ユーザーが新しいUSBデバイスを接続すると、Windowsはそのハードウェアの識別情報を綿密に確認します。続いて互換性のあるドライバーパッケージを探し、必要であればWindows Update経由で直接ダウンロードします。ここで重要なのは、このインストーラーが極めて強力なSYSTEMアカウントの権限で実行される点です。そのため、パッケージに同梱されたメーカー製の追加コードもまた、User Account Controlのプロンプトを完全に回避したまま、異常に高い権限を獲得してしまいます。

物理デバイスなしでハードウェアをエミュレート

研究者たちは、このプロセスを引き起こすのに実物のデバイスが必ずしも必要ではないことを鋭く見抜きました。両氏はFaceDancerフレームワークを巧みに活用してUSBハードウェアを完璧にエミュレートし、選んだデバイスの識別子をWindowsに正確に読み込ませました。OSはこの偽装を本物のハードウェアとして無防備に受け入れ、対応するソフトウェアを探し出し、自動的にインストールを開始しました。完全に最新の状態のWindows 11マシンにおいて、この巧妙なデモはわずか5分ほどで完了し、ユーザーがログインすることすらなく、SYSTEM権限での任意コード実行という結末に至りました。

複数の脆弱性を連鎖させたSYSTEMアクセスの奪取

Sierra WirelessとSony FeliCaを組み合わせた攻撃チェーン

ある巧妙な攻撃チェーンでは、両氏はSierra WirelessとSony FeliCaのソフトウェアに存在する脆弱性を見事に組み合わせました。特定のSierraコンポーネントは、システムのDNSサーバーをひそかに変更することを許してしまいます。続いてSonyのインストーラーは、暗号化されておらず傍受可能なHTTP接続経由で設定情報をうかつにもダウンロードしていました。攻撃者はこれらのネットワークアドレスを操作することで、保護されているはずのSystem32ディレクトリに悪意あるDLLファイルを直接書き込むことに成功しました。最後に、Sierraデバイスを再度エミュレートすることで、システムはその改ざんされたファイルをSYSTEM権限で実行するよう仕向けられました。これらの欠陥は個々に見れば比較的軽微な脅威にすぎませんが、連鎖させることで完全な権限昇格が可能になったのです。

「NoPlug and Pwn」によるリモート攻撃

Plug and Pwnという手法は、物理的なアクセスがなくても極めて危険です。両氏は「NoPlug and Pwn」と名付けた恐るべき派生版を先んじて開発しました。この手法は、標準的なリモートデスクトッププロトコル(RDP)を通じたUSBリダイレクト機能を悪意ある形で利用します。クライアントは接続されたハードウェアの記述情報をサーバーに送信し、サーバー側はそれをもとにデバイスを仮想的に生成します。専門家たちはこの記述情報を独自に合成する方法を巧みに編み出したため、クライアント側に実物のUSBデバイスが存在する必要は一切なくなりました。この攻撃は、管理者がUSBデバイスのリダイレクトを許可している企業環境において、非常に成立しやすいものです。

Intel RealSenseを使ったリモート攻撃の実演

このリモート攻撃の実力を鮮やかに示すため、専門家たちはIntel RealSenseカメラをエミュレートしました。特権を持たない標準的なユーザーがリモートデスクトップ経由で接続し、実在しないデバイスに関するデータをサーバーへ送信しました。Windowsは律儀にもWindows Update上でMicrosoft署名済みのドライバーを見つけ出し、インストールを実行しました。続いて補助的なコンポーネントが、ユーザーがアクセス可能なディレクトリにあるプログラムをSYSTEM権限で起動しました。ライブラリ検索の仕組みに内在する複雑さにより、攻撃者は自作の悪意あるDLLを巧みにすり替えることができ、権限昇格をシームレスに達成しました。

攻撃対象範囲(アタックサーフェス)の拡大

WacomおよびAtherosコンポーネントの悪用

両氏はさらに、Windowsが自動的にインストールしうる他のソフトウェアパッケージについても体系的に調査しました。Wacomのソフトウェアの中には、特定のレジストリ値さえ整えば、SYSTEM権限でコマンドプロンプトを起動できるサービス機構が発見されました。標準的なユーザーはこの値を変更できませんが、2019年に発覚した悪名高い脆弱性に関連する旧世代のAtherosコンポーネントが、驚くべきことに保護されたレジストリハイブの変更を許してしまうことが判明しました。当然ながら、このAtherosパッケージも依然としてPlug and Playメカニズム経由で問題なくインストールされます。

究極の権限昇格デモンストレーション

最終的なデモンストレーションでは、専門家たちはWacomとAtherosの欠陥を、Windowsのプリントモニター機構と見事に組み合わせました。Atherosコンポーネントが、保護されたレジストリセクション内に必要なエントリをひそかに作成します。再起動後、プリントサービスは何も知らずに、周到に用意されたDLLをSYSTEM権限で読み込みます。続いてこのコードがWacomの機能を起動し、対話型のSYSTEM権限コマンドプロンプトを生成します。驚くべきことに、攻撃者は管理者権限も、本物のメーカー製ハードウェアも、独自の脆弱なドライバーすらも一切必要としませんでした。

両氏は、これらの憂慮すべきメカニズムを第三者が独自に検証できるよう、専用ツールのソースコードと詳細なデモ資料を責任ある形で公開しました。

翻訳元: https://meterpreter.org/plug-and-pwn-windows-vulnerability/

ソース: meterpreter.org