AWS - ECS Enum
ECS
Basic Information
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 Task Definitions.
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 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.
Task : Une tâche autonome qui s'exécute et se termine. Par exemple, un travail par lot.
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.
Task Definitions 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 !
Sensitive Data In Task Definitions
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.
Enumeration
Accès non authentifié
Privesc
Dans la page suivante, vous pouvez vérifier comment abuser des permissions ECS pour escalader les privilèges :
Post Exploitation
Persistance
Last updated