🟢Love
Write-up de la máquina Love de HackTheBox #writeup #walkthrough
Last updated
Write-up de la máquina Love de HackTheBox #writeup #walkthrough
Last updated
El CTF "Love" de la plataforma Hack The Box, es una máquina de dificultad fácil que está incluida en la Lista de preparación OSCP de TJnull . Explotar esta máquina requiere conocimientos sobre enumeración web, vulnerabilidades SSRF, identificación de exploits, el registro de Windows y la política AlwaysInstallElevated. A pesar de que se considera fácil, esta máquina requiere varios pasos de explotación antes de que se pueda lograr la ejecución remota del código, lo cual es algo inusual para las máquinas fáciles.
Comenzamos realizando un escaneo rápido de los servicios que tiene la máquina abiertos.
Una vez realizado un escaneo rápido de los servicios abiertos, volvemos a hacer otro escaneo más profundo de los servicios abiertos.
Ya tenemos versiones de los servicios abiertos y el nombre de un dominio. Vamos a registrarlo en el archivo /etc/hosts.
Tenemos servicios web disponibles en los puertos 80,443 y 5000 que están ejecutando un servidor web Apache, así que vamos a verificar su contenido.
PUERTO 80
Tenemos lo que parece un sistema de votación. El título de la página es “Sistema de votación usando PHP”.
Algunas pruebas básicas de contraseñas no nos aportó ningún resultado. No importa lo que ingresé, devuelve:
PUERTO 443 - 5000
No podemos acceder a estos puertos.
Vamos a consultar el certificado para la URL https://www.love.htb, a ver si contiene información de interés.
Tenemos dos subdominios y una dirección de correo electrónico. Añadimos los dos subdominios al archivo /etc/hosts.
A continuación, podemos intentar navegar hacia love.htb
y staging.love.htb
en los puertos 80, 443 y 5000 para ver si esto da como resultado respuestas diferentes a las que vimos anteriormente. Al hacer esto, descubrimos un servicio de escaneo de archivos en http://staging.love.htb.
Este servicio parece estar en construcción y ofrece un formulario para recibir actualizaciones por correo electrónico sobre el progreso del desarrollo. Además, esta página incluye dos botones en la esquina superior izquierda.
El botón Home
lleva a la página actual mientras que el botón Demo
lleva a la página de abajo. Esta página se puede usar para escanear archivos en Internet al hacer referencia a ellos con una URL.
Accedo al recurso y veo que puedo indicar una ruta para escanear un archivo. Intente ejecutar diferentes técnicas de explotación como LFI, RFI, etc. Pero ninguna funcionó. Hasta que probe a hacer un SSRF y obtenemos resultados:
Podríamos intentar usar la vulnerabilidad SSRF para acceder a la aplicación web que se ejecuta en el puerto 5000 que nos dio un error 403 Forbidden
anteriormente. No se podía acceder a esta aplicación web desde otro host, pero podría ser accesible para solicitudes que se originaran en el propio host de destino. Podemos probar esto enviando la URL http://localhost:5000. Al hacer esto, descubrimos que la aplicación web no nos impide el acceso.. En cambio, nos proporciona la cadena @LoveIsInTheAir!!!!
que es la contraseña de la cuenta de administrador.
Al iniciar sesión en el formulario con las credenciales obtenidas, nos devuelve un error como el indicado anteriormente. O las credenciales no son correctas, o existe otro formulario de inicio de sesión. Vamos a realizar una enumeración de directorios para buscarlo.
Tenemos un directorio /admin. Vamos a ver su contenido.
Tenemos otro formulario de inicio de sesión donde si funcionan las credenciales de administrador anteriores.
Tenemos acceso a un panel de control.
Una vez que haya iniciado sesión, no hay mucho que hacer. Inspeccionar las distintas partes no condujo a nada interesante. Sin embargo, al hacer clic en el nombre del usuario registrado, Neovic Devierte, hay una opción para actualizar.
Al hacer clic, aparece un formulario para actualizar el perfil de administrador.
Si cargamos una shell PHP en Photo, el sistema no la rechaza y la foto de usuario desaparece.
Vamos a ver donde se guarda la shell cargada anteriormente.
Visitamos http://love.htb/images/cmd.php?cmd=whoami
Vamos a aprovechar este fallo para cargar una shell para establecer una conexión con la máquina objetivo.
Vamos a utilizar esta shell PHP https://github.com/numaciberseguridad/exploit.php/blob/main/exploit.php. También pondremos un oyente nc en el puerto 4444.
Configuramos la shell con el puerto y la IP de nuestra máquina atacante. Y la cargamos en la víctima.
Y ya tendriamos conexión la máquina víctima.
Buscamos la flag user.txt
Utilizaremos WinPEAS para realizar una enumeración del sistema. Creamos un servidor HTTP con Python.
Y ejecutamos WinPEAS.exe
Tenemos habilitado el AlwaysInstallElevated que hace que cualquier paquete de instalacion que instalemos, se haga como administrador. Podemos crear un paquete de instalación malicioso con msfvenom
para ganar acceso como administrador.
Primero creamos el paquete con msfvenom.
Subimos el archivo generado a la máquina víctima de la misma manera que subimos WinPEAS anteriormente. Debemos crear un oyente en el puerto 4444 y ejecutamos el archivo malicioso de la siguiente manera:
Y ya tendriamos establecida la shell con privilegios elevados.
Buscamos la flag root y tendriamos acabada la máquina Love.
Video de resolución en Twitch.