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
Ferramentas/GitHubGitHub/hagrid29/peloader
ExploraçãoShellcodePós-ExploraçãoAnálise de MalwareAnálise de BináriosRed TeamingDesenvolvimento de Payloads
GitHubhagrid29/peloader

PELoader

PE loader com várias técnicas de injeção de shellcode

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

PELoader

PELoader implementa várias técnicas de injeção de shellcode e usa a biblioteca libpeconv para carregar arquivos PE criptografados em vez de injetar shellcode em uma thread remota.

As seguintes técnicas foram implementadas:

  • Module Stomping (LoadLibrary)
  • Module Stomping (NtMapViewOfSection) (PoC)
  • Transacted Hollowing (PoC)
  • Ghostly Hollowing (PoC)
  • Herpaderply Hollowing(PoC)
  • NtMapViewOfSection (RWX-RW-RX)
  • NtAllocateVirtualMemory (RW-RX)

Créditos: a maior parte do meu trabalho foi baseada nos scripts de PoC de @hasherezade.

Testes

PELoader foi testado no Windows 10 com Cortex XDR / SentinalOne / Windows Defender / CrowdStrike, e o Windows Defender / CrowdStrike detectaram as técnicas de Transacted Hollowing. As características de cada técnica foram testadas com a ferramenta de escaneamento de memória Moneta de @forrest-orr.

Module Stomping (LoadLibrary)

Chamar LoadLibrary para carregar uma DLL legítima. Sobrescrever a DLL com o payload.

Prós

  • payload mapeado como MEM_IMAGE, o que parece legítimo para EXE ou DLL
  • personificando uma DLL legítima
  • Seções mapeadas com direitos de acesso originais (sem RWX)

cdll

Module Stomping (NtMapViewOfSection)

Chamar NtCreateSection para criar um objeto de mapeamento de arquivo (PAGE_READONLY) para uma DLL legítima, e chamar NtMapViewOfSection para mapeá-lo para o processo atual. Sobrescrever a DLL com o payload.

Prós

  • payload mapeado como MEM_IMAGE, o que parece legítimo para EXE ou DLL
  • personificando uma DLL legítima
  • Seções mapeadas com direitos de acesso originais (sem RWX)
  • Não conectado à lista de módulos (invisível para Module32First/Module32Next)

Contras

  • Não conectado à lista de módulos (verifique "Missing PEB module" no resultado de escaneamento do Moneta abaixo)

mdll

referência ao PoC de @hasherezade.

Transacted Hollowing

Um híbrido entre Process Hollowing e Process Doppelgänging. Cria um arquivo "invisível" dentro da transação NTFS e escreve o payload no arquivo. Mapeia a seção para o processo atual e executa.

Prós

  • Payload mapeado como MEM_IMAGE
  • Seções mapeadas com direitos de acesso originais (sem RWX)
  • arquivo dummy não precisa existir

Contras

  • Detecção se houver monitoramento de atividade TxF

txf

Ghostly Hollowing

Um híbrido entre Process Hollowing e Process Ghosting. Cria um arquivo com estado de exclusão pendente e escreve o payload no arquivo. Mapeia a seção para o processo atual e executa.

Prós

  • Payload mapeado como MEM_IMAGE
  • Seções mapeadas com direitos de acesso originais (sem RWX)
  • Evita "System Idle Process" sem nenhum caminho de imagem (IOC de process ghosting)

Cron

  • Arquivo dummy criado no disco

ghostreferência ao PoC de @hasherezade.

NtMapViewOfSection (RWX-RW-RX)

Chamar NtCreateSection para criar uma seção de memória (RWX). Chamar NtMapViewOfSection para mapear uma visão para o processo atual (RWX). Chamar VirtualProtect para alterar a proteção para RW. Copiar shellcode para a seção mapeada. Alterar a proteção para RX e executar.

Prós

  • Payload mapeado como MEM_MAPPED para evitar MEM_PRIVATE, que é comum em malware

Contras

  • Define a página de memória com proteção RWX no estágio inicial
  • memória EXE mapeada anormal com proteção RX

map

NtAllocateVirtualMemory (RW-RX)

Chamar NtAllocateVirtualMemory para alocar memória (RW). Copiar shellcode para a memória. Alterar a proteção para RX e executar.

Prós

  • evita página de memória RWX

Contras

  • preparando shellcode em página de memória do tipo privado MEM_PRIVATE
  • memória EXE privada anormal com proteção RX

priv

Uso

Criptografar Payload com AES

Converta o arquivo PE para shellcode com pe_to_shellcode e criptografe com PELoader

root@kitploit:~
cmd> .\pe2shc.exe mimikatz.exe
Reading module from: mimikatz.exe
[WARNING] This is a console application! The recommended subsystem is GUI.
[+] Saved as: mimikatz.shc.exe
cmd> set hagrid=enc mimikatz.shc.exe
cmd> .\PELoader.exe
argument: enc mimikatz.shc.exe
Encrypting File

Execução do PE

Defina o argumento na variável de ambiente "hagrid" e execute o PELoader

root@kitploit:~
cmd> set hagrid=cdll mimikatz.shc.exe.enc
cmd> .\PELoader.exe  version
argument: cdll mimikatz.shc.exe.enc
Classic DLL Hollowing
[*] target dll: C:\WINDOWS\system32\aadtb.dll
[*] implant dll: mimikatz.shc.exe.enc
[*] Loading the DLL (using LoadLibary, classic DLL hollowing)...
[*] Overwriting the mapping
[*] Module Overloading finished...
[*] Executing Implant's Entry Point: 7ff8cf9d7578
[*] Executing Implant as EXE

  .#####.   mimikatz 2.2.0 (x64) #19041 Aug 10 2021 17:19:53
 .## ^ ##.  "A La Vie, A L'Amour" - (oe.eo)
 ## / \ ##  /*** Benjamin DELPY `gentilkiwi` ( [email protected] )
 ## \ / ##       > https://blog.gentilkiwi.com/mimikatz
 '## v ##'       Vincent LE TOUX             ( [email protected] )
  '#####'        > https://pingcastle.com / https://mysmartlogon.com ***/

mimikatz(commandline) # version

mimikatz 2.2.0 (arch x64)
Windows NT 10.0 build 19043 (arch x64)
msvc 150030729 207

mimikatz #

Melhorias

  • @forrest-orr fez uma comparação detalhada sobre variações de implante de shellcode neste artigo
  • @dglenx moveu o conceito para injeção remota de processo e sugere algumas maneiras de lidar com IOCs neste artigo

Referências

  • https://github.com/hasherezade/libpeconv
  • https://github.com/hasherezade/module_overloading
  • https://github.com/hasherezade/transacted_hollowing
  • https://www.forrest-orr.net/post/masking-malicious-memory-artifacts-part-iii-bypassing-defensive-scanners
  • https://www.secforce.com/blog/dll-hollowing-a-deep-dive-into-a-stealthier-memory-allocation-variant/
Baixar ferramenta