🟢Validation
Write-up de la máquina Validation de HackTheBox #writeup #walkthrough
Last updated
Write-up de la máquina Validation de HackTheBox #writeup #walkthrough
Last updated
Comenzamos la resolución de la máquina Validation realizando la enumeración rápida de los servicios que está ejecutando el objetivo.
Cuatro puertos abiertos: 22,80,4566 y 8080. El siguiente paso será la enumeración detallada de los servicios que hemos descubierto.
VERSIONES
Puerto 22 -> SSH -> OpenSSH 8.2
Puerto 80 -> HTTP -> Apache httpd 2.4.48
Puerto 4566 -> HTTP -> nginx
Puerto 8080 -> HTTP -> nginx
El equipo objetivo está ejecutando un servidor Web en el puerto 80. Vamos a ver su contenido y a enumerar directorios y archivos interesantes.
Vemos lo que parece un formulario de registro de usuarios por nacionalidad. Vamos a continuar con la enumeración de directorios.
Vemos dos archivos que pueden ser interesantes, config.php y account.php. Veamos su contenido.
Nada interesante. Continuaremos entonces buscando vectores vulnerables en el sitio Web.
Durante la enumeración del sitio Web encontramos que existe un formulario para registrar usuarios por países. Vamos a tratar de comprobar si presenta vulnerabilidades de SQLi. Registramos varios usuarios distintos.
Ahora capturamos la petición con BurpSuite para empezar a jugar con ella.
Vamos a tratar de generar un error de sintaxis para comprobar si el formulario es vulnerable a SQLi.
Como podemos comprobar el formulario es vulnerable a SQLi. Vamos a ver como podemos aprovechar esta vulnerabilidad.
Podemos extraer toda la lista de usuarios registrados en la base de datos. También podemos ver que versión de base de datos se está ejecutando.
Podemos listar las diferentes bases de datos.
Sabemos que es vulnerable a SQLi y vemos toda la información que podemos conseguir. Pero, y si aprovechamos la vulnerabilidad presente para tratar de crear un archivo malicioso en el sistema con el que podamos crear una webshell que nos permita ejecutar comandos.
Ya podemos ejecutar comandos en el sistema. Vamos a tratar de aprovechar esto para ejecutar una reverse shell entre el objetivo y nuestra máquina de ataque.
Por otro lado, configuramos un oyente nc en el puerto 1234
Obtenemos acceso al sistema como www-data. Ahora, vamos a buscar la flag user.txt
Una vez tenemos acceso a sistema con bajos privilegios, el siguiente paso es buscar vectores que nos permitan la elevación de privilegios. Comenzamos enumerando que se puede ejecutar como www-data sin necesidad de contraseña.
Parece que sudo no está instalado en el sistema. Continuamos enumerando los permisos SUID.
No existe ningún binario con permiso que nos permita elevar privilegios. Podemos hacer también una enumeración de capabilities.
Pero tampoco hay nada interesante. Veamos el directorio donde accedimos cuando ejecutamos la reverse shell.
Vemos el archivo config.php que encontrábamos en la enumeración inicial pero al que no podíamos acceder. Este archivo puede contener credenciales interesantes de otros usuarios de sistema.
Vamos a comprobar si son credenciales válidas del sistema.
Y el usuario no es válido pero la contraseña nos permite iniciar sesión en el sistema con privilegios máximos. Ahora a buscar la flag final.
Y ya tendríamos resuelta la máquina Validation de Hack The Box.