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 y podemos observar que identifica 2 puertos.
Ingresamos la dirección IP en el navegador, pero no observamos nada.
Realizamos un fuzzing de subdirectorios podemos observar que no tenemos nada a excepción del javascript
, pero no nos muestra nada relevante.
Revisando la primera página si hacemos clic podemos observar como varía el contenido del URL.
Como no tenemos más pistas realizamos un fuzzing para ver si podemos obtener algún parámetro, pero no es posible.
Analizando un poco y con experiencia en otras máquinas de varias plataformas el dominio suele ser el nombre de la máquina. En este caso probaremos usando statue.thl
y lo agregaremos a nuestro archivo hosts
Una vez hecho ello ingresamos el dominio en el navegador y podemos observar que tenemos una página.
Realizamos un escaneo de subdirectorio y podemos observar que tenemos varios archivo.
El único que nos da información es el login.php
, ya que podemos ingresar un password y también ver la versión del sistema que lo maneja.
probamos algunas credenciales, pero tiene límite de intentos.
Revisando la versión del servicio encontramos varios, pero necesitan de un password para poder hacer uso de ellos.
Lo que debemos realizar ahora es buscar un password. probamos varios escáneres, pero no obtenemos ningún tipo de archivo.
Usaremos owasp zap
y luego de capturar nos vamos a fuzzer
y agregamos dos campos en este caso son espacios.
Seleccionamos la primera carga luego le damos en añadir y seleccionamos el archivo donde tenemos los payloads.
Para la segunda carga realizamos lo mismo, con la excepción de que esta vez agregaremos cadenas personalizadas.
Luego de ello seleccionamos iniciar el Fuzzer
.
Después de unos segundos podemos observar que tenemos archivos.
Seleccionamos el archivo README.md
y podemos observar que es una cadena en base 64.
Copiamos el texto y lo llevamos a Cyberchef y luego de pasar varias veces que cambie de base 64 a texto podemos ver que tenemos una palabra
fideicomiso
Ingresamos el password.
Nos redirige a un panel.
Vamos a modules
y seleccionamos manage modules
.
En la página de manage modules
seleccionamos install a module
.
Veremos lo siguiente.
Para poder hacer uso de ello debemos subir una revshell, pero comprimida en un archivo .zip
usaremos el siguiente rvshell
que se puede conseguir en pentestmonkey
Comprimimos el archivo.
Antes de subirlo debemos iniciar nuestro listener.
Seleccionamos nuestro archivo y lo subimos.
Si nos dirigimos a la consola podemos observar que tenemos conexión en nuestra consola.
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. Vamos a las carpetas de usuarios, pero no podemos acceder a ninguna.
Realizamos un sudo -l
, pero no tenemos el password. Nos dirigimos a la carpeta raíz y buscamos archivos con permisos SUID y podemos observar que tenemos a python
.
Para tener más información de como emplearlo podemos dirigirnos a la página GTFOBins y podremos ver lo siguiente.
/usr/bin/python3.12 -c 'import os; os.execl("/bin/sh", "sh", "-p")'
Ingresamos el comando y ya somos root
. De esta manera culminando esta máquina.