Détourner le user-data EC2
Peut réécrire les user-data d'une instance et exécuter du code sous son rôle de profil d'instance.
N'accorde l'escalade qu'en combinaison. Tous ces éléments sont nécessaires ensemble :
ec2:ModifyInstanceAttributeec2:StartInstancesec2:StopInstancesec2:ModifyInstanceAttribute peut réécrire les user-data d'une instance et exécuter du code en tant que rôle de son profil d'instance, mais uniquement lorsqu'elle est détenue conjointement avec ec2:StartInstances, ec2:StopInstances. Détenues ensemble, elles atteignent l'accès administrateur.
Pourquoi c'est dangereux
Un principal peut arrêter l'instance, réécrire ses user-data avec ec2:ModifyInstanceAttribute, et la redémarrer ; au démarrage, l'instance exécute le script user-data de l'attaquant en tant que son rôle de profil d'instance déjà attaché, sans iam:PassRole. Un profil d'instance privilégié signifie une exécution de code arbitraire en tant que ce rôle : une escalade de privilèges complète contre une machine qui était déjà de confiance.
En termes MITRE ATT&CK, cela correspond à T1578, Modification de l'infrastructure de calcul cloud, dans la tactique escalade de privilèges. AWS l'enregistre dans CloudTrail sous ModifyInstanceAttribute, StopInstances, StartInstances. L'appel est bruyant dans CloudTrail et se démarque de l'activité normale.
Détection
ModifyInstanceAttributeStopInstancesStartInstancesPrérequis
Une instance existante avec un profil d'instance ; la permission de l'arrêter/modifier/démarrer.
Tactique
Escalade de privilèges
Un contrôle qui le supprimerait : Restreindre ec2:ModifyInstanceAttribute sur les instances avec des profils d'instance attachés.
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 ec2:ModifyInstanceAttribute ?
Peut réécrire les user-data d'une instance et exécuter du code sous son rôle de profil d'instance.
Que faut-il d'autre pour que ec2:ModifyInstanceAttribute soit dangereux ?
Cela ne devient une escalade que lorsqu'il est détenu conjointement avec ec2:StartInstances, ec2:StopInstances. À lui seul, il ne suffit pas, ce qui rend la combinaison facile à manquer.
Comment détecter le détournement du user-data EC2 ?
Surveillez ModifyInstanceAttribute, StopInstances, StartInstances dans CloudTrail. Cet appel est bruyant dans CloudTrail et se démarque de l'activité normale.
Comment briser ce chemin ?
Un contrôle qui le supprimerait est : Limitez ec2:ModifyInstanceAttribute sur les instances avec des profils d'instance attachés. 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 ?
T1578, Modification de l'infrastructure de calcul cloud, dans la tactique escalade de privilèges.
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.