AWS - ECS Enum

Aprende hacking en AWS desde cero hasta experto con htARTE (HackTricks AWS Red Team Expert)!

Otras formas de apoyar a HackTricks:

ECS

Información Básica

Amazon Elastic Container Services o ECS proporciona una plataforma para alojar aplicaciones en contenedores en la nube. ECS tiene dos métodos de implementación, el tipo de instancia EC2 y una opción serverless, Fargate. El servicio facilita mucho y sin problemas la ejecución de contenedores en la nube.

ECS opera utilizando los siguientes tres bloques de construcción: Clusters, Servicios y Definiciones de Tareas.

  • Los Clusters son grupos de contenedores que se ejecutan en la nube. Como se mencionó anteriormente, hay dos tipos de lanzamiento para contenedores, EC2 y Fargate. AWS define el tipo de lanzamiento EC2 como permitir a los clientes "ejecutar sus aplicaciones en contenedores en un clúster de instancias de Amazon EC2 que ellos administran". Fargate es similar y se define como "permitirle ejecutar sus aplicaciones en contenedores sin la necesidad de aprovisionar y administrar la infraestructura backend".

  • Los Servicios se crean dentro de un clúster y son responsables de ejecutar las tareas. Dentro de una definición de servicio se define el número de tareas a ejecutar, el escalado automático, el proveedor de capacidad (Fargate/EC2/Externo), información de red como VPC, subredes y grupos de seguridad.

  • Hay 2 tipos de aplicaciones:

    • Servicio: Un grupo de tareas que manejan un trabajo informático de larga duración que puede detenerse y reiniciarse. Por ejemplo, una aplicación web.

    • Tarea: Una tarea independiente que se ejecuta y termina. Por ejemplo, un trabajo por lotes.

  • Entre las aplicaciones de servicio, hay 2 tipos de planificadores de servicio:

    • REPLICA: La estrategia de programación de réplicas coloca y mantiene el número deseado de tareas en todo su clúster. Si por alguna razón una tarea se detiene, se lanza una nueva en el mismo o en un nodo diferente.

    • DAEMON: Implementa exactamente una tarea en cada instancia de contenedor activa que tenga los requisitos necesarios. No es necesario especificar un número deseado de tareas, una estrategia de colocación de tareas o utilizar políticas de escalado automático de servicios.

  • Las Definiciones de Tareas son responsables de definir qué contenedores se ejecutarán y los diversos parámetros que se configurarán con los contenedores, como mapeos de puertos con el host, variables de entorno, entrypoint de Docker...

  • ¡Verifica las variables de entorno para información sensible!

Datos Sensibles en Definiciones de Tareas

Las definiciones de tareas son responsables de configurar los contenedores reales que se ejecutarán en ECS. Dado que las definiciones de tareas definen cómo se ejecutarán los contenedores, se puede encontrar una gran cantidad de información en su interior.

Pacu puede enumerar ECS (listar clústeres, listar instancias de contenedores, listar servicios, listar definiciones de tareas), también puede volcar las definiciones de tareas.

Enumeración

# Clusters info
aws ecs list-clusters
aws ecs describe-clusters --clusters <cluster>

# Container instances
## An Amazon ECS container instance is an Amazon EC2 instance that is running the Amazon ECS container agent and has been registered into an Amazon ECS cluster.
aws ecs list-container-instances --cluster <cluster>
aws ecs describe-container-instances --cluster <cluster> --container-instances <container_instance_arn>

# Services info
aws ecs list-services --cluster <cluster>
aws ecs describe-services --cluster <cluster> --services <services>
aws ecs describe-task-sets --cluster <cluster> --service <service>

# Task definitions
aws ecs list-task-definition-families
aws ecs list-task-definitions
aws ecs list-tasks --cluster <cluster>
aws ecs describe-tasks --cluster <cluster> --tasks <tasks>
## Look for env vars and secrets used from the task definition
aws ecs describe-task-definition --task-definition <TASK_NAME>:<VERSION>

Acceso no autenticado

pageAWS - ECS Unauthenticated Enum

Escalada de privilegios

En la siguiente página puedes verificar cómo abusar de los permisos de ECS para escalar privilegios:

pageAWS - ECS Privesc

Post Explotación

pageAWS - ECS Post Exploitation

Persistencia

pageAWS - ECS Persistence
Aprende hacking en AWS de cero a héroe con htARTE (HackTricks AWS Red Team Expert)!

Otras formas de apoyar a HackTricks:

Última actualización