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-2021-40449 — Exploit de LPE para um UAF no Windows (CVE-2021-40449). | Kitploit
Ferramentas/GitHubGitHub/hakivvi/cve-2021-40449
Escalada de PrivilégiosForensia de MemóriaAnálise de VulnerabilidadesExploraçãoShellcodeDesenvolvimento de PayloadsExploração de Binários
GitHubhakivvi/cve-2021-40449

CVE-2021-40449

Exploit de LPE para um UAF no Windows (CVE-2021-40449).

Ver Repositório
4815há 4 anosRevisado pelo Kitploit

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-2021-40449

Meu exploit para CVE-2021-40449, um LPE do Windows via um UAF em win32kfull!GreResetDCInternal.

breve wu

além da vulnerabilidade de UAF, outras primitivas estão sendo usadas para tornar este exploit possível:

  • vazando o endereço do access token do exploit no ring0 via função NtQuerySystemInformation() com o parâmetro SystemHandleInformation.
  • usando rtlSetAllBits() como um gadget para sobrescrever os access_token.privileges do exploit com 0xFFs.
  • vazando o endereço de rtlSetAllBits() no ring0 ao vazar o endereço base do módulo ntoskrnl.exe via função EnumDeviceDrivers().
  • criando o parâmetro BitMapHeader do gadget de uma forma que nos permita sobrescrever os access_token.privileges do exploit.
  • alocando o BitMapHeader criado via primitiva NtSetInformationThread() e vazando o endereço da alocação no big pool via função NtQuerySystemInformation() com o parâmetro SystemBigPoolInformation.
  • para interagir com a função vulnerável, primeiro enumeramos as impressoras no sistema via EnumPrinters(), carregamos o driver de uma delas uma delas e então interceptamos as chamadas para a função de callback em modo usuário DrvEnablePDEV().
  • no hook, fazemos proxy da chamada para a função original DrvEnablePDEV(), fazemos as coisas do exploit e então retornamos o que foi retornado pela chamada com proxy para o GDI.
  • acionando a UAF por meio de uma segunda chamada a ResetDC() no DrvEnablePDEV() interceptado.
  • recuperando o objeto PDC liberado via spraying de um objeto criado do mesmo tamanho usando a primitiva CreatePalette().
  • abusando do novo privilégio SeDebugPrivilege adquirido para obter NT AUTHORITY\SYSTEM via injeção de shellcode no processo winlogon.exe.

Mais informações podem ser encontradas neste artigo da Kaspersky.

PoC

PoC testado no Win10 Redstone (build 14393).

Baixar ferramenta