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.zipNos lo descomprimira y despues montamos la maquina de la siguiente forma.
bash auto_deploy.sh galeria.tarInfo:
## .
## ## ## ==
## ## ## ## ===
/""""""""""""""""\___/ ===
~~~ {~~ ~~~~ ~~~ ~~~~ ~~ ~ / ===- ~~~
\______ 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 eliminarlaPor 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)
Escalate user gallery
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