Détourner le rôle de stack CloudFormation via un change set
Peut exécuter un change set malveillant sur une stack en tant que son rôle de service existant.
N'accorde l'escalade qu'en combinaison. Tous ces éléments sont nécessaires ensemble :
cloudformation:CreateChangeSetcloudformation:ExecuteChangeSetcloudformation:ExecuteChangeSet peut exécuter un change set malveillant sur une stack en tant que rôle de service existant, mais uniquement lorsqu'elle est détenue conjointement avec cloudformation:CreateChangeSet. Détenues ensemble, elles atteignent l'accès administrateur.
Pourquoi c'est dangereux
Un principal peut appeler cloudformation:CreateChangeSet et cloudformation:ExecuteChangeSet sur une stack CloudFormation existante qui porte déjà le rôle de service. En préparant un modèle modifié sous forme de change set et en l'exécutant, le principal fait appliquer par CloudFormation les modifications de l'attaquant en utilisant le rôle cible, sans iam:PassRole, car le rôle cible est déjà lié à la stack. Un rôle de service privilégié signifie que le modèle de l'attaquant peut provisionner des ressources admin : escalade de privilèges complète contre une stack 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 CreateChangeSet, ExecuteChangeSet. L'appel apparaît dans CloudTrail mais se fond dans l'administration normale, il lui faut donc une règle pour ressortir.
Détection
CreateChangeSetExecuteChangeSetPrérequis
Une stack existante à laquelle est attaché un rôle de service ; la permission d'y créer et d'y exécuter un change set.
Tactique
Escalade de privilèges
Un contrôle qui le supprimerait : Restreindre cloudformation:CreateChangeSet/ExecuteChangeSet sur les stacks qui portent un rôle de service privilégié.
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 cloudformation:ExecuteChangeSet ?
Peut exécuter un change set malveillant sur une stack en tant que son rôle de service existant.
Que faut-il d'autre pour que cloudformation:ExecuteChangeSet soit dangereux ?
Cela ne devient une escalade que lorsqu'il est détenu conjointement avec cloudformation:CreateChangeSet. À lui seul, il ne suffit pas, ce qui rend la combinaison facile à manquer.
Comment détecter le détournement du rôle de stack CloudFormation via un change set ?
Surveillez CreateChangeSet, ExecuteChangeSet 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 cloudformation:CreateChangeSet/ExecuteChangeSet sur les stacks qui portent un rôle de service privilégié. 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.