Skip to main content
HackTheBox machines – Devzat WriteUp

HackTheBox machines – Devzat WriteUp

Devzat es una de las maquinas existentes actualmente en la plataforma de hacking HackTheBox basada en Linux

Devzat 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 Devzat 10.10.11.118 a /etc/hosts como devzat.htb y comenzamos con el escaneo de puertos nmap.

Revisamos los puertos existentes y vemos dos interesnates, el puerto 80 que pertenece a una página web y el puerto 8000 en el cual hay una aplicación de go mediante ssh.

 

Enumeración

Comenzamos la enumeración revisando el portal web a través de la url de devzat.htb

 

Revisamos la web y encontramos una cosa interesante casi al final de la misma, donde indica como conectarnos a un chat a través de ssh y el puerto 8000 visto anteriormente

Así que vamos a conectarnos al mismo

Vemos la ayuda del chat

Y los comandos disponibles del mismo

 

Después de revisar un rato el chat y las opciones disponibles, parece que no podemos hacer mucho más por ahora así que vamos a realizar una serie de enumeraciones y encontramos un dominio interesante al hacer la enumeración de virtualhosts

 

Descubrimos la url de pets.devzat.htb que se trata de un inventario de mascotas

 

No parece que haya mucho más por aqui así que enumeramos directorios con gobuster y encontramos uno en concreto que nos será de ayuda

 

Vemos que hay un directorio de git por lo que utilizaremos la tool de git-dumper para descargar su contenido

 

Revisamos el código existente y observamos que cuando carga la especie, ejecuta el comando sin aplicar ninguna validación ni saneamiento sobre la misma, por lo que puede ser un punto de entrada

 

Dicho esto interceptaremos la petición de creación de mascota con burp suite y editaremos el valor del campo species por nuestra rev shell que será la siguiente

La codificamos en base 64 y la enviaremos a través de burp

 

Y obtendremos una shell con el usuario patrick en nuestra escucha

 

Ya estamos dentro, pero este usuario no es capaz de obtener la flag así que vamos a enumerar el sistema en detalle y encontramos un proceso muy interesante

En la máquina existe un contendor con el cual redirecciona el puerto 8086 de local al mismo, así que vamos a ver que hay aqui.

Para ello necesitaremos abrir un tunel entre nuestra máquina y la víctima y para ello utilizaremos chisel.

Así que vamos a ello, en primer lugar necesitaremos levantar el servidor

Posteriormente levantamos el cliente que se conectará a nuestro servidor

Y veremos como tenemos la escucha y el puerto 8086 de la máquina devzat redireccionado al 8086 local

Así que vamos a utilizar nmap para descubrir que hay en ese puerto

Descubrimos que se trata de un InfluxDB y además sabemos también su versión 1.7.5 por lo que vamos a google y encontramos la vulnerabilidad CVE-2019-20933 y un exploit público para su explotación

Así que lo ejecutamos

Y bingo!, vamos a revisar que tablas existen en el esquema devzat

Y vamos a sacar los datos de la tabla user

Y tenemos una password.

 

Obteniendo la flag de user

Utilizamos la password obtenida para escalar privilegios y conseguir la primera flag

 

Escalado de privilegios

Bueno llegados a este punto, vamos a enumerar otra vez la máquina a ver que descubrimos ahora y encontramos dos backups muy suculentos

Uno corresponde al entorno de desarrollo y el otro al entorno principal al que nos conectamos anteriormente, así que nos descargamos los mismos y revisamos las diferencias entre ambos entornos, en concreto, y después de un rato buscando, del fichero commands.go

Y vemos que hay una diferencia entre ambos entornos, y es que en dev hay un comando que no pasó a main

Además el puerto del entorno de dev es diferente

Así que vamos a conectarnos y a probar el mismo

Parece que podemos obtener cualquier fichero del servidor así que vamos a tratar de obtener la key ssh del usuario root

Y Bingo! la tenemos, aunque obviamente no vamos a ponerla aquí también.

 

Obteniendo la flag de root

Ahora que ya tenemos la key de root la utilizaremos para acceder por ssh y obtener la 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.