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.
Nos lo descomprimira y despues montamos la maquina de la siguiente forma.
Info:
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