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
pe_to_shellcode — Converte PE in uno shellcode. | Kitploit
Strumenti/GitHubGitHub/hasherezade/pe_to_shellcode
ExploitShellcodePenetration TestingGenerazione di ShellcodeSviluppo PayloadBinary Exploitation
GitHubhasherezade/pe_to_shellcode

pe_to_shellcode

Converte PE in uno shellcode.

Vedi Repository
2.8k47111 mesi 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
Sito web

pe_to_shellcode

Build status GitHub release Github All Releases Github Latest Release

Converte un PE in modo che possa essere iniettato proprio come un normale shellcode.
(Allo stesso tempo, il file di output rimane un PE valido).
Supporta PE sia a 32 che a 64 bit

Autori: @hasherezade & @hh86

Obiettivo

L'obiettivo di questo progetto è fornire la possibilità di generare file PE che possano essere iniettati con il minimo sforzo. È ispirato al ReflectiveDLLInjection di Stephen Fewer - ma la differenza è che con pe2shc puoi aggiungere lo stub di caricamento riflessivo dopo la compilazione. Inoltre, l'intestazione del file PE viene modificata in modo tale da poter iniziare a eseguire il buffer iniettato dall'inizio - proprio come faresti con uno shellcode. Troverà automaticamente lo stub e continuerà a caricare l'intero PE.

Ambito del progetto

🟢 Lo stub supporta solo le strutture di base del formato PE, come:

  • rilocazioni
  • importazioni
  • callback TLS (chiamati una volta, prima che venga eseguito il Entry Point)

Tieni presente che, sebbene per la maggior parte dei file PE questo sia sufficiente, alcuni eseguibili che incontri potrebbero utilizzare altri aspetti più complessi del formato PE. Ciò significa che non tutti i PE possono essere convertiti con successo in shellcode.

🚫 Esempi di elementi attualmente non supportati:

  • eccezioni (se l'eseguibile convertito viene eseguito come shellcode e solleva un'eccezione, il gestore di eccezioni appropriato non verrà trovato e l'applicazione si bloccherà)
  • Importazioni a caricamento ritardato (è supportata solo la tabella delle importazioni di base)
  • file MUI (se l'eseguibile convertito si aspetta che alcuni elementi della GUI vengano caricati da un file MUI, non funzionerà)

Compilazioni

📦 ⚙️ Scarica l'ultima release.

Clonazione

Usa il clone ricorsivo per ottenere il repository insieme a tutti i sottomoduli:

root@kitploit:~
git clone --recursive https://github.com/hasherezade/pe_to_shellcode.git

Come usarlo

  1. Usa pe2shc.exe per convertire un PE a tua scelta:
root@kitploit:~
pe2shc.exe <path to your PE> [output path*]
* - optional

Se il PE viene convertito con successo, pe2shc ti farà sapere dove è stato salvato l'output:

root@kitploit:~
[+] Saved to file: <converted file>

i.e.

root@kitploit:~
[+] Saved to file: test_file.shc.exe
  1. Usa runshc.exe(*) per eseguire il file di output e verificare che la conversione sia avvenuta correttamente.
root@kitploit:~
runshc.exe <converted file>

(*)Avvertenza: ricorda di usare la versione di runshc con il bitness appropriato (32 o 64 bit) alla tua applicazione convertita - altrimenti l'applicazione si bloccherà!

  1. Se il file viene eseguito come il PE originale, conferma che la conversione è riuscita!
    Ora puoi usare il PE convertito proprio come useresti uno shellcode: iniettalo in un target ed eseguilo dall'inizio del buffer. Non sono necessari loader PE aggiuntivi.
    Allo stesso tempo, puoi continuare a usare il file convertito come un normale PE.
Scarica lo strumento