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
PPLdump — Despejar a memória de um PPL com um exploit de userland | Kitploit
Ferramentas/GitHubGitHub/itm4n/ppldump
Escalada de PrivilégiosForensia de MemóriaExploraçãoRed TeamingDesenvolvimento de PayloadsExploração de BináriosArchived
GitHubitm4n/ppldump

PPLdump

Despejar a memória de um PPL com um exploit de userland

Ver Repositório
893142há 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

PPLdump

⚠️ 2022-07-24 - A partir de Windows 10 21H2 10.0.19044.1826 (atualização de julho de 2022), o exploit implementado no PPLdump não funciona mais. Um patch na NTDLL agora impede que PPLs carreguem Known DLLs. Mais informações aqui.

Esta ferramenta implementa um exploit em modo de usuário que foi inicialmente discutido por James Forshaw (também conhecido como @tiraniddo) - neste post do blog - para despejar a memória de qualquer PPL como administrador.

Escrevi dois posts no blog sobre esta ferramenta. A primeira parte trata dos conceitos de Processos Protegidos, enquanto a segunda discute a técnica de bypass em si.

  • Post do blog parte #1: Do You Really Know About LSA Protection (RunAsPPL)?
  • Post do blog parte #2: Bypassing LSA Protection in Userland

Uso

Basta executar o executável sem qualquer argumento e você obterá uma ajuda/uso detalhado.

root@kitploit:~
c:\Temp>PPLdump64.exe
 _____ _____ __      _
|  _  |  _  |  |   _| |_ _ _____ ___
|   __|   __|  |__| . | | |     | . |  versão 0.4
|__|  |__|  |_____|___|___|_|_|_|  _|  por @itm4n
                                |_|

Descrição:
  Despejar a memória de um Processo Protegido Leve (PPL) com um exploit em *modo de usuário*

Uso:
  PPLdump.exe [-v] [-d] [-f] <NOME_PROC|ID_PROC> <ARQUIVO_DUMP>

Argumentos:
  NOME_PROC  O nome de um processo para despejar
  ID_PROC    O ID de um processo para despejar
  ARQUIVO_DUMP  O caminho do arquivo de dump de saída

Opções:
  -v         (Verboso) Ativar modo verboso
  -d         (Depuração) Ativar modo de depuração (implica verboso)
  -f         (Forçar) Ignorar verificação de erro DefineDosDevice

Exemplos:
  PPLdump.exe lsass.exe lsass.dmp
  PPLdump.exe -v 720 out.dmp

FAQ

Funciona em todas as versões do Windows?

Primeiramente, PPLs foram introduzidas com Windows 8.1, então versões mais antigas do Windows obviamente não são suportadas. Este projeto tem como alvo principal o Windows 10 (e suas edições de servidor), mas também o testei em versões mais antigas. Você encontrará uma tabela resumo dos testes que realizei na seção homônima.

Como é diferente de outras ferramentas?

Outras ferramentas de bypass de PPL geralmente executam código arbitrário no Kernel através de um driver assinado digitalmente. Esta é diferente, pois envolve apenas truques em modo de usuário e é (quase) sem arquivos.

"Modo de usuário", você diz?!

Esta ferramenta aproveita um truque muito inteligente que foi inicialmente discutido por James Forshaw em 2018 (veja Créditos). Envolve o uso da função de API DefineDosDevice para enganar o sistema e criar uma entrada arbitrária de Known DLL. Como os PPLs não verificam a assinatura digital das Known DLLs, isso pode ser posteriormente usado para realizar um ataque de sequestro de DLL e executar código arbitrário dentro de um PPL.

É realmente "sem arquivos"?

Embora esta ferramenta realize um ataque de sequestro de DLL como segundo estágio, ela não cria um novo arquivo DLL no disco. Em vez disso, utiliza uma transação NTFS para substituir virtualmente o conteúdo de uma DLL existente, uma técnica diretamente inspirada no trabalho de @_ForrestOrr (veja Créditos).

Esta ferramenta pode causar um DoS?

A resposta curta é "não". Primeiro, ela não envolve nenhum acesso direto ao Kernel, portanto não há risco de causar uma BSOD desse ponto de vista. No pior cenário, a ferramenta pode falhar ao remover a entrada de Known DLL criada, mas isso não causará uma Negação de Serviço. Ela simplesmente permanecerá lá até a próxima reinicialização da máquina. Como a entrada criada seria apenas um link simbólico apontando para uma seção inexistente, o sistema eventualmente voltará ao local padrão (ou seja, a pasta System32), portanto não afetará outros programas em execução na máquina.

Testes

⚠️ O exploit falha em máquinas Windows 8.1 / Server 2012 R2 totalmente atualizadas. Ainda preciso descobrir qual patch causou o erro.

root@kitploit:~
[-] DefineDosDevice falhou com código de erro 6 - O manipulador é inválido.

⚠️ No Windows 8.1 / Server 2012 R2, você também pode precisar compilar o binário estaticamente (veja "Instruções de compilação" abaixo).

Instruções de compilação

Esta Solução do Visual Studio compreende dois projetos (o executável e uma DLL de payload) que precisam ser compilados em uma ordem específica. Tudo está pré-configurado, então basta seguir estas instruções simples. A DLL de payload compilada é automaticamente incorporada no executável final.

  1. Abra a Solução com o Visual Studio 2019.
  2. Selecione Release / x64 ou Release / x86 dependendo da arquitetura da máquina alvo.
  3. Build > Build Solution.

No Windows 8.1 / Server 2012 R2, você pode precisar compilar o binário estaticamente.

  1. Clique com o botão direito no projeto PPLdump.
  2. Vá para Propriedades da Configuração > C/C++ > Geração de Código.
  3. Selecione Multi-threaded (/MT) como a opção de Biblioteca de Tempo de Execução.
  4. Compile a Solução.

Créditos

  • @tiraniddo - Windows Exploitation Tricks: Exploiting Arbitrary Object Directory Creation for Local Elevation of Privilege
    https://googleprojectzero.blogspot.com/2018/08/windows-exploitation-tricks-exploiting.html
  • @_ForrestOrr - Masking Malicious Memory Artifacts – Part I: Phantom DLL Hollowing
    https://www.forrest-orr.net/post/malicious-memory-artifacts-part-i-dll-hollowing
Baixar ferramenta
Versão do WindowsCompilaçãoEdiçãoArquiteturaAdminSYSTEM
Windows 10 20H219042Prox64✔️✔️
Windows 10 20H219042Prox86✔️✔️
Windows 10 190918363Prox64✔️✔️
Windows 10 150710240Educationalx64✔️✔️
Windows 10 150710240Homex64✔️✔️
Windows 10 150710240Prox64✔️✔️
Windows Server 201917763Standardx64✔️✔️
Windows Server 201917763Essentialsx64✔️✔️
Windows 8.19600Prox64⚠️⚠️
Windows Server 2012 R29600Standardx64⚠️⚠️