Post

Include - THM | by ils00

Include - THM | by ils00

Esta es una de las maneras de resolver la máquina Include de TryHackMe con categoría Media en la plataforma. Esta es una sala que se encuentra en la ruta de aprendizaje Advanced Service-Side Attacks.

Conocimientos Previos:

  • Server-Side Attacks (Avanzados)
  • API
  • Networking (Básico)
  • LFI
  • Código web (Básico)
  • Fuerza Bruta (Básico)

Después de saber todo esto, comencemos!!

** ESPERAR 5 MINUTOS ANTES DE EMPEZAR CON LOS ESCANEOS **

Creamos una jerarquía de directorios para poder tenerlo todo organizado.

Le hacemos un Ping para ver si está levantada la máquina.

Una vez que analizamos esta traza y podemos ver el TTL que es igual a 63 por lo tanto estamos ante una máquina Linux.

Escaneo de Puertos:

Lanzamos el primer comando de escaneo de Nmap que nos dará una vista de más o menos a que nos estamos enfrentando.

nmap -p- --open -sS -n -Pn --min-rate 5000 -v [IP VICTIMA]

Ahora vamos a escanear estos puertos de manera más detallada:

nmap -p22,25,110,143,993,995,4000,50000 -sCV [IP VICTIMA] -oN Targeted

Aquí tenemos todos los puertos y servicios que están corriendo.

Puerto 22 SSH
Puerto 25 SMTP
Puerto 110 POP3
Puerto 143 IMAP
Puerto 993 IMAP/SSL
Puerto 995 POP/SSL
Puerto 4000 HTTP
Puerto 50000 HTTP

En este caso nos vamos a centrar en los dos últimos que vemos que corre un servicio web por detrás.

Análisis I:

Empezamos por el puerto 50000, como podemos ver, parece un portal el cual nos dice que tenemos el acceso restringido.

http://[IP]:50000

Seguidamente, vamos a realizar un ataque de fuerza bruta de directorios con la herramienta gobuster.

gobuster dir -u http://[IP]:50000 -w /diccionario.txt

Vemos varios directorios, vamos a ir mirando que contienen.

Al parecer estos directorios no contienen nada que interesante.

Análisis II:

En otro portal ubicado en el puerto 4000 podemos ver un inicio de sesión y como podemos observar parece que nos dan la contraseña de invitado.

Una vez iniciamos podemos ver la web.

Observemos que hay un perfil de invitado (que es el nuestro) y dos amigos, vamos a ver que contienen.

Revisando todos los perfiles vemos que todos incluso el mío propio de invitado tienen las mismas características.

Al revisar con detalle, me llama la atención el campo isAdmin: false esto quiere decir que no tiene permisos de administrador.

Pero y si intento cambiarlo, en la parte de abajo vamos a introducir: isAdmin y True.

Y vemos que si se cambia, sabiendo esto puedo intentarlo hacer con mi perfil a ver si me da algunos permisos especiales.

Y efectivamente, nos da unos permisos especiales, nos desbloquea unos apartados en la parte superior izquierda del índice.

Entramos en el apartado de API y podemos ver que tenemos información interesante.

Investigando un poco entre en el apartado Settings y podemos ver algo como esto:

Obervamos que podemos poner aqui una imagen para un “Banner” de la aplicación. Si esto no está bien sanitizado, es decir, que no tiene filtros, podemos probar a subir el enlace de la API a ver si obtenemos respuesta, ya que forma parte de la red interna.

La introducimos y el resultado que vemos es el siguiente:

data:application/json; charset=utf-8;base64,eyJSZXZpZXdBcHBVc2VybmFtZSI6ImFkbWluIiwiUmV2aWV3QXBwUGFzc3dvcmQiOiJhZG1pbkAhISEiLCJTeXNNb25BcHBVc2VybmFtZSI6ImFkbWluaXN0cmF0b3IiLCJTeXNNb25BcHBQYXNzd29yZCI6IlMkOSRxazZkIyoqTFFVIn0=

Decodificamos el contenido en base64 mediante el comando:

echo "[CONTENT]" | base64 -d

El resultado es parecido a algo que hemos visto antes:

Ahora ponemos el usuario y la contraseña que hemos encontrado para el SysMon y podemos contestar a la primera pregunta.

Explotación:

Tras un rato dando vueltas por la página web me puse a mirar el código y encontré lo siguiente:

Una imagen con una ruta un poco rara, la abrí y pensé que esto podría acceder a archivos confidenciales del sistema.

Me puse a intentar acceder explotando una vulnerabilidad LFI.

Intento 1:

../../../../../../../etc/passwd

SIN ÉXITO

Intento 2:

Luego pensé que tendrían algo que estuviera bloqueando la combinación de caracteres ../, por lo tanto lo hice doble.

....//....//....//....//etc/passwd

SIN ÉXITO

Intento 3:

Seguidamente probé a urlencodearlo por si había otro tipo de filtro.

....%2F%2F....%2F%2F....%2F%2F....%2F%2F....%2F%2F....%2F%2F....%2F%2F....%2F%2F....%2F%2F....%2F%2Fetc%2Fpasswd

Y BINGOO!!

Podemos ver dos usuarios, vamos a probar a acceder a ellos ya que hemos visto en el escaneo que el puerto SSH está abierto.

Para esta explotación de fuerza bruta la realizaremos con la herramienta hydra.

Probaremos los dos usuarios con la misma lista de contraseñas y BINGOO!

hydra -l joshua -P [DICCIONARIO] ssh://[IP]

hydra -l charles -P [DICCIONARIO] ssh://[IP]

Después de acceder a un usuario podremos contestar a la segunda pregunta.

Y ya lo tenemos.

En esta máquina debido a que es una practica para practicar otro tipo de aptitudes no hay escalada a root.

Conclusión:

Es una máquina que toca algunos temas que son complicados debido a que hay que buscar bastante, tema codigo y tema puntos finales. Por mi parte, me ha llevado 2h realizar esta máquina y he tenido que buscar algo de información en los apuntes debido a que el principio tiene algo de complejidad.

This post is licensed under CC BY 4.0 by the author.