ApiRoot 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 apiroot.zip

Nos lo descomprimira y despues montamos la maquina de la siguiente forma.

bash auto_deploy.sh apiroot.tar

Info:

                            ##        .         
                      ## ## ##       ==         
                   ## ## ## ##      ===         
               /""""""""""""""""\___/ ===       
          ~~~ {~~ ~~~~ ~~~ ~~~~ ~~ ~ /  ===- ~~~
               \______ 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 eliminarla

Por 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:

Si entramos en la pagina por el puerto 5000 veremos una pagina en la que nos pone en un formato de terminal que hay una carpeta llamada /api, pero si entramos de forma manual no veremos nada, por lo que vamos a realizar un poco de fuzzing.

Gobuster

Info:

Vemos que hay un directorio llamado /api/users por lo que vamos a ver que contiene:

Vemos que esta utilizando una API como ya nos temiamos al principio de la pagina, por lo que vamos a intentar encontrar alguna vulnerabilidad respecto a las API's.

Por lo que podemos deducir como es una carpeta llamada users se puede saber que cada usuario tendria que tener asociado un ID en este caso en formato de numeros, por ejemplo si ponemos lo siguiente:

Nos sigue poniendo No autorizado, pero no nos esta dando un 404 Not Found por lo que esta funcionando, pero no conseguiremos mucho mas, por lo que vamos a realizar un poco de bruta respecto a las API's con el siguiente script.

BruteAPI Script

URL = Script Fuerza bruta APIs

Con este script vamos a realizar fuerza bruta con la direccion de la API junto con un diccionario de palabras para probarlas en la URL utilizando curl, pero si probamos algunas de las opciones que viene en el script no vamos a encontrar suerte, menos en una opcion que sera la siguiente:

Info:

Vemos que hemos encontrado una coincidencia con el metodo de Bearer Token por lo que si ahora nosotros accedemos en esa URL que hemos encontrado que funciona, veremos lo siguiente:

Info:

Por lo que vemos obtenemos 2 nombres de usuarios, que con esto ya podremos realizar fuerza bruta con dichos nombres de usuarios para ver si coincidieran algunas credenciales para SSH.

Escalate user bob

users.txt

Hydra

Info:

SSH

Metemos como contraseña password1 y veremos que estamos dentro.

Escalate user balulero

Si hacemos sudo -l veremos lo siguiente:

Vemos que podemos ejecutar el binario python3 como el usuario balulero, por lo que haremos lo siguiente:

Info:

Con esto ya seremos dicho usuario.

Escalate Privileges

Si hacemos sudo -l veremos lo siguiente:

Veremos que podemos ejecutar el binario curl como el usuario root, por lo que haremos lo siguiente:

Vamos a crear un archivo llamado passwd para clonar el passwd de la maquina victima y sobreescribirlo en la maquina victima desde nuestra maquina host, copiamos el contenido del passwd de la maquina victima y generamos el archivo en la maquina host pero quitandole la x al usuario root para dejarle sin contraseña y poder escalar directamente.

Ahora abriremos un servidor de python3 para sobreescribirlo desde la maquina victima.

Ahora en la maquina victima realizamos lo siguiente:

Info:

Una vez echo esto, haremos lo siguiente:

Info:

Y con esto ya seremos root, por lo que habremos terminado la maquina.

Last updated