
Exploit de prova de conceito para CVE-2025-7771, uma vulnerabilidade no driver de kernel do Windows ThrottleStop.sys permitindo leitura/escrita arbitrária de memória física e escalada de privilégio local para SYSTEM.
Prova de conceito para CVE-2025-7771. ThrottleStop.sys expõe dois manipuladores IOCTL que permitem leitura/escrita arbitrária na memória física sem controle de acesso — qualquer processo administrador pode ler ou escrever em qualquer lugar na RAM física.
Testado no Windows 10 22H2 e Windows 11 23H2 x64.
Comecei carregando o binário do driver no IDA Pro para entender como funciona internamente. Encontrei a rotina de despacho IRP_MJ_DEVICE_CONTROL e rastreei até dois códigos IOCTL:
0x80006498 — ler do endereço físico0x8000649C — escrever no endereço físicoAmbos apenas chamam MmMapIoSpace diretamente com qualquer endereço que você passe. Sem verificação de limites, sem validação do chamador, nada. Essa é a falha.
A partir daí, o caminho de exploração é bastante direto:
\\.\ThrottleStopNtQuerySystemInformation classe 79) para construir um mapa de tradução de endereço virtual→físicoNtQuerySystemInformation classe 11ntoskrnl.exe do disco para resolver o RVA de exportação PsInitialSystemProcess, somar à base em tempo de execução para obter o VA do kernelEPROCESS+0x4b8ActiveProcessLinks para encontrar nosso próprio EPROCESSO campo de token é _EX_FAST_REF, então os 4 bits inferiores são um contador de referência, não parte do ponteiro. Mascarar esses bits ao ler o token do SYSTEM, preservar nossos próprios bits de contagem ao escrever, caso contrário você corre o risco de um BSOD.
cl /std:c++20 /EHsc /O2 exploit_single.cpp /link ntdll.lib advapi32.lib
Requer MSVC (VS2022+) e o driver carregado. Execute como administrador.
Estes são para Windows 10 20H2 até 22H2 e Windows 11 22H2/23H2 x64. Verifique com dt nt!_EPROCESS no WinDbg se você estiver em uma build diferente.
| Campo | Offset |
|---|---|
| UniqueProcessId | 0x440 |
| ActiveProcessLinks | 0x448 |
| Token | 0x4b8 |
Apenas para fins educacionais e de pesquisa. Testado em uma VM pessoal.