Cloud Container Attack Tool - (CCAT)

¿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:

Introducción a Cloud Container Attack Tool

Dependiendo de los módulos a ejecutar, se requieren privilegios ECR:PutImageECR:InitiateLayerUpload. Para configurar CCAT, debemos clonar el repositorio y luego ejecutar el siguiente comando utilizando Docker.

docker run -it -v ~/.aws:/root/.aws/ -v /var/run/docker.sock:/var/run/docker.sock -v ${PWD}:/app/ rhinosecuritylabs/ccat:latest

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:

037572360634.dkr.ecr.us-east-1.amazonaws.com/spartan-cpna

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:

FROM 037572360634.dkr.ecr.us-east-1.amazonaws.com/spartan-cpna:latest
RUN echo "HELLO_SPARTANCYBERSECURITY"
RUN apt-get update && apt-get install curl -y
RUN curl https://spartan-cybersec.com/

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.

Referencias para realizar un dockerfile malicioso:

Tutorial Explicativo

Última actualización