Skip to main content
HackTheBox machines – Passage WriteUp

HackTheBox machines – Passage WriteUp

Passage es una de las maquinas existentes actualmente en la plataforma de hacking HackTheBox basada en linux

Passage es una de las maquinas existentes actualmente en la plataforma de hacking HackTheBox y es de dificultad media.

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 Passage 10.10.10.206 a /etc/hosts como passage.htb y comenzamos con el escaneo de puertos nmap.

No encontramos muchos puertos abiertos en esta máquina así que iremos directamente al portal web en el puerto 80.

 

Enumeración

Accedemos al portal en el puerto 80 y obtenemos una página RSS de un blog:

Passage portal

 

Revisamos un poco el portal pero no encontramos nada relevante a excepción de un punto, la imagen de RSS es un enlace a la url

Revisamos un poco por encima y no vemos nada fuera de lo normal así que eliminamos el fichero php y procedemos a acceder al directorio CuteNews donde observamos una pantalla de login:

CuteNews login

 

En la que además podemos observar la versión utilizada, en este caso es CuteNews 2.1.2 por lo que buscamos en google alguna vulnerabilidad y encontramos el CVE-2019-1447 y un exploit para realizar un RCE en el siguiente link

Así que nos descargamos dicho exploit y lo ejecutamos contra la url passage.htb dando lugar al siguiente resultado:

Por lo que verificamos que realmente hemos podido explotar la misma y obtener acceso a la máquina.

Abriremos ahora una shell inversa ejecutando el siguiente comando:

Y obtendremos en nuestra escucha una shell con el usuario www-data

Tenemos una shell, pero no interactiva que digamos, por lo que usaremos python para obtener una shell en condiciones:

Enumeramos la máquina y encontramos el directorio /var/www/html/CuteNews/cdata/users una serie de ficheros con hashes en base 64 por lo que procedemos a obtener y decodificar los mismos:

Y encontramos varios hashes de password en los datos obtenidos. Revisamos el fichero /etc/passwd para conocer los usuarios existentes y vemos que el usuario Paul tiene un usuario creado en la máquina por lo que procedemos a descifrar la misma con john.

Y conseguimos la clave del mismo, así que accederemos al mismo desde la consola obtenida:

 

Obteniendo la flag de user

Ahora que ya estamos con el usuario paul, nos vamos a la home de este y obtenemos la flag de user:

 

Escalado de privilegios

Ahora que ya tenemos acceso a la máquina con un usuario diferente de www-data, enumeramos la misma y descubrimos que el usuario nadav tiene una clave ssh incluida en el authorized_keys del usuario paul y que ademas encontramos también la clave pem del mismo:

Por lo que nos descargamos la misma y accedemos ahora con el usuario nadav a la máquina a través de ssh:

Además observamos que pertenece al grupo sudo pero no conocemos la contraseña del usuario por lo que no podemos hacer gran cosa con ello por el momento. Volveremos entonces a enumerar el sistema a ver si este usuario dispone de más privilegios que el anterior.

Descubrimos la versión ejecutada del sistema operativo:

Y el siguiente proceso muy interesante:

 

El programa usb-creator-helper utiliza la creación de usb en vivo integrada por defecto en ubuntu, llamado “Creador de discos de inicio”. Startup disk creator es una herramienta oficial para crear Live USB de ubuntu desde el live cd o desde una imagen iso.
Esta herramienta se incluye de forma predeterminada en todas las versiones posteriores a ubuntu 8.04, asi que buscaremos si existe alguna vulnerabilidad al respecto en google y encontramos una que puede ayudarnos en la siguiente poc:
https://unit42.paloaltonetworks.com/usbcreator-d-bus-privilege-escalation-in-ubuntu-desktop/

En este caso lo que sucede es que la herramienta usbcreator implementa la herramienta dd para la creación del disco, pero no realiza ninguna comprobacion de saneamiento sobre los archivos que se escriben, ni la ubicacion donde se escriben, ni solicita la password de usuario para aquellos que pertenecen al grupo sudo. En nuestro caso, el usuario nadav pertenece a este grupo como podemos verificar con el comando id:

Utilizando esta vulnerabilidad podemos obtener informacion sensible de root como puede ser la flag o un fichero de claves ssh, asi que en nuestro caso lo utilizaremos para obtener la clave ssh del usuario root y escalar con ello privilegios.  El comando será el siguiente:

Lo ejecutaremos con el usuario nadav:

Y verificaremos que el fichero generado contiene la clave ssh de root:

 

Obteniendo la flag de root

Ahora que ya tenemos la clave ssh de root sólo nos queda acceder con la misma y conseguir nuestra flag:

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 respeto en el siguiente enlace

 

Deja una respuesta

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