
Caricatore process hollowing basato su Nim per eseguibili PE con metodi di iniezione configurabili, syscall dirette/indirette, anti-debug, crittografia del payload e iniezione suddivisa su più processi.
--== Loader di process hollowing scritto in Nim solo per PE ==--
Ho creato PichichiH0ll0wer per imparare e contribuire, certo. ma anche perché sono piuttosto stanco di shellcode ovunque. Caricare PE potrebbe essere meno evasivo, lo so, ma è comunque efficiente e più comodo che lottare per trasformare il tuo payload PE in uno shellcode ogni volta (che non funziona sempre bene). Inoltre, PichichiH0ll0wer ha alcune funzionalità per proteggere il tuo payload. Supporta solo EXE x64.

Esempio di hollowing suddiviso di cscript.exe con cmd.exe che genera whoami.exe:

Costruito con Nim 1.6.12, dovrebbe essere eseguito solo su Windows.
nimble install winim ptr_math nimprotect supersnappy argparse
Usage:
[options] exe_file injection_method
Arguments:
exe_file Exe file to load
injection_method Injection method
1 - Simple hollowing
2 - Direct syscalls hollowing
3 - Indirect syscalls hollowing
4 - Split hollowing using multiple processes
5 - Split hollowing using multiple processes and direct syscalls
6 - Split hollowing using multiple processes and indirect syscalls
Options:
-h, --help
-s, --sponsor=SPONSOR Sponsor path to hollow (default: self hollowing)
-a, --args=ARGS Command line arguments to append to the hollowed process
-f, --format=FORMAT PE hollower format Possible values: [exe, dll] (default: exe)
-e, --export=EXPORT DLL export name (relevant only for Dll format) (default: DllRegisterServer)
-b, --block Block unsigned Microsoft Dlls in the hollowed process
-p, --split Split and hide the payload blob in hollower (takes long to compile!)
-t, --sleep=SLEEP Number of seconds to sleep before hollowing (default: 0)
-g, --anti-debug=ANTI_DEBUG
Action to perform upon debugger detection Possible values: [none, die, troll] (default: none)
-k, --key=KEY RC4 key to [en/de]crypt the payload (supplied as a command line argument to the hollower)
-v, --veh Hollow will occur within VEH
-d, --debug Compile as debug instead of release (loader is verbose)
Inoltre, dai un'occhiata agli esempi.