AWS - ECS Post Exploitation
Last updated
Last updated
Apprenez 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)
Pour plus d'informations, consultez :
AWS - ECS EnumDans ECS, un rôle IAM peut être attribué à la tâche s'exécutant à l'intérieur du conteneur. Si la tâche est exécutée à l'intérieur d'une instance EC2, l'instance EC2 aura un autre rôle IAM attaché. Ce qui signifie que si vous parvenez à compromettre une instance ECS, vous pouvez potentiellement obtenir le rôle IAM associé à l'ECR et à l'instance EC2. Pour plus d'infos sur la façon d'obtenir ces identifiants, consultez :
Notez que si l'instance EC2 applique IMDSv2, selon la documentation, la réponse de la requête PUT aura une limite de saut de 1, rendant impossible l'accès aux métadonnées EC2 depuis un conteneur à l'intérieur de l'instance EC2.
De plus, EC2 utilise Docker pour exécuter les tâches ECs, donc si vous pouvez échapper au nœud ou accéder au socket Docker, vous pouvez vérifier quels autres conteneurs sont en cours d'exécution, et même entrer à l'intérieur d'eux et voler leurs rôles IAM attachés.
De plus, le rôle de l'instance EC2 aura généralement suffisamment de permissions pour mettre à jour l'état de l'instance de conteneur des instances EC2 utilisées comme nœuds à l'intérieur du cluster. Un attaquant pourrait modifier l'état d'une instance en DRAINING, alors ECS supprimera toutes les tâches de celle-ci et celles exécutées en tant que REPLICA seront exécutées dans une autre instance, potentiellement à l'intérieur de l'instance de l'attaquant afin qu'il puisse voler leurs rôles IAM et des informations sensibles potentielles à l'intérieur du conteneur.
La même technique peut être réalisée en désenregistrant l'instance EC2 du cluster. Cela est potentiellement moins furtif mais cela forcera les tâches à être exécutées sur d'autres instances :
Une technique finale pour forcer la réexécution des tâches consiste à indiquer à ECS que le tâche ou le conteneur a été arrêté. Il existe 3 API potentielles pour cela :
L'instance EC2 aura probablement également la permission ecr:GetAuthorizationToken
lui permettant de télécharger des images (vous pourriez rechercher des informations sensibles dans celles-ci).
Apprenez 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)