Gallery DockerLabs (Hard)

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

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

bash auto_deploy.sh gallery.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 que hay un puerto 80 en el que aloja una pagina web, si nos metemos dentro veremos una tipica pagina de una galeria de una obra de arte, pero en la esquina derecha superior veremos un boton de inicio de sesion en el cual si entramos dentro veremos un login bastante interesante, vamos a probar a ver si fuera vulnerable a un SQLi.

Si ponemos esa combinacion tan basica de un SQLi veremos que nos loguea, por lo que sabremos que es vulnerable a un SQL Injecction una vez echo eso, veremos esto siguiente:

Vemos varios campos en los cuales podemos probar a ver si hubiera algun otro parametro vulnerable para segurarnos, vamos a ir probando en todos combinaciones basicas para poder mostrar la informacion de las DDBBs u otro tipo de inyecciones.

Si metemos lo mas basico de nuevo ' OR 1=1-- - en los 2 primeros campos del formulario, y le damos a enviar, veremos esto:

Vemos que efectivamente es vulnerable a un SQLi y nos esta mostrando informacion de lo que ha petado a nivel de DDBB.

Escalate user sam

Vamos a intentar descubrir cuantas columnas tiene la DDBB para poder realizar dicho SQLi.

Si eso lo ponemos en la parte de:

Veremos que no nos da un error, pero si probamos el 6 ya si, por lo que ya sabemos que tiene 5 columnas y ahora podemos pasar a ver si funciona la siguiente SQLi de esta forma:

Si hacemos esto, veremos que nos funciona, ya que aparece otro recuadro mas en la pagina mostrando esto:

Por lo que sabemos que la segunda opcion del SELECT es vulnerable, por lo que vamos a intentar enumerar las tablas que hay dentro de la DDBB llamada gallery_db.

Info:

Vemos que nos sigue funcionando y hemos encontrado 2 tablas, por lo que vamos a ver que contiene la tabla users que es la que mas nos interesa.

Info:

Vemos que tiene 3 columnas, por lo que ahora sabiendo todo esto, ya si que podremos extraer la informacion de dicha tabla de la siguiente forma:

O

La segunda opcion es para tenerlo mas ordenado, viendose de esta forma username:password y si hacemos esto veremos lo siguiente:

Podemos ver que obtuvimos solamente unas credenciales, pero no nos servira de mucho, si listamos esta vez todas las DDBBs veremos lo siguiente:

Info:

Vemos que hay una llamada secret_db por lo que vamos a sacar informacion de dicha tabla.

Info:

Veremos que hay una tabla llamada secret por lo que vamos a ver cuantas columnas tiene.

Info:

Vemos varias cosas interesantes, por lo que vemos hay credenciales de usuarios para conetcarnos por SSH vamos a extraer la informacion de la siguiente forma:

O

Info:

Veremos que obtuvimos las credenciales para conectarnos por SSH por lo que haremos lo siguiente:

SSH

Metemos como contraseña $uper$ecretP4$$w0rd123 y vereremos que estamos dentro.

Escalate Privileges

Estando dentro si intentamos ver los puertos que que hay en la maquina victima a nivel local no podremos hacerlo con las herramientas tipicas como ss o netstat, pero si veremos que tenemos nmap instalado, por lo que vamos a realizar lo siguiente:

Info:

Vemos que el que mas nos atrae es el puerto 8888 por lo que vamos a pasarnoslo a nuestra maquina host a ver que vemos, esto lo podremos hacer mediante SSH realizando un portforwarding.

Maquina Host

Metemos como contraseña $uper$ecretP4$$w0rd123 y estaremos de nuevo dentro de la maquina pero habiendo redirigido el flujo del puerto a la maquina host por lo que si nos metemos ahora en esta direccion:

Veremos esto:

Vemos que ha funcionado y estaremos viendo la pagina que esta en local en la maquina victima del puerto 8888.

Si en la pagina ponemos cualquier comando que no sea valido, nos pondra que consultemos al help, pero solamente nos apareceran una serie de comandos que no nos serviran de mucho, si probamos a concatenar comandos a ver si se ejecuta veremos que si funciona:

Info:

Vemos que lo esta ejecutando todo root, por lo que vamos a probar a establecer la bash con permisos SUID de la siguiente forma:

Ahora si nos volvemos a donde tenemos la shell con el usuario sam y listamos la bash veremos lo siguiente:

Info:

Veremos que ha funcionado, por lo que haremos lo siguiente para ser el usuario root.

Info:

Con esto ya seremos el usuario root por lo que habremos terminado la maquina.

Last updated