ApiBase DockerLabs (Easy)

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 apibase.zip

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

bash auto_deploy.sh apibase.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 al puerto 5000 veremos un apartado de una API por lo que ya sabremos que contiene una API y podremos intentar ver por donde tirar para ver si tiene alguna posible vulnerabilidad:

Vamos a realizar un poco de fuzzing:

Gobuster

Info:

Veremos dos rutas bastante interesantes, si entramos en /add veremos lo siguiente:

Vemos que el metodo no es el correcto por lo que vamos a intentar hacerlo de esta forma, ya que en la parte principal nos indica que podremos añadir un usuario, pero no podemos desde la web, por lo que haremos haciendo un POST, pero tendremos que seguir la estructura que pide para poder añadir un usuario.

Tras varios intentos di con la clave de como tiene que ir estructurado, seria de la sigueinte forma:

Info:

Como podremos ver acabamos de añadir al usuario John con la contraseña 123456, ahora que tenemos un usuario añadido vamos a ver si se añadio de forma correcta con el otro directorio llamado /users de la siguiente forma:

Info:

Vemos que si lo tenemos añadido y somos el ID numero 3, vamos a realizar una fuerza bruta de usuarios creando un script.

findUserAPI.sh

En python3 seria con este otro script:

findUserAPI.py

En mi caso utilizare el de bash, vamos a utilizar un diccionario de usuario de SecList para probar:

Escalate user pingu

URL = Diccionario Users SecList

Y lo renombraremos a users.txt para que lo pille bien el script, echo esto lo ejecutaremos de la siguiente forma:

Info:

Veremos que hemos encontrado un usuario con 2 IDs, vamos a probar a meternos por SSH con el usuario pingu y con la contraseña del ID numero 2.

SSH

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

Escalate Privileges

Si leemos el siguiente archivo veremos lo siguiente:

Info:

Veremos que aparece las credenciales y podemos deducir que puede ser de root.

Metemos como contraseña balulero y veremos que somos root, por lo que habremos terminado la maquina.

Last updated