Buenas! Debido a que hemos inaugurado hace poco esta sección, he decidido comenzar a postear todas las soluciones de los retos que vaya haciendo de la web root-me.org, el objetivo es que os enfrentéis a los retos con vuestros propios conocimientos (además, os suelen orientar con un par de pistas al inicio de cada reto), no obstante, considero que este tipo de post servirá bastante a los nuevos o a la gente que sepa continuar con el wargame.
En este caso, nos enfrentamos al primer reto de App - Script llamado ELF32 - System 1. (https://www.root-me.org/es/Challenges/App-Script/ELF32-System-1)
#include <stdlib.h>
#include <stdio.h>
/* gcc -m32 -o ch11 ch11.c */
int main(void)
{
system("ls /challenge/app-script/ch11/.passwd");
return 0;
}
Y este es el código que nos permiten ver, bien, comencemos.
Primero nos conectaremos vía ssh a la máquina:
(https://accessgranted.es/wp-content/uploads/2016/retos/1/1.png)
Probaremos a ejecutar el fichero ch11 para comprobar si de verdad es el código que nos han ofrecido:
(https://accessgranted.es/wp-content/uploads/2016/retos/1/2.png)
Si nos fijamos nos ofrece el directorio de nuestra flag "/challenge/app-script/ch11/.passwd" y hace un ls de ella. Obviamente, el comando ls no nos sirve de nada, en este caso necesitaríamos el comando CAT.
Para ello, vamos a crear un alias, una vez creado, exportaremos nuestro PATH para que no encuentre el comando ls y tenga que usar nuestro "ls" :P
(https://accessgranted.es/wp-content/uploads/2016/retos/1/3.png)
Y listo! Tenemos nuestra flag y nuestros primeros 5 puntos!!
Espero que hayáis aprendido :D
Un saludo,
Blackdrake
Otra forma de solucionarlo sería la siguiente:
(https://i.imgur.com/EUzuobZ.png)
Creamos la carpeta /bin dentro de /tmp/, copiamos el comando cat como ls.
Añadimos la carpeta a la variable del sistema $PATH, y ejecutamos el programa.