Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
CVE-2025-7771 — Cadeia de exploração completa para CVE-2025-7771 em ThrottleStop.sys, abusando de IOCTLs de leitura/escrita de memória física não validados para escalar de administrador para SYSTEM no Windows. | Kitploit
Ferramentas/GitHubGitHub/yulisec/cve-2025-7771
Ferramentas DefensivasEscalada de PrivilégiosAnálise de VulnerabilidadesExploraçãoTestes de PenetraçãoRed TeamingDesenvolvimento de PayloadsExploração de Binários
GitHubyulisec/cve-2025-7771

CVE-2025-7771

Cadeia de exploração completa para CVE-2025-7771 em ThrottleStop.sys, abusando de IOCTLs de leitura/escrita de memória física não validados para escalar de administrador para SYSTEM no Windows.

1há 11h 15mAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Ver Repositório
Compartilhar

CVE-2025-7771 — Leitura/Escrita Arbitrária de Memória Física no ThrottleStop.sys

Prova de conceito completa para o driver ThrottleStop.sys da TechPowerUp (CVE-2025-7771). Um driver de kernel assinado e ainda carregável expõe leitura e escrita de memória física não validadas através de dois IOCTLs. Este repositório transforma essa primitiva em uma escalada de privilégios local de administrador para SYSTEM funcional e documenta uma peculiaridade de nomenclatura de dispositivo que quebra a maioria das detecções baseadas em caminho e nome de arquivo.

Já existia um PoC para os mesmos IOCTLs (veja Créditos). Esta é uma cadeia de exploração independente e completa, em vez de uma demonstração de primitiva.

Driver afetado

CampoValor
SHA25616F83F056177C4EC24C7E99D01CA9D9D6713BD0497EEEDB777A3FFEFA99C97F0
SHA182ED942A52CDCF120A8919730E00BA37619661A3
MD56BC8E3505D9F51368DDF323ACB6ABC49
Versão3.0.0.0 ("Low-Level Driver", 2004-2020)
AssinanteTechPowerUp LLC, DigiCert EV Code Signing
Impressão digital do certificado524EDA9C819321C66E22C7BABEB23DAEAFFB2182
Validade do certificado2019-08-10 a 2022-06-15

O certificado expirou em 2022, mas a assinatura carrega um carimbo de data/hora de contra-assinatura confiável, então o Windows ainda o carrega. A revogação só ajuda se sua data preceder o momento da assinatura, o que raramente é o caso para drivers antigos como este.

O recurso de versão não possui CompanyName, OriginalFilename ou InternalName, então o arquivo não pode ser atribuído a um fornecedor a partir de seus próprios metadados.

A falha

Dois IOCTLs leem e escrevem memória física sem validação de limites ou endereço:

IOCTLOperação
0x80006498Leitura física
0x8000649CEscrita física

Ambos são METHOD_BUFFERED, então não há desreferência de ponteiro de usuário; o defeito é a validação ausente do endereço físico fornecido pelo chamador, não um ponteiro não verificado.

Vale destacar: o manipulador de escrita 0x8000649C é declarado como FILE_READ_ACCESS. Um handle aberto somente para leitura ainda pode emitir escritas físicas, então a máscara de acesso declarada não corresponde ao que o manipulador realmente faz.

Impacto

Abrir o dispositivo requer direitos de administrador, então isso não é uma travessia de limite de privilégio por si só. O que isso dá a um atacante que já é admin é leitura/escrita arbitrária de kernel a partir do modo usuário, o que derrota as proteções que deveriam resistir acima do admin: integridade de código HVCI, PPL e autoproteção de EDR/AV. Clássico bring-your-own-vulnerable-driver.

Como demonstração concreta, o PoC usa a primitiva de R/W para roubar o token do SYSTEM e gerar um shell SYSTEM.

CVSS 4.0: AV:L/AC:H/AT:N/PR:H/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H (8.7, Alto).

Como o exploit funciona

Tudo roda a partir do modo usuário contra os IOCTLs de R/W físico do driver. Não há percurso de tabela de páginas nem CR3 envolvido; ambos os processos são localizados escanenado a memória física diretamente:

  1. Localizar o SYSTEM. Escaneie a memória física em busca de um EPROCESS cujo ImageFileName seja System e UniqueProcessId seja 4. A varredura é limitada aos intervalos de RAM populados lidos da chave de registro HARDWARE\RESOURCEMAP\...\Physical Memory do firmware, não uma janela adivinhada, então buracos de MMIO nunca são tocados e nada acima da RAM instalada é perdido.
  2. Ler o token do SYSTEM. Leia o campo Token (EPROC_TOKEN) do EPROCESS localizado.
  3. Localizar nosso processo. Escaneie a memória física da mesma forma em busca do próprio EPROCESS do PoC, correspondendo o nome da imagem como um padrão de 8 bytes e confirmando com seu PID.
  4. Trocar o token. Escreva o valor do token do SYSTEM em nosso próprio slot Token. O token é um _EX_FAST_REF, então os bits baixos de contagem de referência são mascarados por padrão (--mask seleciona o comportamento).
  5. Provar. Gere cmd.exe; whoami retorna NT AUTHORITY\SYSTEM.

Os offsets (EPROC_TOKEN, EPROC_PID, EPROC_IMG_NAME, etc.) são para uma build específica e devem ser confirmados contra dt nt!_EPROCESS na versão alvo do Windows.

O nome do executável importa. O passo 3 localiza nosso próprio processo correspondendo seu ImageFileName na memória física, e esse campo é limitado a 15 caracteres com a varredura correspondendo aos primeiros 8. Mantenha o nome compilado curto e distinto; se você renomear o binário, fique dentro desse limite ou a auto-varredura não encontrará o processo.

O nome do dispositivo é controlado pelo atacante

O driver não usa um nome de dispositivo fixo. Ele deriva o nome do objeto de dispositivo a partir do nome do serviço sob o qual está registrado; o nome do arquivo em disco é irrelevante. Registrar o binário sob o serviço TRIXX produz \\.\TRIXX independentemente do nome do arquivo em disco.

Então qualquer detecção baseada em \Device\ThrottleStop ou ThrottleStop.sys é trivialmente contornada. A detecção precisa ser baseada no hash do arquivo ou no certificado de assinatura:

root@kitploit:~
SHA256:     16F83F056177C4EC24C7E99D01CA9D9D6713BD0497EEEDB777A3FFEFA99C97F0
Thumbprint: 524EDA9C819321C66E22C7BABEB23DAEAFFB2182
Subject:    CN=TechPowerUp LLC, O=TechPowerUp LLC, L=Spokane, S=Washington, C=US

A lista DEVICE_NAMES no código-fonte é apenas uma sondagem para instalações conhecidas do produto. Passe um nome de dispositivo como argumento para direcionar a um serviço que você mesmo registrou.

Drivers relacionados da TechPowerUp

CVEDriver
CVE-2019-7245GPU-Z.sys
CVE-2025-5324GPU-Z.sys
CVE-2025-7771ThrottleStop.sys (este repositório)

O driver não está incluído

O binário não é distribuído aqui. Verifique qualquer cópia contra o SHA256 acima. A amostra está catalogada em LOLDrivers.

Compilação

root@kitploit:~
cl /nologo /EHsc /W4 /O2 src\ThrottleStop.cpp /Fe:myLittleLpe.exe /link advapi32.lib

Uso

Apenas para uso em laboratório. Execute dentro de uma VM isolada com um snapshot para o qual reverter.

root@kitploit:~
sc.exe create <name> type= kernel binPath= C:\path\to\ThrottleStop.sys
sc.exe start <name>

myLittleLpe.exe

sc.exe stop <name>
sc.exe delete <name>

O binário não aceita argumentos. Ele imprime o mapa de memória física, escaneia em busca do EPROCESS do SYSTEM e local, troca o token e gera cmd.exe rodando como NT AUTHORITY\SYSTEM.

Demonstração

myLittleLpe.exe run showing physical memory map, EPROCESS scan, token swap and a SYSTEM shell

Outros PoCs e trabalhos anteriores

Outros trabalhos públicos sobre o mesmo driver, para comparação:

  • Demoo1337/ThrottleStop — PoC anterior para os mesmos IOCTLs
  • xM0kht4r/CVE-2025-7771 — R/W físico mais VA-para-PA via Superfetch
  • AmrHuss/throttlestop-exploit-rw — R/W físico com tradução de endereço via Superfetch
  • v31l0x1/ThrottleStopPPL — bypass de proteção PPL
  • Yuri08loveElaina/CVE-2025-7771 — outra implementação

Créditos

  • LOLDrivers — catalogação de drivers vulneráveis

Aviso legal

Publicado para pesquisa defensiva e engenharia de detecção. A vulnerabilidade já é pública como CVE-2025-7771. Tudo aqui foi testado em sistemas de propriedade do autor. Não execute isso contra sistemas que você não possui ou não está autorizado a testar.

Baixar ferramenta