Cloud Container Attack Tool - (CCAT)
Última actualización
Última actualización
¿Crees tener lo que se necesita para ser un experto en Pentesting contra AWS? Si nuestro libro te abrió los ojos a las posibilidades de la ciberseguridad ofensiva o si ya cuentas con habilidades en este campo, es momento de subir de nivel. Te retamos a certificarte en el CPNA - Curso Profesional de Pentesting Contra AWS. No será fácil: te enfrentarás a un examen riguroso de 12 horas donde deberás hackear una infraestructura completa alojada en AWS. ¿Listo para el desafío? Acepta el reto y demuestra tu verdadero potencial.
Este contenido se adentra en una técnica avanzada de post-explotación, crucial para entender cómo maximizar el impacto de un ataque una vez que se ha conseguido penetrar en un sistema. Es importante recalcar que la ejecución de esta técnica presupone que el atacante o consultor ya ha obtenido ciertos niveles de privilegios dentro de la infraestructura objetivo. Sin estos privilegios, llevar a cabo el ataque explicado aquí no sería posible. Proceder con cautela y siempre dentro del marco legal y ético es fundamental.
Aunque ha habido investigaciones y desarrollo de herramientas sobre contenedores y su seguridad, la mayoría de ellas se centran en el análisis de imágenes y la búsqueda de vulnerabilidades conocidas. En el 2020 surgió la creación de una herramienta llamada Cloud Container Attack Tool y esta fue desarrollada por el equipo de Rhyno Security Labs. CCAT utiliza contenedores para la explotación en la nube a través de puertas traseras (backdoors) e imágenes de Docker maliciosas.
Enlace para acceder:
Dependiendo de los módulos a ejecutar, se requieren privilegios ECR:PutImage
– ECR:InitiateLayerUpload
.
Para configurar CCAT, debemos clonar el repositorio y luego ejecutar el siguiente comando utilizando Docker.
Para demostrar cómo usar CCAT, analizaremos un pequeño escenario de ejemplo a continuación, donde un atacante usa CCAT para abusar de las credenciales de AWS comprometidas para una mayor explotación en el entorno de AWS.
Después de ejecutar el comando previo, debemos especificar dentro de la Shell del CCAT el nombre del perfil de nuestras credenciales de AWS.
Posteriormente, vamos a seleccionar la opción Enumerate ECR para que CCAT recopile los diferentes repositorios existentes en la cuenta de AWS. Es importante mencionar, que se debe especificar la región de AWS con la que se estará trabajando (Para evitar problemas con el menú, se debe realizar un click sobre la región.).
En la evidencia previa, podemos apreciar la existencia de un repositorio con la siguiente URI:
Ahora vamos a realizar el proceso de PULL sobre la ultima imagen almacenada en el repositorio localizado:
Luego de lo anterior, vamos a realizar el proceso de backdorizar la imagen de docker y para ello debemos ejecutar lo siguiente:
Es importante resaltar, que en el campo de instrucción del Docker se debe especificar los múltiples comandos que nosotros queremos ejecutar. Para este ejemplo, estaremos realizando una petición GET contra una página web y el dockerfile debería quedar de la siguiente manera:
Luego de configurar el dockerfile malicioso, simplemente debemos realizar un PUSH para enviar los cambios al repositorio localizado:
Antes de realizar la backdorizacion sobre la imagen del docker alojado en el repositorio del ECR, solo existían 2 imágenes:
Después de ejecutar el PUSH, lograremos apreciar la existencia de una nueva imagen con el tag especificado:
Ahora si un arquitecto de AWS o cualquier servicio que tenga acceso al repositorio realiza un PULL sobre la imagen.
Se implementará el contenedor con las características y comandos que especificamos en el Dockerfile.