Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
PELoader — Caricatore PE con varie tecniche di iniezione di shellcode | Kitploit
Strumenti/GitHubGitHub/hagrid29/peloader
ExploitShellcodePost-ExploitAnalisi MalwareAnalisi di BinariRed TeamingSviluppo Payload
GitHubhagrid29/peloader

PELoader

Caricatore PE con varie tecniche di iniezione di shellcode

Vedi Repository
455663 anni faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

PELoader

PELoader implementa varie tecniche di iniezione di shellcode e utilizza la libreria libpeconv per caricare file PE crittografati invece di iniettare shellcode in un thread remoto.

Sono state implementate le seguenti tecniche:

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

Crediti: la maggior parte del mio lavoro si è basato sugli script PoC di @hasherezade.

Testing

PELoader è stato testato su Windows 10 con Cortex XDR / SentinalOne / Windows Defender / CrowdStrike, e Windows Defender / CrowdStrike hanno rilevato le tecniche Transacted Hollowing. Le caratteristiche di ogni tecnica sono state testate con lo strumento di scansione della memoria Moneta di @forrest-orr.

Module Stomping (LoadLibrary)

Chiama LoadLibrary per caricare una DLL legittima. Sovrascrive la DLL con il payload.

Pro

  • Payload mappato come MEM_IMAGE che appare legittimo per EXE o DLL
  • impersona una DLL legittima
  • Sezioni mappate con i diritti di accesso originali (nessun RWX)

cdll

Module Stomping (NtMapViewOfSection)

Chiama NtCreateSection per creare un oggetto di mapping di file (PAGE_READONLY) per una DLL legittima, e chiama NtMapViewOfSection per mapparlo al processo corrente. Sovrascrive la DLL con il payload.

Pro

  • Payload mappato come MEM_IMAGE che appare legittimo per EXE o DLL
  • impersona una DLL legittima
  • Sezioni mappate con i diritti di accesso originali (nessun RWX)
  • Non collegato all'elenco dei moduli (invisibile per Module32First/Module32Next)

Contro

  • Non collegato all'elenco dei moduli (controlla "Missing PEB module" nel risultato di scansione di Moneta sottostante)

mdll

riferimento al PoC di @hasherezade.

Transacted Hollowing

Un ibrido tra Process Hollowing e Process Doppelgänging. Crea un file “invisibile” all'interno della transazione NTFS e scrive il payload nel file. Mappa la sezione nel processo corrente e la esegue.

Pro

  • Payload mappato come MEM_IMAGE
  • Sezioni mappate con i diritti di accesso originali (nessun RWX)
  • il file fittizio non deve necessariamente esistere

Contro

  • Rilevamento se c'è monitoraggio dell'attività TxF

txf

Ghostly Hollowing

Un ibrido tra Process Hollowing e Process Ghosting. Crea un file con stato di eliminazione in sospeso e scrive il payload nel file. Mappa la sezione nel processo corrente e la esegue.

Pro

  • Payload mappato come MEM_IMAGE
  • Sezioni mappate con i diritti di accesso originali (nessun RWX)
  • Evita "System Idle Process" senza alcun percorso immagine (IOC del process ghosting)

Contro

  • File fittizio creato su disco

ghostriferimento al PoC di @hasherezade.

NtMapViewOfSection (RWX-RW-RX)

Chiama NtCreateSection per creare una sezione di memoria (RWX). Chiama NtMapViewOfSection per mappare una vista nel processo corrente (RWX). Chiama VirtualProtect per cambiare la protezione in RW. Copia lo shellcode nella sezione mappata. Cambia la protezione in RX e lo esegue.

Pro

  • Payload mappato come MEM_MAPPED per evitare MEM_PRIVATE che è comune nei malware

Contro

  • Imposta la pagina di memoria alla protezione RWX nella fase iniziale
  • Memoria EXE mappata anomala con protezione RX

map

NtAllocateVirtualMemory (RW-RX)

Chiama NtAllocateVirtualMemory per allocare memoria (RW). Copia lo shellcode nella memoria. Cambia la protezione in RX e lo esegue.

Pro

  • evita la pagina di memoria RWX

Contro

  • staging dello shellcode in una pagina di memoria di tipo privato MEM_PRIVATE
  • Memoria EXE privata anomala con protezione RX

priv

Utilizzo

Crittografa il Payload AES

Converte il file PE in shellcode con pe_to_shellcode e lo crittografa con 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

Esecuzione del PE

Imposta l'argomento nella variabile d'ambiente "hagrid" ed esegui 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 #

Miglioramenti

  • @forrest-orr ha realizzato un confronto dettagliato sulle variazioni degli implant di shellcode in questo articolo
  • @dglenx ha spostato il concetto verso l'iniezione remota di processo e suggerisce un paio di modi per affrontare gli IOC in questo articolo

Riferimenti

  • 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/
Scarica lo strumento