Perrito Magico 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 perrito_magico.zipNos lo descomprimira y despues montamos la maquina de la siguiente forma.
bash auto_deploy.sh perrito_magico.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, esto nos da que pensar de que hay una web de python3 con tecnologia Flask alojada en dicho puerto, por lo que posiblemente tenga la funcion tipica de APIs para poder descubrir cosas, si entramos dentro...
Veremos que nos carga una web parecida a la de Dockerlabs, pero vamos a probar a poner /api directamente ya que generalmente los servidores de python3 con Flask lo suelen llevar asociados.
Info:

Veremos varias cosas interesantes, nos carga una pagina aparte dentro de esta ruta con bastante informacion, si analizamos un poco toda esta info veremos que se puede llamar a la API de /gestion-maquinas/upload-logo para poder modificar la foto de una maquina, pero si lanzamos un curl veremos lo siguiente:
Escalate user balulerobalulito
Explotacion cambio de logo maquina
Info:
Vemos que requiere de un TOKEN, esta protegido por esa autenticacion, pero como podemos acceder a la api vamos a dumpearnos la pagina entera a nivel de codigo y grepear por el nombre csrf_token para ver si esta filtrado.
Info:
Veremos el content bastante interesante y es que estamos viendo explicitamente el TOKEN que requerimos para poder enviar la peticion de la API de forma correcta.
Info:
Veremos que ha funcionado, por lo que vamos a conectarnos por SSH con estas credenciales.
SSH
Metemos como contraseña megapassword...
Veremos que hemos accedido de forma correcta.
Escalate Privileges
Si ejecutamos sudo -l veremos lo siguiente:
Vemos que podemos ejecutar nano como el usuario root, esto es una vulnerabilidad muy critica, ya que podremos ser root con este comando.
Info:
Veremos que con esto ya seremos root, por lo que habremos terminado la maquina.
Last updated