[Root-Me] ELF32 - System 1

Iniciado por blackdrake, Septiembre 03, 2016, 01:27:13 PM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

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 No tienes permitido ver los links. Registrarse o Entrar a mi cuenta, 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. (No tienes permitido ver los links. Registrarse o Entrar a mi cuenta)

Código: c
#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:



Probaremos a ejecutar el fichero ch11 para comprobar si de verdad es el código que nos han ofrecido:



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



Y listo! Tenemos nuestra flag y nuestros primeros 5 puntos!!

Espero que hayáis aprendido :D

Un saludo,

Blackdrake




Septiembre 03, 2016, 03:47:36 PM #1 Ultima modificación: Septiembre 03, 2016, 03:52:28 PM por rollth
Otra forma de solucionarlo sería la siguiente:



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.