Valentine | Hack The Box

En este tutorial voy a mostrar como obtuve la bandera root en la máquina Valentine de Hack The Box. Esta propiedad se presenta como un desafío de nivel fácil.

Valentine

3 de octubre de 2024

Enumeración


Para comenzar voy a realizar un escaneo de puertos con nmap:

nmap

Veo que se encuentran abiertos los puertos 22, 80 y 443.

Voy a ingresar en la página para ver de que se trata:

web

Se trata simplemente de una imagen, la cual al ser estática no parece tener nada prometedor, con lo cual voy a realizar una búsqueda de directorios ocultos para ver si encuentro algo:

Gobuster

Esta búsqueda de directorios me dio varios puntos a analizar. Lo primero que hice fue analizar la ruta /cgi-bin/ pero no encontré nada de utilidad. Luego fui por la dutoa /dev y encontré 2 archivos interesantes:

archivos

El primero contenía un código hexadecimal:

hexadecimal

Y el otro archivo unas anotaciones de tareas a realizar:

anotaciones

Por ahora me voy a centrar en el código hexadecimal, lo que voy a hacer es intentar convertirlo para ver si me devuelve algo de utilidad:

hexadecimal decoder

Y por lo que veo me devolvió una clave privada RSA, la cual voy a guardar ya que seguramente me sirva mas adelante.

Ahora voy a seguir analizando el resto de directorios que me devolvió el análisis con gobuster.

Las páginas /encode y /decode pareciera ser que permiten codificar y decodificar palabras:

decodeencode

Realizando alguna pruebas noté que estas páginas eran vulnerables a XSS (Cross Site Scripting), pero lamentablemente no había mucho que hacer con esa vulnerabilidad.

Para esta altura no sabía muy bien por donde seguir y opte por realizar un escaneo de vulnerabilidades, para eso usé nmap:

nmap vulnerabilidades

El escaneo me devolvió un bug llamado Heartbleed que afecta al puerto 443.

Explotación


Ya habiendo encontrado una vulnerabilidad potencial voy a tratar de explotarla.

Investigué un poco mas sobre esta vulnerabilidad y encontré un exploit: https://github.com/mpgn/heartbleed-PoC.

Así que bien, en primer lugar voy a descargar el repositorio y ejecutar el exploit:

exploit

Luego para abrirlo nos dirigimos al archivo out.txt y ahí tenemos todos los datos que recuperamos:

data

Dentro del parametro "text" se encuentra un codigo en base64:

aGVhcnRibGVlZGJlbGlldmV0aGVoeXBlCg==

Se me ocurrió que podía pasarlo a la pagina para decodificarlo y fue un éxito! Me devolvió una contraseña:

contraseña

La contraseña es: heartbleedbelievethehype

Ahora voy a intentar iniciar sesión en SSH utilizando el RSA que obtuve (en la ruta /dev) al principio y la contraseña que recuperé en el paso anterior.

ssh

Y una vez dentro fácilmente se encuentra la bandera de usuario.

Escalada de Privilegios


Ahora bien, falta conseguir la bandera root.

Listando los directorios ocultos veo que hay un archivo llamado bash_history, el cual almacena los últimos comandos ingresados por el usuario:

post explotacion

Para este punto lo que hice fue probar ingresar los mismos comandos que había ingresado el usuario para ver a donde me llevaban y así logré obtener el acceso root.

Ahora simplemente resta navegar hasta la carpeta root y ahí se encuentra la bandera.

Felicitaciones! Espero que este tutorial te haya sido de ayuda.