Wargames - Dockerlabs CTF Writeup
Introducción
En este write-up se documenta la explotación de la máquina ** wargames (Dockerlabs)**.
El objetivo principal de este laboratorio fue practicar técnicas de reconocimiento, análisis de servicios y escalada de privilegios en un entorno controlado con un fuerte componente de lógica y análisis estático. Durante el proceso se identificó un sistema legacy accesible por red que simulaba un interfaz conversacional, donde una confianza excesiva en la entrada del usuario permitió la explotación de una vulnerabilidad de prompt injection. Posteriormente, mediante el análisis estático de un binario privilegiado, se descubrió una ruta de ejecución oculta que permitió obtener acceso con privilegios elevados. Este ejercicio refleja escenarios reales en los que sistemas antiguos, configuraciones inseguras y fallos de diseño lógico pueden comprometer completamente un entorno, incluso sin necesidad de vulnerabilidades técnicas complejas
En primer lugar empezamos lanzando un escaneo ping para averiguar si sen trata de un sistema linux o windows en base a su ttl y de si tenemos conectividad con la maquina.
Ahora usando la herramienta de NMAP, la cual nos puede ayudar a saber que puertos hay expuestos en el servidor y que servicios tiene cada uno de ellos.
Parcer ser que tenemos diferentes de entre los cuales nos llama la atencion el puerto 5000 el cual vamos a revisar primero el puerto 80 mediante web.
Pasaremos a visualizar la pagina web.
Ahora vemos que nos dice Try more basic connection o es decir de probar algo mas simple como puede ser una session netcat. con nuetra ip del servidor apuntando al puerto 5000.
Parece ser que tenemos delante un chatbot el cual es un simular de juegos aunque al ser una chatbot puede tenga una vulnerabilidad de prompt injection.
Al parecer si que se trata de prompt injection y nos delvolvio los creedenciales de ssh para acceder al servidor usando el user joshua.
Procedemos a decodificar el cifrado el cual se encuentra en sha256
A continuacion probamos de acceder mediante ssh y logramos conexion exitosa.
Buscamos alguna forma de poder escalar privilegios y encotramos un binario con propietario root pero posee permios suid
Pero ejecutando el binario no logramos acceder
ya que si nos traemos el binario a nuestra maquina y lo decopilamos podemos ver que hay que introducir una palabra como opcion del binario para poder acceder al una shell.
Y ahora si despues de descubrir esa clave logramos acceder como root y obtener ganar la partida.