Solo intento ejecutar shellcode directamente desde la línea de comandos. Envío un simple 0x90 NOP y obtengo un error de segmentación.
root@server:~# gcc shellcode.c -o shellrun -fno-stack-protector -z execstack
root@server:~# ./shellrun 'perl -e 'print "\x90"''
Segmentation fault (core dumped)
root@server:~# more shellcode.c
int main(int argc, char *argv[])
{
(*(void(*)())argv[1])();
return 0;
}