Grooti 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 grooti.zip

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

bash auto_deploy.sh grooti.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:

Veremos en el puerto 80 que aloja una pagina web y algo mas interesante, tiene expuesto el puerto 3306 que corresponde con el de MySQL, por lo que vamos a enumerar estos dos puertos a ver que encontramos.

Si inspeccionamos la pagina del puerto 80 veremos la siguiente linea comentada:

Vemos que nos esta proporcionando un nombre de usuario para MySQL llamado Rocket por lo que vamos a probar a lanzar una fuerza bruta a MySQL con hydra de esta forma:

Hydra

Info:

Veremos que ha funcionado, por lo que vamos a conectarnos a la DDBB con dichas credenciales.

MySQL

Info:

Una vez que estemos dentro, vamos a realizar una enumeracion a ver que encontramos.

Info:

Veremos que hay una DDBB bastante interesante llamada files_secret si vemos que tablas tiene por dentro veremos lo siguiente:

Info:

Vamos a listar toda la informacion de dicha tabla...

Info:

Por lo que vemos parecen rutas a nivel de recursos web de la pagina, vamos a probar a ver cuales son las mas interesantes.

Si entramos a /unprivate/secret veremos como un acceso a la terminal pero con un formulario web que nos indica instrucciones de que debemos de hacer, vamos a investigar a ver que podemos aprovechar en este espacio.

Si ponemos un texto y despues un numero, se nos descarga un archivo Excel en el que aparece una palabra aleatoria, si volvemos a descargarnoslo aparece nuestro texto y asi con los demas numeros, vamos a ver cual de los numero no descarga un archivo de Excel o tiene otro contenido con un script:

findWeb.sh

Lo guardamos e instalamos lo siguiente:

Ahora lo ejecutamos de esta forma:

Info:

Vemos que en el numero 16 da un error, por lo que se puede deber a que no sea un archivo Excel si no que, pueda deberse a un archivo de otra cosa, vamos a comprobarlo metiendo el numero 16 y escribiendo cualquier cosa.

Si hacemos esto nos descargara un archivo .zip, si lo descomprimimos veremos lo siguiente:

Info:

Vemos que requiere de una contraseña, por lo que vamos a probar a crackearla con john de esta forma:

Info:

Veremos que nos ha crackeado la password, vamos a probarla en el archivo a ver si funciona.

Info:

Vemos que hemos extraido el archivo de forma correcta, vamos a ver que contiene:

Escalate user grooti

password16.txt

Vemos que son una serie de contraseñas para algun usuario suponemos del sistema, vamos a probarla con hydra por SSH a ver si hay suerte, con 2 usuarios en este caso grooti y rocket.

users.txt

Hydra (grooti)

Info:

Veremos que ha funcionado, por lo que vamos a conectarnos por SSH con dichas credenciales.

Metemos como contraseña YoSoYgRoOt y veremos que estaremos dentro.

Info:

Escalate Privileges

Si nos vamos a /tmp veremos un archivo .sh llamado malicious.sh que si listamos para ver los permisos que tiene veremos lo siguiente:

Vemos que podemos modificar dicho script, si leemos que hace el mismo...

Vemos que crea un archivo en la carpeta /tmp como si fuera un log y lo borra a los 2 segundos:

Veremos que efectivamente hay alguna tarea programada que esta ejecutando dicho script, pero esto en si, no nos interesa, vamos a borrar todo el contenido del script y poner esto:

Lo guardamos y solo tendremos que esperar un rato a que se ejecute por root.

Ahora despues de un rato si listamos la bash veremos lo siguiente:

Vemos que ya se establecieron los permisos SUID a la bash por lo que podremos hacer lo siguiente para ser root.

Info:

Veremos que con esto ya seremos root, por lo que habremos terminado la maquina y leeremos la flag de root.

grooti.txt

Last updated