Crossfi 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 crossfi.zipNos lo descomprimira y despues montamos la maquina de la siguiente forma.
bash auto_deploy.sh crossfi.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 varias cosas interesantes, entre ellas el puerto 5000 que aloja una pagina web, vamos a entrar dentro a ver que vemos.
Veremos un login, pero tambien nos podremos crear una cuenta, por lo que vamos a darle al registrarse y crearemos una cuenta, hecho esto iniciaremos sesion con dichas credenciales viendo lo siguiente:

Veremos una especie de dashboard en el que nos mostrar informacion sobre nuestra cuenta, etc...
Investigando un poco si le damos al boton con nombre Panel veremos que podremos cambiar la contraseña, esto de por si ya es interesante, por lo que vamos abrir BurpSuite y analizaremos la peticion a ver que vemos.
Nivel 1
Forma 1
Si nos ponemos con nuestro proxy en mitad de la comunicacion y le damos a Actualizar contraseña veremos lo siguiente:
Vemos que nos esta proporcionando una Cookie de sesion, si nosotros decodificamos toda la cadena antes del primer . veremos esta informacion:
Info:
Vamos a probar a cambiar el username por el nombre de admin y lo volvemos a codificar.
Info:
Ahora en nuestra peticion tiene que aparecer algo asi con estas modificaciones:
Ahora vamos a dejar que siga su flujo normal la peticion y veremos en la pagina lo siguiente:

Forma 2
Pero tambien podremos hacerlo de esta otra forma mas sencilla, crearemos una pagina maliciosa en la que aprovecharemos esta vulnerabilidad.
pwned.html
Ahora si abrimos esta pagina de esta forma:
Info:

Veremos que ha funcionado tambien, por lo que vamos al siguiente nivel.
Escalate user balulero
Nivel 2
Si inspeccionamos el codigo veremos que hay un campo que no esta protegido por token CSRF que es el siguiente bloque:
Se corresponde a la descripcion de la biografia, podremos aprovechar esto para explotar la vulnerabilidad de esta forma:
Vamos a crear de nuevo una pagina PoC para esta vulnerabilidad:
pwned2.html
Ahora si la abrimos veremos lo siguiente:
Info:

Veremos que ha funcionado por lo que nos podremos conectar por SSH metiendo las credenciales que muestra.
SSH
Metemos como contraseña balulei...
Veremos que accedimos de forma correcta.
Escalate Privileges
Si realizamos un find de los permisos SUID que tenemos a nivel de sistema, veremos lo siguiente:
Info:
De toda esta informacion la que mas nos interesa es la siguiente linea:
Vemos que tiene permisos SUID el binario env por lo que podremos escalar a root de esta forma:
Info:
Con esto veremos que ya seremos root por lo que habremos terminado la maquina.
Last updated