MachuPicchu DockerLabs (Intermediate)
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 machupicchu.zipNos lo descomprimira y despues montamos la maquina de la siguiente forma.
bash auto_deploy.sh machupicchu.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:
Cuando entramos en el puerto 80 vemos que nos redirecciona hacia un dominio llamado chamilo.dl, por lo que tendremos que añadirlo a nuestro archivo hosts.
Lo guardamos y si lo volvemos a recargar veremos lo siguiente:

Vemos un login de un software llamado Chamilo pero que aun probando los exploits que hay asociados no funcionara, tambien vimos que hay un servidor FTP, por lo que vamos a investigara en el.
FTP
Vamos a probar a entrar de forma anonima mediante el FTP.
Dejamos la password vacia y veremos que estamos dentro, si listamos veremos lo siguiente:
Vamos a descargarnos el archivo alumno.txt:
Ahora nos saldremos y veremos que contiene:
Vemos que son las credenciales de un usuario de la plataforma, por lo que vamos a probar a entrar con dichas credenciales.
Echo eso veremos que estamos dentro:

Si nos vamos al siguiente apartado en Red Social:
Y probamos a realizar un XSS metiendo el siguiente payload veremos lo siguiente:
Info:

Vemos que esta funcionando, pero no veremos nada mas interesante, si seguimos buscando algun exploit sobre dicho Software veremos lo siguiente:
URL = Exploit Info CVE-2023-4226
Vemos que nos explica como realizar la explotacion, vamos a seguirlo paso a paso, vamos a crear primero el payload para poder ejecutar comandos desde el .php:
Tambien tendremos que crear un .htaccess con el siguiente contenido para que podamos realizar el exploit.
Ahora tendremos que obtener la Cookie de la sesion en la siguiente seccion:

Y lo pondremos en el siguiente comando:
Si nosotros nos vamos en la pagina e intentamos acceder en el curso, no nos va a cargar, pero si nos va aparecer esto en la URL:
Vemos que el ID se llama HW, por lo que el comando tiene que quedar algo asi:
Seguidamente ejecutaremos el siguiente comando:
Con esto lo que hacemos es que dentro del archivo work.ajax.php tiene un endpoint llamado a en la que se puede subir archivos sin ningun tipo de restriccion, por lo que vamos a subir el archivo cmd.php y el archivo .htaccess que tenemos en el mismo directorio con curl y sus respectivos argumentos para cargarlo en el servidor.
Info:
Con esto vemos que ha funcionado, ahora si realizamos lo siguiente veremos esto:
Info:
Vemos que esta funcionando, por lo que vamos a generarnos una reverse shell.
Escalate user www-data
Vamos a ponernos a la escucha antes:
Ahora dentro de la URL vamos a poner lo siguiente ajustado a nuestras necesidades:
Cuando enviemos eso en la URL si volvemos a donde tenemos la escucha veremos lo siguiente:
Vemos que seremos dicho usuario, por lo que vamos a sanitizar la shell.
Sanitizacion de shell (TTY)
Escalate user trr0r
Si vemos los puertos/IPs que se estan corriendo en la maquina victima:
Info:
Vemos que hay un MySQL corriendo a nivel local, pero algo interesante que vemos es que en la carpeta /opt vemos una aplicacion de python y que este mismo esta corriendo a nivel local en el puerto 6200 y si vemos que contiene con curl veremos lo siguiente:
Info:
Si inspeccionamos el codigo del archivo app.py veremos la siguiente linea:
Vemos que se puede realizar un RCE aprovechando dicha vulnerabilidad, pero tambien tiene esta lista de bloqueo:
Por lo que tendremos que realizar un Bypass de esto mismo.
Tras buscar mucho encontre una pagina la cual explica todo esto:
URL = Info Exploit RCE Latex
Si nos vamos a la seccion llamada Filter Bypass podremos ver varios payloads que Bypassean la lista de bloqueo, pudiendo hacer un RCE como el usuario trr0r.
El payload que me ha funcionado que vi en la pagina fue el siguiente:
Por lo que nuestro payload utilizando curl nos tendra que quedar de la siguiente forma:
Info:
Aunque nos ponga eso, si listamos el /tmp veremos lo siguiente:
Ahora si leemos el archivo:
Info:
Veremos que ha funcionado, por lo que vamos a probar a crear una reverse shell de la siguiente forma:
Vamos a crear antes el siguiente archivo:
Lo guardamos y ponemos permisos de ejecuccion.
Vamos a ponernos a la escucha:
Ahora ejecutamos el siguiente comando para poder ejecutar dicho archivo como el usuario trr0r.
Si volvemos a donde tenemos la escucha veremos lo siguiente:
Vemos que ha funcionado, por lo que vamos a leer la flag del usuario
user.txt
Vamos a sanitizar la shell.
Sanitizacion de shell (TTY)
Escalate Privileges
Si hacemos sudo -l veremos lo siguiente:
Vemos que podemos ejecutar el binario chash como el usuario root, por lo que vamos a probar a realizar lo siguiente:
Info:
Vemos que hemos obtenido las credenciales de la conexion a mysql.
Pero no podremos hacer gran cosa, ahora si vemos los permisos que tiene el binario veremos lo siguiente:
Info:
Vemos que pertenecemos al grupo del binario, por lo que podremos hacer lo siguiente:
Lo guardamos y ahora ejecutamos lo siguiente:
Info:
Ahora si listamos la bash veremos lo siguiente:
Info:
Para poder ser root ejecutaremos esto:
Info:
Con esto veremos que seremos root por lo que leeremos la flag de root.
root.txt
Last updated