Library – TryHackMe Write-up

Library – TryHackMe Write-up

Hoy vamos a resolver la máquina Library hecha por el colega stuxnet en TryHackMe, en ella, gracias a un nombre de usuario que encontraremos en el servicio web podremos hacerle fuerza bruta para obtener un primer acceso al sistema y, luego, escalaremos privilegios gracias a un script en python.

Esta sala se divide en:

Así que vamos a ello.

Enumeración

Lo primero que haremos será un escaneo de todos los puertos con furious, para ello:

 furious -s syn <IP>

Podemos ver que tiene el puerto 22 (SSH) y el 80 (HTTP) abiertos:

Escaneo con furious en Library de TryHackMe

Tengo un alias en el bashrc donde al ejecutar “furious” automáticamente ya ejecuta “furious -s syn”, de ahí que solo use “furious” como se ve en la imagen.

 

Hagamos un escaneo más detallado con nmap sobre los puertos detectados:

 nmap -A -p22,80 <IP>

En la salida, podemos ver que nos pone que el sitio web tiene el robots.txt y dentro de él tiene una entrada deshabilitada:

Escaneo con nmap

Bueno, si revisamos el servidor web, podemos ver que es un simple blog donde un tal “meliodas” escribe:

Reconocimiento web

Revisándolo más tampoco hay nada interesante, así que vayamos al robots.txt a ver si cuál es la entrada oculta:

Robots

Parece que su user-agent es rockyou, a lo mejor se refiere al diccionario de contraseñas rockyou.txt, entonces parece que debemos hacer un ataque de diccionario para logearnos, a lo mejor en el servicio SSH, recuerda que ya tenemos un posible usuario, “meliodas” el autor de las entradas del blog:

Nombre de usuario

Igualmente, la búsqueda de directorios con gobuster no reveló nada interesante más que confirmarnos que por donde debemos ir es por lo que indica el robots.txt:

Fuzz con gobuster

Ahora mismo, con toda esta información, procedemos a intentar conseguir la flag de usuario.

user.txt

Entonces partiendo de estas pistas que tenemos, usemos hydra para intentar acceder por ssh, con el usuario “meliodas” y usando rockyou.txt para adivinar la contraseña, para ello:

hydra -l meliodas -P <wordlists> ssh://<IP> -vV -f -t 25

Tras pasar algunos minutos, tenemos la contraseña de meliodas:

Hydra fuerza bruta

Con estas credenciales iniciemos sesión por ssh:

Inicio de sesión por ssh

Simplemente lee la bandera:

User.txt

root.txt

Como es deducible, en este punto no tenemos permisos para leerla:

No acceso a root.txt

Entonces, hay que escalar privilegios, para ello, probemos hacer algo básico, hacer un “sudo -l” para ver que binarios se nos han autorizado a ejecutar en el sudoers, al hacerlo notarás algo interesante:

sudo -l de la máquina librery en tryhackme

Fíjate que, podemos ejecutar cualquier versión de python y el script en python llamado bak.py que está en el home del usuario con el que accedimos.

El script es el siguiente:

script en python

Sin embargo, no tenemos permisos para modificarlo:

Permisos script

Así que simplemente eliminémoslo y hagamos otro con el mismo nombre que en lugar de tener ese script dentro, tenga una shell reversa en python, para ello:

rm /home/meliodas/bak.py

Y luego:

echo ‘import pty; pty.spawn(“/bin/bash”)’ > /home/meliodas/bak.py

Luego de esto, deberías tener un nuevo fichero llamado “bak.py”, es decir, con el mismo nombre del fichero que borramos antes, con el siguiente contenido:

contenido nuevo script en python

Ahora se ejecuta el fichero bak.py con sudo delante:

sudo /usr/bin/python /home/meliodas/bak.py

Al ejecutarlo, se obtiene una shell como root:

shell como root

Y, finalmente ya se puede leer la flag de root:

lectura del root.txt

Opinión personal:

  • Dificultad de acceso: 4% 4%
  • Dificultad de escalación de privilegios: 5% 5%

He hecho esta puntuación basándome en estos valores propios:

Fácil1% – 30%

Medio: 31% – 70%

Difícil: 71% – 100%

Anuncio

Sobre el Autor

Martin Frias

Founder of Coldd Security

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Información adicional sobre protección de datos:
Responsable: Martin Frias.
Finalidad: Moderar los comentarios de este sitio web.
Cesión: NO se cederán a nadie, salvo obligación legal.
Derechos: Acceso, rectificación, cancelación y borrado de tus datos.
Legitimación: Tu consentido expreso.

REDES SOCIALES

Newsletter

Estadísticas

  • 106.303
  • 51

TheHackerSnow

0

Share This