ssh level1@io.smashthestack.org
password: level1
cd /levels/
Para ejecutar el software escribimos lo siguiente
./level01
Nos solicita un passcode de 3 dígitos, bueno eso es lo que debemos encontrar. :)
Lo primero que se me vino a la mente es que puede ser un script el cual debería tener el password, así que intente abrir el archivo usando el comando
vim level01
pero no fue así :( en realidad es un archivo binario. Una vez sabido esto pues entonces hay que leer el binario. Para eso podemos utilizar la herramienta GDB Cerramos el archivo que abrimos tecleando.
:q
Para ejecutar gdb escribimos en consola:
gdb level0.1
gdb nos da una consola en donde vamos a ejecutar el comando functions para saber que funciones tiene el programa, las mismas que vamos a desensamblar mas tarde.
info functions
nos aparece una serie de funciones, la que nos interesa es la función main, la función principal.
lo siguiente que vamos a ejecutar es el comando:
disassemble main
Esta función nos da como resultado el código en ensamblador de la función main. Aquí podemos encontrar una instrucción llamada cmp, esta instrucción se utiliza para comparar. Vemos que tiene un numero en hexadecimal $0x10f del cual solo nos interesa la ultimas 3 cifras. estas las pasamos a formato Decimal y listo tenemos la clave.
Cerramos el gdb con la tecla q y un enter.
Finalmente volvemos a ejecutar el archivo con el comando
./level01
colocamos el pass y nos abrirá un shell con privilegio para abrir el archivo que contiene el pass del nivel 2
Escribimos en consola:
vim /home/level2/.pass
de esta manera tenemos el pass para acceder al siguiente nivel.
No hay comentarios:
Publicar un comentario