
Exploração de escalonamento de privilégios local para o driver ASUS AsIO3.sys (CVE-2025-3464). Combina uma bypass de autenticação TOCTOU com uma primitiva de decremento no kernel para elevar de qualquer usuário para SYSTEM no Windows 11 22H2.
CVE-2025-3464: Exploit de LPE sem privilégios para ASUS AsIO3.sys - bypass de autenticação TOCTOU + decremento de PreviousMode
Este exploit só funciona no Windows 11 22H2 ou anterior. A Microsoft corrigiu as artimanhas do PreviousMode.
Exploit de escalada de privilégio local para o driver ASUS AsIO3.sys. Obtém NT AUTHORITY\SYSTEM
Este exploit combina um bypass de autenticação (CVE-2025-3464) com uma primitiva de decremento para elevar privilégios de qualquer usuário local para SYSTEM.
| Propriedade | Valor |
|---|---|
| CVE | CVE-2025-3464 |
| Tipo | Escalada de Privilégio Local |
| Driver | AsIO3.sys (ASUS) |
| Testado | Windows 11 22H2 (Build 22621) |
O driver AsIO3.sys valida processos chamadores verificando se o caminho do executável contém AsusCertService e validando um hash SHA256. Essa verificação é vulnerável a uma condição de corrida Time-of-Check-Time-of-Use (TOCTOU) usando hardlinks NTFS.
Fluxo de Ataque:
AsusCertService apontando para o executável do exploitAsusCertService.exeNota: O driver apenas verifica se o caminho contém AsusCertService por correspondência de substring. Qualquer caminho gravável pelo usuário funciona (por exemplo, C:\Users\Public\AsusCertService\), tornando isso explorável sem privilégios de administrador.
O driver expõe um IOCTL que chama ObfDereferenceObject em um ponteiro controlado pelo usuário. Isso executa um decremento atômico de 8 bytes em (ObjectPtr - 0x30), fornecendo uma primitiva de decremento arbitrário.
Exploração via PreviousMode:
NtQuerySystemInformation(SystemHandleInformationEx)KTHREAD + 0x232 (campo PreviousMode)NtReadVirtualMemory/NtWriteVirtualMemory podem acessar a memória do kernel# Compile (Linux cross-compile)
x86_64-w64-mingw32-gcc -O2 -o AsIO3_FullExploit.exe AsIO3_FullExploit.c -lntdll -lshlwapi
AsIO3_FullExploit.exe
Pré-requisitos:
Offsets de Estrutura (Windows 11 22H2)
KTHREAD + 0x232 = PreviousMode KTHREAD + 0x220 = Process (EPROCESS pointer) EPROCESS + 0x440 = UniqueProcessId EPROCESS + 0x448 = ActiveProcessLinks EPROCESS + 0x4B8 = Token
Nota: Os offsets são específicos da versão. Verifique para o build de Windows de destino. O Windows 23H2 lança um PREVIOUS_MODE_MISMATCH (0x1f9). Uma mitigação para esses truques de previous mode.
Notas Técnicas
Referências
Aviso Legal
Este código é fornecido apenas para pesquisa de segurança autorizada e fins educacionais. Use somente contra sistemas que você possui ou para os quais tenha permissão explícita para testar. O acesso não autorizado a sistemas de computador é ilegal.