
UIAccess QuickAssistバイナリを悪用してWebView2 BrowserExecutableFolder経由で攻撃者が制御するDLLを読み込ませ、Windows 10/11上で昇格プロセスをハイジャックするUACバイパスPoC。
注記: より優れた互換性(例: Windows Server OS)を持つUACバイパスを探している場合は、TabTip UAC Bypassを使用できます。
QuickAssistはWindows 10 1809で導入されたアプリケーションです。これはデフォルトでインストールされるUIAccessバイナリであり、UACをバイパスするために悪用される可能性があります。QuickAssistはログインマスクにWebView2を使用しているため、BrowserExecutableFolderグループポリシーによって騙され、WebView2を、ひいては攻撃者が制御するDLLを任意の場所から読み込むことができます。QuickAssistプロセスにDLLを読み込むと高整合性が得られますが、管理者権限は得られません。 これは一見、自動昇格を伴う通常のUACバイパスへの「ダウングレード」のように思えます。他のUIAccess/UIPIバイパスは、昇格されたウィンドウに入力を送信することでそれらを制御しようとします。しかし、これは必要ありません。この整合性レベルでは、SetWindowsHookExW()(Windows 10 1809以前と互換)またはGetProcessHandleFromHwnd()を使用して、ウィンドウを持つ昇格されたプロセスを乗っ取ることができます。現在のセッションに昇格されたウィンドウが存在しない場合は、昇格されたスケジュールタスクを開始することで作成できます。そして、UIAccessプログラムではプロンプトが一切表示されないため、この種のUACバイパスは通常のUACバイパスよりもさらに優れています。したがって、このUACバイパスは、あらゆるUIAccessバイパスが完全なUACバイパスと見なせることを示すPoCとしても機能します。UIAccessバイパスに「ダウングレード」できる以前のUACバイパスは、常に通知と互換性のあるUACバイパスにアップグレードできるのです。
Windows 10 1809以降およびWindows 11で動作します このUACバイパスは常に通知で動作しますが、いくつかの注意点があります:
使用方法:
Usage: QuickAssist_UAC_Bypass.exe [path_to_dll]
Example: QuickAssist_UAC_Bypass.exe OskSupport.dll
