Para poder hacer uso de esta máquina primero debemos descargar los archivos y así desplegarlo con Docker.
Descargamos el archivo de la página dockerlabs.es/#
Al momento de descargar esta máquina y descomprimir el archivo, en este caso observamos 2 archivos.
Para desplegar el laboratorio ejecutamos de la siguiente manera, así también podemos ver que nos indica la dirección que tendremos, así también el que hacer cuando terminemos este.
Realizamos el escaneo de la dirección IP y podemos observar que identifico solo el puerto 80
.
Ingresamos a la dirección web y podemos observar que es una página de un wallet.
Si realizamos un clic en Get a Quote
podemos observar que nos redirige a un dominio, este lo debemos agregar en nuestro archivo hosts
.
Después de agregar el dominio, nos dirigimos a esa página y podemos observar que se trata de un formulario de registro. Y nos indica que debemos crear una cuenta para acceder al login.
Con esa premisa creemos que hay un login, escaneamos en busca de este y podemos observar varios directorios.
Si observamos tenemos una que se llama screenshots
y podemos observar que se trata eso.
El único dato en común que observamos es que el usuario que se muestra se llama bellamy
.
Revisando encontramos una DB. la cual descargamos.
Revisamos este archivo, pero no encontramos nada.
Una vez revisado los otros subdirectorios volvemos al formulario e ingresamos unos datos.
test@test.com
test123
Una vez enviamos los datos ahora si podemos acceder a la página de login.
Nos logueamos y podemos observar que ya estamos dentro.
Si realizamos un clic en add first subscription
podemos observar que podemos subir un archivo.
Probaremos subiendo una imagen cualquiera.
Luego de guardar abrimos la imagen y podemos observar que sí podemos acceder a ella.
Así como al directorio donde se guardan.
Probaremos subiendo nuestra rvshell
.
Tratamos de subir, pero no es posible, ya que no identifica el formato. Lo que haremos es iniciar burpsuite y luego de ello enviamos el archivo para capturar la petición. Luego de capturar enviamos y podemos observar que tenemos un error.
Para saltar este error agregaremos el código de formato, ya que solo acepta determinados formatos. Lo que realizamos se llama Magic Bytes Injection
y en nuestra captura ingresaremos al comienzo los números mágicos, estos los encontramos aquí números mágicos. Probando el que nos acepta es el que podemos observar en la imagen.
Revisando ahora en imágenes podemos observar nuestra shell.
Antes de hacer clic, iniciamos nuestro listener.
Si abrimos el archivo podemos observar que 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. Una vez dentro realizamos un sudo -l
y podemos observar que podemos elevar a pylon
por medio del binario awk
.
Revisando en la página de GFTOBins podemos observar como hacerlo.
Ingresamos los comandos agregando el usuario y podemos observar que accedimos como pylon
.
Generamos una nueva shell ingresando el comando
script /dev/null -c bash
de esta manera tenemos una mejor consola.
Nos dirigimos a la carpeta de usuario y listamos los archivos y podemos observar un archivo interesante pero tienen password.
Iniciamos un servidor con Python, pero no lo tenemos probamos si tenemos otros programas pero no. Por ello lo decodificaremos usando base 64.
Para poder observar lo que contiene el archivo usamos zip2john
y luego de obtener el hash empleamos john
para finalmente observar que el password es chocolate1
.
Descomprimimos el archivo y podemos observar que tenemos lo que parecen ser unas credenciales.
pinguino:pinguinomaloteh
Usamos las credenciales y podemos observar que ya somos pinguino
.
Realizamos un sudo -l
y podemos observar que podemos escalar usando el binario sed
Volviendo a buscar en la página de GFTOBins podemos observar que es bastante simple.
Ejecutamos el comando y podemos observar que obtuvimos acceso como root. De esta manera culminando esta máquina exitosamente.