La idea es poder montar un laboratorio virtual automatizado para poder practicar las técnicas descritas en el libro de David Puente Castro (a.k.a. Blackngel) 'Linux Exploiting' y publicado por 0xWORD.
Para poder instalar la máquina virtual es necesario tener instalado en el sistema tanto Vagrant (http://www.vagrantup.com/) como VirtualBox (https://www.virtualbox.org/).
Una vez instalados es cuestión de dirigirte al directorio donde te hayas bajado el proyecto y donde esté situado el fichero Vagrantfile y ejecutar:
vagrant up
A día de hoy, la máquina instala gdb, nasm y vim. Además se añade un script en ~/bin incluído en el PATH llamado gcc2. Para usarlo se hace de este modo:
gcc2 fichero_fuente.c fichero_salida
En realidad este script encapsula la siguiente instrucción descrita en el libro:
gcc -fno-stack-protector -D_FORTIFY_SOURCE=0 -z norelro -z execstack fichero_fuente.c -o fichero_salida
Cuando se crea la máquina también se elimina la protección mediante la randomización de posiciones de memoria en binarios compilados ejecutando
echo 0 > /proc/sys/kernel/randomize_va_space