Skip to main content
HackTheBox machines - ForwardSlash

HackTheBox machines – ForwardSlash WriteUP

ForwardSlash es una de las maquinas existentes actualmente en la plataforma de hacking HackTheBox.

ForwardSlash es una de las maquinas existentes actualmente en la plataforma de hacking HackTheBox y es de dificultad difícil.

En este caso se trata de una máquina basada en el Sistema Operativo Linux.

 

Escaneo de puertos

Como de costumbre, agregamos la IP de la máquina ForwardSlash 10.10.10.183 a /etc/hosts como forwardslash.htb y comenzamos con el escaneo de puertos nmap.

En esta máquina no tenemos abiertos apenas servicios así que iremos directamente al puerto 80 donde vemos el siguiente portal web:

HackTheBox machines - ForwardSlash

 

Enumeración

Escaneamos el portal con dirb mientras investigamos la web pero no encontramos prácticamente nada al respecto, sólo un fichero llamado note.txt con el siguiente contenido:

En el mismo parece que chiv puede ser un posible usuario en la máquina y menciona que todavía está todo bien porque está disponible el site backup.

Añadiremos a nuestro fichero /etc/hosts dicho sitio para poder acceder al mismo:

Y accedemos al portal de backup donde vemos un formulario de login:

HackTheBox machines - ForwardSlash

Puesto que no tenemos una cuenta, nos creamos una a través del enlace de “sign up now” y nos logueamos en el portal accediendo a la siguiente ventana en la url /welcome.php

Acceso como admin

En esta sección, tenemos varias opciones a nuestra disposición como cambiar el password, nombre de usuario, imagen de perfil, etc.

Procedemos a acceder a la sección de cambiar de perfil pero está deshabilitada así que la dejaremos, al menos de momento.

Al descubrir el portal, habíamos lanzado otra vez la herramienta dirb, y descubrimos otra página bajo el directorio de /dev donde disponemos de un formulario para el envío de datos por xml. En esta sección hicimos varias pruebas y es necesario que el usuario con el cual se accede tenga el nombre de admin, si no es el caso, la página devolverá un error 403 prohibiendo el acceso:

 

Chequeando la API XML

Esto nos da que pensar, ante la posibilidad de que el mismo sea vulnerable a XXE por lo que para comprobarlo lanzamos una primera consulta para obtener el fichero /etc/passwd con el siguiente payload:

Y conseguimos que nos devuelva el contenido del fichero:

Chequeando la API XML

Aquí conseguimos encontrar dos posibles usuarios potenciales con los que obtener acceso a la máquina, chiv y pain.

Después de esto procedemos a descargar diferentes ficheros del portal con la idea de encontrar las credenciales de alguno de los usuarios descubiertos y conseguimos la misma con el fichero index.php de este mismo directorio dev con la siguiente carga útil:

Decodificamos el contenido del base64 obtenido y conseguimos el código del fichero index.php que es el siguiente:

En el que vemos unas credenciales del usuario chiv en la siguiente línea:

Probamos el acceso a la máquina y ya estamos dentro con el usuario chiv:

Pero este usuario no tiene permisos para leer la flag así que seguiremos buscando.

 

Escalado de lateral

Ahora que ya estamos dentro, observamos que en el directorio /home existe otro usuario, pain, así que tendremos que escalar al mismo para conseguir la flag de user, que se encuentra en la home de este usuario.

Enumeramos el sistema y obtenemos dos cosas que pueden sernos muy útiles, por una parte el directorio /var/backups:

Donde encontramos el fichero config.php.bak para el cual sólo tiene permisos el usuario pain, y el fichero note.txt cuyo contenido es el siguiente:

Nos dice que es el sitio del backup antiguo, y que no lo toquemos, así que obviamente, no vamos a hacer lo que nos dice, tendremos que tocarlo jaja.

Buscamos los posibles ficheros binarios a los cuales tenemos acceso y encontramos uno en particular muy interesante:

Ejecutamos el mismo y obtenemos la siguiente salida:

Parece que el script falla porque no existe el fichero o, porque no tenemos permisos en el mismo. Después de un rato investigando a fondo y comprobando las posibilidades creamos un script simple para tratar de obtener el fichero mencionado de /var/backups a través de un enlace y con el nombre del hash de la hora del sistema en el momento de la ejecución. El script es el siguiente:

Ejecutamos el mismo y bingo, conseguimos el contenido del fichero config.php.bak al ejecutar el binario de backup:

Y con ello la password del usuario pain.

 

Obteniendo la flag de user

Con las credenciales obtenidas escalamos al usuario pain y conseguimos la flag de user:

 

Escalando privilegios a root

Estamos un poco más cerca de root así que revisaremos a continuación los permisos del usuario pain:

Y observamos la carpeta recovery a la que no teníamos acceso antes:

Parece que el backup está encriptado, así que siguiendo con la búsqueda encontramos un directorio llamado encryptorinator en la home del usuario pain y en la misma un script en python y un fichero con un texto cifrado:

Analizamos el script en python y su código es el siguiente:

Tenemos la función a través de la cual se ha cifrado y el código para descifrarlo pero parece que vamos a necesitar algo más, creamos nuestro exploit en python, cuyo contenido es el siguiente:

Como se aprecia, copiamos el código de descifrado, y le añadimos el código para abrir el fichero e ir comprobando el decodificado realizado. Ejecutaremos el mismo y obtenemos el siguiente texto descifrado:

Y tenemos la clave para descifrar el fichero de imagen que encontramos en la ruta del backup.

Volviendo a los permisos de sudo de los que disponía el usuario:

Podemos descifrar cualquier archivo con luks, montar la unidad de /dev/mapper/backup sobre ./mnt y desmontar la unidad sobre mnt, así que procedemos en primer paso a descifrar el archivo de imagen encontrado:

Posteriormente lo montamos:

Y revisamos el contenido:

Y tenemos una clave para el acceso de ssh del usuario root.

 

Obteniendo la flag de root

Con la clave ssh obtenida, probamos el acceso como root a la máquina:

Y ya tenemos nuestra flag de root para completar esta máquina y conseguir nuestros puntos.

 

Si eres usuario de HackTheBox y te gustó mi writeup, por favor, dame respecto en el siguiente enlace https://www.hackthebox.eu/home/users/profile/103792

 

Deja una respuesta

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