AWS - ECS Post Exploitation
Last updated
Last updated
Aprende y practica Hacking en AWS:HackTricks Training AWS Red Team Expert (ARTE) Aprende y practica Hacking en GCP: HackTricks Training GCP Red Team Expert (GRTE)
Para más información consulta:
En ECS, un rol IAM puede ser asignado a la tarea que se ejecuta dentro del contenedor. Si la tarea se ejecuta dentro de una instancia EC2, la instancia EC2 tendrá otro rol IAM adjunto. Lo que significa que si logras comprometer una instancia ECS, puedes potencialmente obtener el rol IAM asociado al ECR y a la instancia EC2. Para más información sobre cómo obtener esas credenciales consulta:
Ten en cuenta que si la instancia EC2 está aplicando IMDSv2, según la documentación, la respuesta de la solicitud PUT tendrá un límite de salto de 1, lo que hace imposible acceder a los metadatos de EC2 desde un contenedor dentro de la instancia EC2.
Además, EC2 utiliza docker para ejecutar tareas de ECS, así que si puedes escapar al nodo o acceder al socket de docker, puedes ver qué otros contenedores se están ejecutando, e incluso entrar en ellos y robar sus roles IAM adjuntos.
Además, el rol de la instancia EC2 generalmente tendrá suficientes permisos para actualizar el estado de la instancia del contenedor de las instancias EC2 que se utilizan como nodos dentro del clúster. Un atacante podría modificar el estado de una instancia a DRAINING, entonces ECS eliminará todas las tareas de ella y las que se están ejecutando como REPLICA serán ejecutadas en una instancia diferente, potencialmente dentro de la instancia del atacante para que pueda robar sus roles IAM y potencial información sensible desde dentro del contenedor.
La misma técnica se puede realizar dando de baja la instancia EC2 del clúster. Esto es potencialmente menos sigiloso, pero forzará a que las tareas se ejecuten en otras instancias:
Una técnica final para forzar la reejecución de tareas es indicando a ECS que el tarea o contenedor fue detenido. Hay 3 APIs potenciales para hacer esto:
La instancia de EC2 probablemente también tendrá el permiso ecr:GetAuthorizationToken
que le permite descargar imágenes (podrías buscar información sensible en ellas).
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)