Ouvrir un shell ECS Exec
Peut ouvrir un shell ECS Exec interactif dans un conteneur en cours d'exécution.
Accorde l'escalade à lui seul.
ecs:ExecuteCommandÀ lui seul, ecs:ExecuteCommand peut ouvrir un shell interactif ECS Exec dans un conteneur en cours d'exécution. Sur un périmètre de ressources large, cela atteint à lui seul l'accès administrateur.
Pourquoi c'est dangereux
Un principal peut appeler ecs:ExecuteCommand pour ouvrir un shell interactif à l'intérieur du conteneur en cours d'exécution via ECS Exec, sans clé SSH, sans port de groupe de sécurité ouvert, sans iam:PassRole, contournant entièrement le chemin réseau. Cela permet une exécution de code à l'intérieur du conteneur, à partir de laquelle le principal peut lire les identifiants temporaires du rôle de tâche depuis l'endpoint de métadonnées de tâche ECS et pivoter plus loin dans le compte.
En termes MITRE ATT&CK, cela correspond à T1651, Commande d'administration cloud, dans la tactique mouvement latéral. AWS l'enregistre dans CloudTrail sous ExecuteCommand. L'appel apparaît dans CloudTrail mais se fond dans l'administration normale, il lui faut donc une règle pour ressortir.
Détection
ExecuteCommandPrérequis
La tâche cible est en état RUNNING avec enableExecuteCommand=true et porte un rôle de tâche ou d'exécution.
MITRE ATT&CK
T1651 · Commande d'administration cloudTactique
Mouvement latéral
Un contrôle qui le supprimerait : Restreindre ecs:ExecuteCommand aux principaux break-glass ; désactiver ECS Exec (enableExecuteCommand=false) sur les tâches qui n'en ont pas besoin.
La décision de l'appliquer dépend de la façon dont la permission est utilisée dans votre environnement, il s'agit donc d'une décision métier plutôt que d'un correctif automatique. La même permission peut être porteuse dans un compte et pur risque dans un autre.
Pathbreak confirme si ce chemin se résout dans votre compte, le classe par rapport aux autres selon l'ampleur de ce qu'il ouvre, et utilise votre modèle de menace et votre contexte métier pour montrer quels chemins valent la peine d'être coupés.
Questions
Que permet ecs:ExecuteCommand ?
Peut ouvrir un shell ECS Exec interactif dans un conteneur en cours d'exécution.
ecs:ExecuteCommand peut-il permettre une escalade de privilèges à lui seul ?
Oui. Détenue sur une ressource suffisamment large, elle atteint l'accès administrateur sans aucune autre permission.
Comment détecter l'ouverture d'un shell ECS Exec ?
Surveillez ExecuteCommand dans CloudTrail. Cet appel apparaît dans CloudTrail mais se fond dans l'administration normale, il faut donc une règle pour le faire ressortir.
Comment briser ce chemin ?
Un contrôle qui le supprimerait est : Limitez ecs:ExecuteCommand aux principaux d'urgence (break-glass) ; désactivez ECS Exec (enableExecuteCommand=false) sur les tâches qui n'en ont pas besoin. L'appliquer ou non dépend de la manière dont l'autorisation est utilisée dans votre compte, il s'agit donc d'une décision métier plutôt que d'un correctif automatique.
De quelle technique MITRE ATT&CK s'agit-il ?
T1651, Commande d'administration cloud, dans la tactique mouvement latéral.
Chemins associés
Références
Trouvez ceci dans votre propre compte
Nous réalisons un scan en lecture seule d'un compte AWS et vous montrons lesquels de ces chemins existent, classés par rayon d'impact, avec le changement qui brise chacun d'eux. Premiers chemins validés en moins d'une heure.