AWS - ECS Enum

Tip

Apprenez & pratiquez AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Apprenez & pratiquez GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Apprenez & pratiquez Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Soutenez HackTricks

ECS

Informations de base

Amazon Elastic Container Services ou ECS fournit une plateforme pour hĂ©berger des applications conteneurisĂ©es dans le cloud. ECS a deux mĂ©thodes de dĂ©ploiement, le type d’instance EC2 et une option sans serveur, Fargate. Le service facilite grandement l’exĂ©cution de conteneurs dans le cloud.

ECS fonctionne en utilisant les trois blocs de construction suivants : Clusters, Services et Définitions de tùches.

  • Clusters sont des groupes de conteneurs qui fonctionnent dans le cloud. Comme mentionnĂ© prĂ©cĂ©demment, il existe deux types de lancement pour les conteneurs, EC2 et Fargate. AWS dĂ©finit le type de lancement EC2 comme permettant aux clients “d’exĂ©cuter [leurs] applications conteneurisĂ©es sur un cluster d’instances Amazon EC2 que [ils] gĂšrent”. Fargate est similaire et est dĂ©fini comme “[permettant] d’exĂ©cuter vos applications conteneurisĂ©es sans avoir besoin de provisionner et de gĂ©rer l’infrastructure backend”.
  • Services sont créés Ă  l’intĂ©rieur d’un cluster et sont responsables de l’exĂ©cution des tĂąches. Dans une dĂ©finition de service, vous dĂ©finissez le nombre de tĂąches Ă  exĂ©cuter, l’auto-scaling, le fournisseur de capacitĂ© (Fargate/EC2/Externe), les informations de rĂ©seau telles que les VPC, sous-rĂ©seaux et groupes de sĂ©curitĂ©.
  • Il y a 2 types d’applications :
  • Service : Un groupe de tĂąches gĂ©rant un travail informatique de longue durĂ©e qui peut ĂȘtre arrĂȘtĂ© et redĂ©marrĂ©. Par exemple, une application web.
  • TĂąche : Une tĂąche autonome qui s’exĂ©cute et se termine. Par exemple, un travail par lots.
  • Parmi les applications de service, il y a 2 types de planificateurs de service :
  • REPLICA : La stratĂ©gie de planification des rĂ©pliques place et maintient le nombre dĂ©sirĂ© de tĂąches dans votre cluster. Si pour une raison quelconque une tĂąche s’arrĂȘte, une nouvelle est lancĂ©e dans le mĂȘme ou un autre nƓud.
  • DAEMON : DĂ©ploie exactement une tĂąche sur chaque instance de conteneur active qui a les exigences nĂ©cessaires. Il n’est pas nĂ©cessaire de spĂ©cifier un nombre dĂ©sirĂ© de tĂąches, une stratĂ©gie de placement de tĂąches, ou d’utiliser des politiques d’auto-scaling de service.
  • DĂ©finitions de tĂąches sont responsables de dĂ©finir quels conteneurs seront exĂ©cutĂ©s et les divers paramĂštres qui seront configurĂ©s avec les conteneurs tels que mappages de ports avec l’hĂŽte, variables d’environnement, Docker entrypoint

  • VĂ©rifiez les variables d’environnement pour des informations sensibles !

Données sensibles dans les définitions de tùches

Les dĂ©finitions de tĂąches sont responsables de configurer les conteneurs rĂ©els qui seront exĂ©cutĂ©s dans ECS. Puisque les dĂ©finitions de tĂąches dĂ©finissent comment les conteneurs fonctionneront, une plĂ©thore d’informations peut y ĂȘtre trouvĂ©e.

Pacu peut énumérer ECS (list-clusters, list-container-instances, list-services, list-task-definitions), il peut également extraire les définitions de tùches.

ÉnumĂ©ration

# 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>

AccÚs non authentifié

AWS - ECS Unauthenticated Enum

Privesc

Dans la page suivante, vous pouvez vérifier comment abuser des permissions ECS pour escalader les privilÚges :

AWS - ECS Privesc

Post Exploitation

AWS - ECS Post Exploitation

Persistance

AWS - ECS Persistence

Tip

Apprenez & pratiquez AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Apprenez & pratiquez GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Apprenez & pratiquez Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Soutenez HackTricks