Aprovechar vulnerabilidades del sistema



Si miramos bien el código, podemos ver que hay permisos de superusuario y que hay un printf donde dice... "/usr/bin/env echo now what?". Esto es importante, significa que puede ejecutarse con modificar enviroment.

Hagamos que echo este ligado a getflag, usemos una carpeta temporal con permisos /tmp. Esto no es necesario, igual puede funcionar si solo hacemos un archivo llamado echo en /tmp con la cadena "/bin/sh" dentro



Ahora exportemos al enviroment del sistema a echo ligado a getflag.



Veamos como se ve ahora, podemos usar export -p o un echo a $PATH.



Ejecutemos la aplicación para ver que resultado nos da.



Listo.

Si ejecutamos solo el archivo echo sin ligar getflag, puede funcionar así.