AWS - ECS Enum
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
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 éléments de base suivants : Clusters, Services et Définitions de tâches.
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 “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 sur 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 !
Les définitions de tâches sont responsables de configurer les conteneurs réels qui seront exécutés dans ECS. Étant donné que les définitions de tâches définissent comment les conteneurs s'exécuteront, 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.
Dans la page suivante, vous pouvez vérifier comment abuser des permissions ECS pour élever les privilèges :
AWS - ECS PrivescApprenez et pratiquez le hacking AWS :HackTricks Training AWS Red Team Expert (ARTE) Apprenez et pratiquez le hacking GCP : HackTricks Training GCP Red Team Expert (GRTE)