ECS_takeover
Lab: CloudGoat
Última actualización
Lab: CloudGoat
Última actualización
En este escenario se empieza realizando un pentesting de caja negra contra un aplicativo web alojado en una instancia EC2. Luego de identificar una vulnerabilidad que permite RCE sobre el aplicativo web se abusará del servicio de metadatos de la instancia y del docker. Para posteriormente, comprometer una de las tareas que está corriendo en un cluster al que se tiene acceso por medio de la instancia comprometida.
El desarrollo de este ejercicio puede llegar a consumir recursos económicos dentro de las cuentas de AWS.
Objetivo: Obtenga acceso al contenedor "bóveda" y recupere la bandera.
Checar instalación de CloudGoad en:
Lanzar el escenario con:
Al finalizar la preparación del laboratorio se arroja un sito web: http://ec2-54-236-32-165.compute-1.amazonaws.com/ el cual contiene un aplicativo como el siguiente:
Luego de ingresar una URL válida como www.google.com se identificó que se puede agregar un parámetro URL sobre el enlace original, y además se ve como el aplicativo web incrusta el código HTML sobre el DOM de la página.
Realizando una inyección de parámetros se observó que el aplicativo responde comandos de sistema operativo:
Haciendo uso de la vulnerabilidad de code injection se puede observar que el aplicativo está corriendo bajo el usuario de root:
Usando el comando env podemos listas las variables de entorno del sito:
Listando las interfaces de red existentes se encontró una interfaz de red docker, lo cual indica el uso de contenedores
Listando los contenedores con docker ps -a
se encontraron los siguientes contenedores:
ecs-cg-ecs-takeover-ecs_takeover_cgidjozev9f9bv-vulnsite-1-vulnsite-bcf8beafe588ccca8a01
7bfa57af37b6
ecs-cg-ecs-takeover-ecs_takeover_cgidjozev9f9bv-privd-1-privd-a2bfc681b6dcf9d55500
64ca7db98975
ecs-agent
aaead8b98f5f
Se puede generar una rever shell en el sitio y tener mayores capacidades, para fines didácticos solo se va a consumir los metadatos del rol de la instancias ec2 y se procedesa a usar las credenciales de acceso