
Exploit de escalada de privilegios local para el controlador ASUS AsIO3.sys (CVE-2025-3464). Encadena una omisión de autenticación TOCTOU con una primitiva de decremento del kernel para elevar de cualquier usuario a SYSTEM en Windows 11 22H2.
CVE-2025-3464: Exploit de escalación local sin privilegios para AsIO3.sys de ASUS - Bypass de autenticación TOCTOU + Decremento de PreviousMode
Este exploit solo funciona en Windows 11 22H2 o anterior. Microsoft corrigió las artimañas de PreviousMode.
Exploit de escalación de privilegios local para el controlador AsIO3.sys de ASUS. Obtiene NT AUTHORITY\SYSTEM
Este exploit encadena un bypass de autenticación (CVE-2025-3464) con una primitiva de decremento para escalar privilegios desde cualquier usuario local a SYSTEM.
| Propiedad | Valor |
|---|---|
| CVE | CVE-2025-3464 |
| Tipo | Escalación de Privilegios Local |
| Controlador | AsIO3.sys (ASUS) |
| Probado en | Windows 11 22H2 (Build 22621) |
El controlador AsIO3.sys valida los procesos que llaman comprobando si su ruta ejecutable contiene AsusCertService y verificando un hash SHA256. Esta comprobación es vulnerable a una condición de carrera de Tiempo de Verificación vs. Tiempo de Uso (TOCTOU) mediante enlaces duros NTFS.
Flujo de Ataque:
AsusCertService apuntando al ejecutable del exploitAsusCertService.exeNota: El controlador solo verifica si la ruta contiene AsusCertService mediante una coincidencia de subcadena. Cualquier ruta escribible por el usuario funciona (por ejemplo, C:\Users\Public\AsusCertService\), lo que hace explotable esto sin privilegios de administrador.
El controlador expone un IOCTL que llama a ObfDereferenceObject en un puntero controlado por el usuario. Esto realiza un decremento atómico de 8 bytes en (ObjectPtr - 0x30), proporcionando una primitiva de decremento arbitrario.
Explotación mediante PreviousMode:
NtQuerySystemInformation(SystemHandleInformationEx)KTHREAD + 0x232 (campo PreviousMode)NtReadVirtualMemory/NtWriteVirtualMemory pueden acceder a memoria del kernel# Compilar (compilación cruzada desde Linux)
x86_64-w64-mingw32-gcc -O2 -o AsIO3_FullExploit.exe AsIO3_FullExploit.c -lntdll -lshlwapi
AsIO3_FullExploit.exe
Requisitos previos:
Desplazamientos de Estructura (Windows 11 22H2)
KTHREAD + 0x232 = PreviousMode KTHREAD + 0x220 = Process (puntero a EPROCESS) EPROCESS + 0x440 = UniqueProcessId EPROCESS + 0x448 = ActiveProcessLinks EPROCESS + 0x4B8 = Token
Nota: Los desplazamientos son específicos de la versión. Verifique para su compilación de Windows objetivo. Windows 23H2 lanza una excepción PREVIOUS_MODE_MISMATCH (0x1f9). Una mitigación para estos trucos de previous mode.
Notas Técnicas
Referencias
Aviso Legal
Este código se proporciona únicamente para fines de investigación de seguridad autorizada y educativos. Úselo solo contra sistemas de su propiedad o para los que tenga permiso explícito de prueba. El acceso no autorizado a sistemas informáticos es ilegal.