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.
Iniciamos con un escaneo de la dirección IP, podemos observar que identifica 3 puertos así como el nombre de dominio.
Empezaremos por el puerto FTP, ya que podemos acceder con un usuario anónimo. Ingresamos las credenciales y podemos observar que tenemos un archivo.
Descargamos el archivo y al leerlo podemos ver un texto.
ndhvabunlanqnpbñb
Llevamos el texto a CyberChef
y probamos un rot13
, pero observamos que no es nada.
Agregamos el nombre del dominio en el archivo /etc/hosts
.
Ingresamos el nombre de dominio en el navegador y podemos observar varias cosas, la versión del programa, un nombre de usuario así también un login.
Revisando alguna vulnerabilidad para esta versión encontramos un RCE.
Para poder ejecutar el RCE debemos tener credenciales probando algunas para el usuario admin
encontramos una adecuada.
admin:password
Una vez ingresamos las credenciales podemos observar que tenemos varios botones.
Siguiendo la guía del RCE seleccionamos admin
y luego a Theme Manager
donde veremos que podemos subir un archivo.
Para esta sección crearemos un archivo PHP, que puede ser un shell simple.
También podríamos usar una Shell más completa. En este caso usaremos la segunda, Una shell que obtuvimos de pentestmonkey
Comprimimos el archivo en un zip
.
Ya que tenemos el archivo .zip
lo que realizaremos es subirlo y darle en upload
.
Antes dirigirnos a la ubicación del archivo iniciamos nuestro listener.
Luego ingresamos a themes
, donde rvshell
es el nombre del zip
y luego va el nombre del archivo.
http://papaya.thl/themes/rvshell/revshell.php
Después de enviar la petición podemos observar que en el listener ya tenemos conexión.
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. Probamos realizando un sudo -l
, pero no tenemos el password.
Buscamos en los archivos temporales podemos observar que en /opt
tenemos un archivo llamado pass.zip
Tratamos de descomprimir el archivo pero está protegido.
Para obtener el archivo lo que haremos es pasarlo a nuestra máquina, para ello verificamos si tenemos Python y como es así, arrancamos nuestro servidor.
Descargamos en nuestra máquina.
Con el archivo en nuestra máquina ejecutamos zip2john
para obtener un hash y con john
lo rompemos, luego de ello podemos observar que el password.
jesica
Descomprimimos el archivo y observamos que el password es papayarica
.
Revisamos los usuarios con bash de la máquina y observamos que uno se llama papaya
.
Probamos el password en ese usuario y es correcto.
papaya:papayarica
Realizamos un sudo -l
y nos muestra que podemos ser root abusando del binario scp
.
Para saber como abusar de este binario para escalar privilegios, nos dirigimos a la página de GTFOBins y podemos observar que realizar.
Ingresamos los comandos como nos indica la página y podemos observar que somos root. De esta manera culminando la máquina.