Galeria 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 galeria.zip

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

bash auto_deploy.sh galeria.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 solamente un puerto 80 que si entramos veremos que aloja una pagina web con varias imagenes, aparentemente se ve una pagina normal, por lo que vamos a realizar un poco de fuzzing a ver que encontramos.

Gobuster

Info:

Vemos que hay un directorio llamado gallery si entramos dentro veremos un directorio llamado /uploads y si volvemos a entrar dentro veremos un directorio y un archivo PHP en el cual se pueden subir archivos, vamos a probar a subir un archivo .php que contenga una reverse shell.

Escalate user www-data

webshell.php

Ahora si lo subimos veremos lo siguiente:

Vemos que no hay que realizar ningun bypass de extensiones ni nada, vamos a irnos a la carpeta de /uploads/images/ y veremos ahi el archivo que hemos subido.

Antes de meternos dentro, nos pondremos a la escucha de la siguiente forma:

Ahora si nos metemos en el archivo webshell.php.

Y si volvemos a donde tenemos la escucha veremos lo siguiente:

Vemos que hemos obtenido la shell como el usuario www-data por lo que vamos a sanitizarla.

Sanitización de shell (TTY)

Si hacemos sudo -l veremos lo siguiente:

Vemos que podemos ejecutar nano como el usuario gallery por lo que haremos lo siguiente:

Lo ejecutamos y veremos lo siguiente:

Veremos que seremos el usuario gallery.

Escalate Privileges

Si hacemos sudo -l veremos lo siguiente:

Vemos que podemos ejecutar el binario runme como el usuario root por lo que vamos a investigar que hace dicho binario.

Vamos a pasarnos el binario a nuestro host.

Desde nuestro host:

Una vez que nos lo hayamos pasado, vamos a ejecutar la herramienta llamada ghidra para poder decompilar el binario y poder observar como funciona.

Una vez abierto crearemos un nuevo proyecto, despues le daremos al icono del dragon de color verde y dentro del mismo vamos a importar un archivo, seleccionaremos el runme, una vez importado si nos vamos a Functions -> main veremos el codigo decompilado.

Vemos que esta llamando a un binario, vamos a probar a llamarlo nosotros en la terminal.

Info:

Vemos que no existe dicho binario por lo que podremos realizar un Path Hijacking vamos a crear nosotros un archivo que se llame convert en la /tmp y vamos a exportar la variable PATH para que vaya primero al archivo que hemos creado cuando ejecutemos el binario.

Lo guardamos y establecemos permisos de ejecuccion.

Ahora vamos a exportar la variable para que funcione esto:

Echo esto, vamos a ejecutar el binario que podemos ejecutar como el usuario root.

Info:

Y veremos que ha funcionado, vamos a listar la bash.

Info:

Vemos que se establecio de forma correcta, por lo que haremos lo siguiente para ser el usuario root.

Info:

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

Last updated