Jurassic Park – TryHackMe

Jurassic Park – TryHackMe

Hoy vamos a realizar la máquina “Jurassic Park” de TryHackMe, en ella gracias a la inyección SQL en su servicio web podremos obtener las credenciales para acceder por SSH y luego, gracias a tener permisos para ejecutar un binario como root podremos escalar privilegios.

Dificultad asignada por THM: Difícil

La ip de la máquina en mi caso será: 10.10.111.115

Esta sala la dividiré es los siguientes apartados que son preguntas que tiene la misma sala y otros apartados que agregué (sí, ya sé son bastantes):

Introducción:

Primero, haremos un escaneo a la máquina con nmap para ver qué servicios corre, para ello usa:

 nmap -sC -sV -T4 <Ip>

A priori, podemos ver que tenemos el puerto 22 (SSH) y el 80 (HTTP) abiertos:

nmap scan

Si entramos al servidor web, veremos que es una web con temática de Jurassic Park y que hay una tienda online:

pagina web, es una tienda online

Bien, entremos a la tienda online:

tienda online

Bien, podemos elegir entre 3 paquetes para nuestra visita a el parque Jurásico, elijamos, por ejemplo, el paquete oro y fíjate en la url:

Comprobacion de la web

Esto ya se ve interesante, probemos hacer una inyección sql básica:

sql injetion failed

Vaya vaya, parece que no podemos hacerlo.

Pues ya que estamos, probemos cambiar el número de la id, si lo vas cambiando de forma ascendente poco a poco llegarás hasta el 5, y ahí habrá algo interesante:

caracteres sql bloqueados

Uhm, parece ser que dennis ha filtrado unos caracteres. Pero esto nos da una pista, podemos seguir intentando hacer una inyección SQL pero no usando los caracteres que el buen dennis ha filtrado, podemos usar UNION, con 9 columnas por ejemplo:

comprobación de posible sqli

Bien, parece que no hay 9 columnas exactamente, en este punto me puse a probar con otros números, subí hasta el 20 y de ahí fui bajando y al llegar al 5 me tope con esto:

sqli

Entonces podemos ver que la columna 2 corresponde al paquete, la 3 al precio, la 4 a la descripción y, por último, la 5 al número de paquetes comprados. Partiendo de esto, solo queda jugar con los valores para ir resolviendo las cuestiones planteadas.

¿Cómo se llama la base de datos SQL que sirve la información de la tienda?

Para esto, simplemente llame a la función database en alguna de las columnas:

¿Cuántas columnas tiene la tabla?

Bueno, en este punto ya lo debes saber, de lo contrario vuelve a leer la introducción ?.

¿Cuál es la versión del sistema?

Usaremos version para esto (fíjate en la url):

¿Cuál es la contraseña de Dennis?

Despúes de estar un rato buscando que tablas habían en la base de datos me tope con una “users” y dentro de había una columna llamada “password” así que deduje que a contraseña está en una columna llamada “password” dentro de una tabla llamada “users”, partiendo de esto obtengamos la columna password DESDE users:

Ahora con esas credenciales podemos iniciar sesión en el servicio ssh que detectamos con nmap, recuerda que ya tenemos un nombre de usuario “dennis” y ahora también su contraseña. Bien, al hacerlo ya entramos al sistema:

Bandera 1:

Simplemente lista el directorio y lee la bandera:

Bandera 2:

Recorriendo un poco el sistema y leyendo ficheros pude percatarme que en el fichero “.viminfo” está la ruta hacia la bandera dos, léelo y luego lee la bandera:

Bandera 3:

Igualmente recorriendo el sistema, pude notar que la bandera 3 esta dentro del fichero “.bash_history”:

Bandera 4:

ACTUALIZACIÓN: Ya no es necesaria.

Bandera 5:

Ya casi se completa esta sala y aún no hemos escalado privilegios, por ende es de suponer que la bandera 5 está en el directorio root, pero no tenemos permisos, hay que escalar privilegios como te he dicho, veamos que podemos ejecutar como sudo, ejecuta:

sudo -l 

Vemos que podemos ejecutar como sudo scp, scp es un medio de transferencia de archivos entre un host remoto y uno local a través de ssh:

Para escalar privilegios por este medio podemos hacer uso del tutorial que proporciona GTFO Bins:

Y ya estaría completada la sala.

Opinión personal:

  • Difícultad de acceso 31% 31%
  • Difícultad de escalación de privilegios 8% 8%

He hecho esta puntuación en opinión personal, basándome en estos valores:

Fácil: 1% – 30%

Medio: 31% – 70%

Difícil: 71% – 100%

Esta máquina esta categorizada como “difícil” y a mi humilde opinión alguien que ya este algo familiarizado con las inyecciones SQL la hace muy fácil, además que la dificultad en general no ha sido digna de una máquina “difícil”, yo la categorizaría como una dificultad media o incluso fácil.

Anuncio

Sobre el Autor

Martin Frias

Founder of Coldd Security

REDES SOCIALES

Newsletter

Estadísticas

  • 106.299
  • 51

TheHackerSnow

0

Share This