GoodGames
✍️ Autor: TheCyberGeek🔍 Dificultad: Fácil 📅 Fecha de creación: 24/01/2022
Last updated
Was this helpful?
✍️ Autor: TheCyberGeek🔍 Dificultad: Fácil 📅 Fecha de creación: 24/01/2022
Last updated
Was this helpful?
En primer lugar, tras conectarnos a la máquina, utilizamos el comando:
para verificar la conectividad de red.
A continuación, realizamos el comando:
para realizar un escaneo de puertos y servicios detallado en la dirección IP.
Durante el escaneo se identificaron los siguientes puertos abiertos:
Puerto 80 (HTTP): Este puerto generalmente está asociado a servidores web. Si el servicio está ejecutando un servidor web como Apache, Nginx o IIS, es recomendable buscar vulnerabilidades conocidas relacionadas con el software y versiones en uso (por ejemplo, a través de CVEs). Además, es importante realizar pruebas de seguridad en las aplicaciones web que se ejecutan en el servidor, como inyecciones SQL, Cross-Site Scripting (XSS) o vulnerabilidades de escalada de privilegios.
A continuación, se procederá a analizar cada uno de estos servicios en busca de posibles vectores de ataque.
Se utiliza el comando:
para que nos proporcione más información sobre esos puertos específicamente.
Accedemos al puerto 80.
Es una página de Juegos y tiene un Login vamos a usar entonces SQLMap.
Conocer las bases de datos.
Conocer las tablas de la base de datos objetivo.
Conocer las columnas de la tabla de la bases de datos objetivo.
Conocer la información que hay en esas columnas.
Hemos encontrado unas credenciales aunque la contraseña al ser un hash la crackeamos.
Después de analizar el sitio web del perfil, encontramos un símbolo de configuración que nos redirige a una URL con un dominio diferente. Como primer paso, registraremos este nuevo dominio en el archivo /etc/hosts
.
Nos logueamos con esas credenciales.
Con Wappalyzer se ejecuta Python por lo que parece una vulnerabilidad SSTI. Para ello realizamos la comprobación básica.
Es vulnerable a SSTI por lo que realizamos un payload que contiene una Reverse Shell.
Nos ponemos en escucha.
Al estar dentro y ejecutar:
somos root. No somos root de manera oficial.
La interfaz de red está conectada al adaptador de red interna con la dirección 172.19.0.2/16
, lo que nos permite comunicarnos con la red interna desde nuestra máquina de ataque a través de la red comprometida.
Para descubrir los hosts en la red interna, utilizamos el siguiente comando en una sola línea para realizar un escaneo de barrido:
Una vez identificado un objetivo, realizamos un escaneo de puertos con el siguiente comando:
Comencé a buscar credenciales de SSH en la máquina y finalmente encontré la carpeta de un usuario dentro del directorio /home
. Sin embargo, no encontré a augustus
en el archivo /etc/passwd
.
Vemos que el puerto 22 y 80 están abiertos, por lo que intentamos conectarnos por SSH con el usuario augustus utilizando la contraseña que habíamos encontrado previamente (superadministrator).
Como el directorio home del usuario augustus está montado en el contenedor Docker y tenemos acceso como usuario root, podemos trasladar un binario con permisos SUID al home de augustus para escalar privilegios a root en el host.
Ahora que hemos logrado elevar nuestros privilegios a root en la máquina víctima, podemos proceder a leer la flag del usuario root.