
Preuve de concept pour CVE-2022-22814 démontrant une élévation de privilèges locale sur Windows via l'interface ALPC RPC vulnérable d'ASUS SystemDiagnosis.
Élévation de privilèges - AsusSystemDiagnosis.exe - Proc39()
Chemin complet : C:\WINDOWS\System32\DriverStore\FileRepository\asussci2.inf_amd64_d385bdc0d33d66f9\ASUSSystemDiagnosis\AsusSystemDiagnosis.exe
Problème :
Le port ALPC \RPC Control\ASHWTestServer, exposé par AsusSystemDiagnosis.exe, est entièrement accessible à tout utilisateur. L'appel de Proc39() via RPC à travers ce port génère un processus taskmgr.exe en tant que SYSTEM dans la session de l'utilisateur courant.
Exploitation :
Grâce à l'outil RPC NtObjectManager de Project Zero provenant de https://github.com/googleprojectzero/sandbox-attacksurface-analysis-tools (assurez-vous d'utiliser la version compilée), il est possible de se connecter au port RPC vulnérable, après quoi Proc39() peut être appelé. Une fois le processus taskmgr.exe en tant que SYSTEM généré, un shell cmd.exe peut être créé en utilisant la fonctionnalité « Exécuter une nouvelle tâche » via le menu contextuel, Fichier > Exécuter une nouvelle tâche > 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()
Élévation de privilèges - AsusSystemDiagnosis.exe - Proc40()
Identique à ci-dessus, mais génère mmc.exe en tant que SYSTEM. Vous pouvez soit créer une nouvelle tâche, soit utiliser la fonctionnalité de navigation pour ouvrir une fenêtre explorer.exe et exécuter cmd.exe depuis la barre d'adresse.
Notes supplémentaires :
Proc53() - génère systemreset.exe en tant que SYSTEM Proc54() - génère RecoveryDrive.exe en tant que SYSTEM