
lectura/escritura arbitraria del kernel en dbutil_2_3.sys, Prueba de Concepto de Escalada de Privilegios Local a nt authority/system
PoC simple para explotar CVE-2021-21551 para LPE ejecutando cmd del sistema.
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-21551
Se descubrió un problema en el controlador firmado de Dell para Windows (dbutil_2_3.sys) que puede llevar al compromiso de todo el sistema local. La rutina de despacho de ioctl del controlador carece de validación del búfer proporcionado por el usuario.
Cualquier persona puede crear un identificador y emitir solicitudes ioctl a estos códigos ioctl que rompen el modelo de seguridad de Windows:
Este PoC explota los códigos ioctl 0x9b0c1ec4/0x9b0c1ec8 para lectura/escritura arbitraria de memoria del núcleo respectivamente. Primero localiza PsInitialSystemProcess en el kernel para obtener el token del sistema y luego escribe este token en la estructura EPROCESS del proceso actual. Antes de compilar, actualice sus offsets de EPROCESS para evitar un BSOD usando https://www.vergiliusproject.com/
DWORD EPROCESS_ActiveProcessLinks = 0x2e8;
DWORD EPROCESS_Token = 0x348;
Use Visual Studio para compilar (requiere el encabezado de Windows). Encabezado SDK de Ntdll: https://github.com/mathisvickie/segy-software/blob/main/external/ntdll.h
Probado en:
Un exploit exitoso ejecutará cmd del sistema. Si obtiene un bugcheck PAGE_FAULT_IN_NONPAGED_AREA, es probable que los offsets sean incorrectos. Salida de ejemplo:
