AWS - ECS Enum

Apprenez le piratage AWS de zéro à héros avec htARTE (Expert en équipe rouge AWS de HackTricks)!

Autres façons de soutenir 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 propose 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 à l'aide des trois éléments suivants : Clusters, Services et Définitions de tâches.

  • Les Clusters sont des groupes de conteneurs qui s'exécutent 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 de "faire fonctionner leurs applications conteneurisées sur un cluster d'instances Amazon EC2 qu'ils gèrent". Fargate est similaire et est défini comme "vous permettant d'exécuter vos applications conteneurisées sans avoir besoin de provisionner et de gérer l'infrastructure sous-jacente".

  • Les 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, le dimensionnement automatique, le fournisseur de capacité (Fargate/EC2/externe), des informations de réseau telles que les VPC, les sous-réseaux et les groupes de sécurité.

  • Il existe 2 types d'applications :

    • Service : Un groupe de tâches gérant un travail informatique de longue durée pouvant ê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 existe 2 types de planificateurs de service :

    • REPLICA : La stratégie de planification de réplique place et maintient le nombre souhaité de tâches dans votre cluster. Si, pour une raison quelconque, une tâche s'arrête, une nouvelle est lancée sur le même nœud ou sur un nœud différent.

    • DAEMON : Déploie exactement une tâche sur chaque instance de conteneur active ayant les exigences nécessaires. Il n'est pas nécessaire de spécifier un nombre souhaité de tâches, une stratégie de placement de tâches ou d'utiliser des politiques de mise à l'échelle automatique des services.

  • Les Définitions de tâches sont responsables de définir les conteneurs qui s'exécuteront et des divers paramètres qui seront configurés avec les conteneurs tels que les correspondances de ports avec l'hôte, les variables d'environnement, le point d'entrée Docker...

  • 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 s'exécuteront dans ECS. Étant donné que les définitions de tâches définissent comment les conteneurs s'exécuteront, une multitude d'informations peuvent être trouvées à l'intérieur.

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é

pageAWS - ECS Unauthenticated Enum

Élévation de privilèges

Sur la page suivante, vous pouvez vérifier comment abuser des autorisations ECS pour escalader les privilèges :

pageAWS - ECS Privesc

Post-exploitation

pageAWS - ECS Post Exploitation

Persistance

pageAWS - ECS Persistence
Apprenez le piratage AWS de zéro à héros avec htARTE (HackTricks AWS Red Team Expert)!

Autres façons de soutenir HackTricks :

Dernière mise à jour