SocialHub 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.
unzip socialhub.zipNos lo descomprimira y despues montamos la maquina de la siguiente forma.
bash auto_deploy.sh socialhub.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 un puerto 5000 en el que aloja una pagina web de python3 por lo que se ve y suele utilizar la tecnologia Flask, si entramos dentro de dicha pagina veremos lo siguiente.
Veremos una pagina web relacionada con una red social, veremos un login y register, vamos a probar a registrar un usuario para iniciar sesion y ver el dashboard.

Vemos que podemos ver los perfiles de los usuarios, pero en concreto si nos vamos al nuestro veremos lo siguiente:

Vemos que podemos subir una foto de perfil y en concreto vemos varios formatos:
Nos atrae mucho el formato SVG y esto se debe a que si inspeccionamos el codigo veremos esta parte de aqui.
Vulnerabilidades identificadas:
Stored XSS via SVG - Acepta SVG sin sanitización
Tokens sensibles en localStorage - API tokens almacenados
Posible falta de sanitización en feed - SVG se renderiza crudo
Escalate user hijacking
Stored XSS via SVG
Vamos a probar la explotacion subiendo un SVG con un payload en concreto ya que por detras entiendo que se ejecuta de forma automatica por el admin, pero tambien tendremos que crear un server.py para recibir las Cookies que se roben.
payload.svg
server.py
Una vez creado todo esto, vamos a ponernos a la escucha con el servidor ejecutandolo de esta forma:
Info:
Ahora desde la pagina vamos a subir el archivo .svg que hemos creado, hecho esto tendremos que esperar unos segundos y veremos lo siguiente en el servidor:
Veremos muchas formas de explotarlo, pero entre ellas veremos una que ha funcionado, por lo que habremos obtenido el TOKEN de sesion del admin, ahora solamente tendremos que irnos a la web e intercambiar el TOKEN nuestro actual por el que hemos obtenido para ser dicho usuario.
TOKEN:
eyJ1c2VyX2lkIjoxLCJ1c2VybmFtZSI6ImFkbWluIn0.aTP3JA.xGLiiwj1uwHMRi-3Kd6szil-HVA

Una vez que lo hayamos cambiado, vamos a recargar la pagina y veremos lo siguiente:

Lo hemos conseguido, por lo que nos dara unas credenciales para conectarnos por SSH directamente.
SSH
Metemos como contraseña cookiedelicious...
Con esto ya estaremos dentro.
Escalate Privileges
Si listamos los permisos SUID que tengamos en el sistema veremos lo siguiente:
Info:
Veremos en concreto este binario con dichos permisos:
Gracias a esto podremos ser root directamente con el siguiente comando:
Info:
Con esto ya seremos el usuario root, por lo que habremos terminado la maquina.
Last updated