Jason DockerLabs (Intermediate)
Instalación
Cuando obtenemos el .zip nos lo pasamos al entorno en el que vamos a empezar a hackear la maquina y haremos lo siguiente.
unzip jason.zipNos lo descomprimira y despues montamos la maquina de la siguiente forma.
bash auto_deploy.sh jason.tarInfo:
## .
## ## ## ==
## ## ## ## ===
/""""""""""""""""\___/ ===
~~~ {~~ ~~~~ ~~~ ~~~~ ~~ ~ / ===- ~~~
\______ o __/
\ \ __/
\____\______/
___ ____ ____ _ _ ____ ____ _ ____ ___ ____
| \ | | | |_/ |___ |__/ | |__| |__] [__
|__/ |__| |___ | \_ |___ | \ |___ | | |__] ___]
Estamos desplegando la máquina vulnerable, espere un momento.
Máquina desplegada, su dirección IP es --> 172.17.0.2
Presiona Ctrl+C cuando termines con la máquina para eliminarlaPor lo que cuando terminemos de hackearla, le damos a Ctrl+C y nos eliminara la maquina para que no se queden archivos basura.
Escaneo de puertos
Info:
Veremos que hay un puerto 5000 alojando una pagina web creada por python3 con la tecnologia Flask, vamos a entrar dentro de dicha pagina a ver que vemos.
Veremos un login, tambien vemos que podremos crear una cuenta en la pagina, por lo que vamos a crear una cuenta, hecho esto iniciaremos sesion con dichas credenciales, entrando dentro de forma autenticada veremos un dashboard normal, pero vemos que esta jugando con los TOKENs JWT, si empezamos a probar rutas por defecto relacionadas con este JWT veremos esta bastante interesante que esta por defecto.
Nivel 1
Info:
Veremos que podremos explotar el algorithm confusion ya que si decodificamos eso veremos que tiene consigo una clave publica.
Info:
Vamos a guardar esta clave publica en un archivo.
Hecho esto vamos a crear un script para generar el TOKEN con el rol del admin y asi poderlo modificar desde la consola web.
Algorithm Confusion
generateJWT.py
El payload lo sabremos ejecutando el siguiente comando en la consola web.
Info:
Ahora vamos a generar un archivo para decodificar todo esto y poder leer el contenido de como esta formado:
readTOKEN.py
Vamos a ejecutar el script de esta forma:
Info:
Sabiendo esto podemos crear el script de generateJWT y poder hacer un buen payload, por lo que ahora vamos a ejecutarlo de esta forma:
Info:
Ahora teniendo este TOKEN vamos a ejecutar el siguiente codigo en la consola web para modificar el TOKEN con el que hemos generado.
Si ejecutamos esto anterior veremos lo siguiente en la pagina.

Veremos que ha funcionado de forma correcta, por lo que vamos acceder al nivel 2.
Escalate user jason
Nivel 2
Si entramos dentro del nivel 2 veremos lo siguiente:

Si entramos dentro de forma logueada como invitado veremos que tenemos un rol sin privilegios, pero nuestro objetivo es obtener un rol con privilegios.
Si investigamos el Storage del navegador web, veremos en la seccion de Cookies una llamada level2_token que contiene lo siguiente:

Vamos a decodificarlo utilizando python3 de esta forma:
Info:
Vemos que tenemos el rol guest, vamos a probar a generar uno con el rol de admin, pero antes tendremos que intentar crackear la clave secreta del TOKEN y despues con el formarlo:
Info:
Veremos que ha funcionado, por lo que vamos a generar dicho TOKEN de esta forma:
Info:
Si investigamos los errores que nos da la pagina cuando creamos el TOKEN con los parametros por defecto que vienen veremos que requiere de un parametro extra llamado user que le pondremos como valor admin y lo demas lo cambiaremos de guest a admin creando el siguiente TOKEN.
Ahora vamos a modificar el TOKEN desde el navegador web en la parte de Storage en la seccion de Cookie, borraremos el anterior y pondremos el nuevo, recargamos la pagina y veremos lo siguiente:

Vemos que ha funcionado, por lo que vamos a conectarnos por SSH con dichas credenciales.
SSH
Metemos como contraseña webtoken...
Veremos que accedimos de forma correcta.
Escalate Privileges
Si hacemos sudo -l veremos lo siguiente:
Vemos que podemos ejecutar el binario dpkg como el usuario root, por lo que podremos hacer lo siguiente para ser dicho usuario.
Info:
Veremos que ya seremos el usuario root, por lo que ya habremos terminado la maquina.
Last updated