レガシーの亡霊:廃止されたInternet Explorerコンポーネントが現代のWindowsエクスプロイトを支える仕組み

Internet Explorerは正式に技術的な遺物となりました。しかし、そのレガシーアーキテクチャは依然として現代のWindowsアプリケーションに脅威をもたらしています。最近、あるセキュリティ研究者が一連の深刻なエクスプロイトチェーンを実証しました。具体的には、ネイティブのWebBrowserコンポーネント、ActiveXコントロール、ローカルファイル処理手順を悪用するものです。その結果、何も知らないユーザーが単純なクリックやドラッグ&ドロップ操作を行うだけで、意図せずリモートコード実行を引き起こしてしまう可能性があります。

WebBrowserコントロールを介した侵入経路

この広範な脆弱性は、レガシーのWebBrowserコントロールに端を発しています。このコンポーネントは古いInternet Explorerエンジンに強く依存しており、Visual Basic、.NET、C#環境に広く組み込まれたままとなっています。かつてソフトウェアエンジニアはデスクトップアプリケーション内でWebコンテンツをレンダリングするためにこのコンポーネントを活用していました。しかしこの統合により、古いInternet Explorerのセキュリティモデル、時代遅れのActiveX設定、そして過剰なアクセス権限が現代のオペレーティングシステムに直接持ち込まれてしまっています。

ローカルホストによる権限昇格

研究者はデスクトップアプリケーションのクロスサイトスクリプティング(XSS)脆弱性の調査から研究を開始しました。その過程で、ローカルループバックアドレスを経由してJavaScriptを実行した際に、非常に異常な挙動を観察しました。重要なのは、http://localhostを起点とするページが、通常のインターネットドメインと比べて著しく高い権限を継承していた点です。

その結果、ローカルWebページはSMB(Server Message Block)プロトコルや絶対ローカルパスを使って任意のファイルを開くことができました。つまりローカルループバックアドレスは、Webインターフェースとファイルシステムをつなぐ認証不要の橋渡し役として機能していたのです。

Mark of the Webの回避

続いて、攻撃はさらに危険な段階へと発展しました。本来、Internet Explorerはユーザーの明示的な確認なしにファイルの自動書き込みを防止しています。しかしこの制限を回避するために、レガシーエンジンはカスタマイズされたmicrosoft-edge:http://site URIスキームを呼び出すことでMicrosoft Edgeをシームレスに起動しました。

最新のブラウザはその後、ペイロードをローカルのダウンロードディレクトリに自動的に保存しました。さらに、ローカルループバックアドレス経由で取得したファイルは、従来の「Mark of the Web」(MOTW)の付与を完全に回避しました。WindowsはこのメタデータラベルをセキュリティWarningの根拠としているため、その不在によってコアとなる防御層が機能しなくなりました。

任意のシステムコマンドの実行

ある特定のエクスプロイトシーケンスでは、ネイティブのWScript.Shell環境を活用することでリモートコード実行に成功しました。この手法では最初に、ローカルデスクトップアプリケーション内に有効なXSS脆弱性が必要です。次に、攻撃者は高い権限を持つローカルループバックアドレスを介して悪意あるJavaScriptを実行します。

このプロセスにより、システムはMOTWラベルのないHTMLファイルをダウンロードするよう強制されます。ターゲットがこの改ざんされたファイルを開くと、わずかなユーザー操作を経てcalc.exeなどの任意のシステムユーティリティが実行されます。

アプリケーションハンドラーとプロトコルリークの悪用

さらに研究者は、複数の代替エクスプロイト手法も発見しました。たとえば、Internet Explorerは特定のファイル拡張子に関連付けられた外部ユーティリティを容易に起動できました。対象アプリケーションにはメモ帳、Windows Media Player、Visio、Java、Adobe Acrobatなどが含まれます。

また、システムは悪意あるXAMLやClickOnceハンドラーの解析にも成功しました。脅威アクターは、リモートSMB共有を参照するWindows Media Playerプレイリストを巧みに作成することで、NTLM認証情報の漏洩を引き起こすことも可能です。同様に、適切なWebマーキングを持たないローカルMHTアーカイブは同一オリジンポリシーを回避し、任意のドメインに成り代わってスクリプトを実行できました。

UI操作の悪用:クリックジャッキングとドラッグ&ドロップの悪用

この研究で最も注目すべき点は、精巧なクリックジャッキングとドラッグ&ドロップ操作に関するものです。具体的には、Internet Explorerはローカルディレクトリ、リモートSMB共有、または生のZIPアーカイブを不可視のiframe内にレンダリングできました。悪意あるWebページはこのフレームを完全に透明にし、ユーザーのカーソルの真下に固定しました。

その結果、ユーザーは無害なインターフェースを操作していると思い込みながら、実際には隠されたファイル要素を操作していました。特筆すべき構成の一つでは、ビューポート上の任意の場所をダブルクリックするだけで任意のコマンドが実行されました。

デスクトップショートカットの武器化

単純なクリックの代わりに、別の攻撃チェーンでは細工された.lnkショートカットへのファイルの手動移動を悪用しました。ユーザーがこのドラッグ&ドロップ操作を実行すると、オペレーティングシステムはWebマーキングの検証と標準的な警告プロンプトの両方を回避しました。

あるいは、攻撃者はユーザーのデスクトップ上に偽装したショートカットを直接配置することもできます。この悪意あるショートカットは正規の命名規則と本物のシステムアイコンを使用しており、通常のファイルフォルダや無害なシステムユーティリティを巧みに偽装することでユーザーを欺きます。

アーキテクチャ上の結論

Microsoftは2024年9月、ローカルループバックのJavaScriptを介したローカルファイルアクセスを可能にする主要な脆弱性を公式に修正しました。それでも著者は、これらの攻撃ベクターが個別のコード欠陥ではなく、時代遅れのプラットフォームが持つ構造的な特性であることを強調しています。

デスクトップアプリケーションに有効なXSS脆弱性が存在する場合、WebBrowserコンポーネントに残存する機能は依然として非常に危険です。防御側は、こうした古いサブシステムが軽微なWebの欠陥を壊滅的なシステム侵害にまで発展させる可能性があることを、改めて認識する必要があります。

翻訳元: https://meterpreter.org/internet-explorer-exploit-chain/

ソース: meterpreter.org