Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
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 — ThrottleStop.sys Leitura/Escrita Arbitrária de Memória Física | Kitploit
Ferramentas/GitHubGitHub/enessakircolak/cve-2025-7771
Escalada de PrivilégiosAnálise de VulnerabilidadesExploraçãoEvasão de IDS/IPSTestes de PenetraçãoRed Teaming
GitHubenessakircolak/cve-2025-7771

CVE-2025-7771

ThrottleStop.sys Leitura/Escrita Arbitrária de Memória Física

Ver Repositório
237há 1 mêsAinda 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 →
Compartilhar

CVE-2025-7771 — Leitura/Gravação Arbitrária de Memória Física do 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 não validadas de memória física através de dois IOCTLs. Este repositório transforma essa primitiva em uma escalada de privilégio local funcional de administrador para SYSTEM e documenta uma peculiaridade na nomeação de dispositivos que quebra a maioria das detecções baseadas em caminho e nome de arquivo.

Já existia uma PoC para os mesmos IOCTLs (ver Créditos). Esta é uma cadeia de exploit 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 contém um carimbo de tempo de co-assinatura confiável, então o Windows ainda o carrega. A revogação só ajuda se sua data for anterior ao momento da assinatura, o que raramente acontece com drivers antigos como este.

O recurso de versão não possui CompanyName, OriginalFilename ou InternalName, portanto o arquivo não pode ser atribuído a um fornecedor a partir dos 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, portanto não há desreferência de ponteiro de usuário; o defeito é a ausência de validação do endereço físico fornecido pelo chamador, não um ponteiro não verificado.

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

Impacto

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

Como demonstração concreta, a PoC usa a primitiva de leitura/escrita 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 é executado a partir do modo de usuário contra os IOCTLs físicos de leitura/escrita do driver. Não há caminhamento de tabelas de páginas e nenhum CR3 envolvido; ambos os processos são localizados varrendo a memória física diretamente:

  1. Localizar o SYSTEM. Varra a memória física em busca de um EPROCESS cujo ImageFileName seja System e UniqueProcessId seja 4. A varredura é limitada às faixas de RAM preenchidas lidas da chave de registro HARDWARE\RESOURCEMAP\...\Physical Memory do firmware, não a uma janela adivinhada, portanto 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. Varra a memória física da mesma forma em busca do EPROCESS da própria PoC, correspondendo ao 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 no slot Token do nosso processo. O token é um _EX_FAST_REF, então os bits baixos da contagem de referência são mascarados por padrão (--mask seleciona o comportamento).
  5. Provar. Gere um cmd.exe; whoami retorna .

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

O nome do executável importa. O passo 3 localiza o nosso próprio processo ao corresponder o 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, permaneça 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 de como o arquivo é chamado no disco.

Portanto, 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 sonda para instalações conhecidas do produto. Passe um nome de dispositivo como argumento para mirar 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 poder restaurar.

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, procura o EPROCESS do SYSTEM e o local, troca o token e gera um cmd.exe executando como NT AUTHORITY\SYSTEM.

Demonstração

Execução do myLittleLpe.exe mostrando mapa de memória física, varredura de EPROCESS, troca de token e um shell SYSTEM

Outras 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 — leitura/escrita física mais VA-para-PA via Superfetch
  • AmrHuss/throttlestop-exploit-rw — leitura/escrita física 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
NT AUTHORITY\SYSTEM