AWS - Cloudformation Privesc
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 sur cloudformation, consultez :
iam:PassRole
, cloudformation:CreateStack
Un attaquant avec ces permissions peut escalader les privilèges en créant une pile CloudFormation avec un modèle personnalisé, hébergé sur son serveur, pour exécuter des actions sous les permissions d'un rôle spécifié :
Dans la page suivante, vous avez un exemple d'exploitation avec la permission supplémentaire cloudformation:DescribeStacks
:
Impact potentiel : Privesc au rôle de service cloudformation spécifié.
iam:PassRole
, (cloudformation:UpdateStack
| cloudformation:SetStackPolicy
)Dans ce cas, vous pouvez abuser d'une stack cloudformation existante pour la mettre à jour et escalader les privilèges comme dans le scénario précédent :
La permission cloudformation:SetStackPolicy
peut être utilisée pour vous donner la permission UpdateStack
sur une pile et effectuer l'attaque.
Impact potentiel : Privesc au rôle de service cloudformation spécifié.
cloudformation:UpdateStack
| cloudformation:SetStackPolicy
Si vous avez cette permission mais pas iam:PassRole
, vous pouvez toujours mettre à jour les piles utilisées et abuser des rôles IAM déjà attachés. Consultez la section précédente pour un exemple d'exploitation (il suffit de ne pas indiquer de rôle dans la mise à jour).
La permission cloudformation:SetStackPolicy
peut être utilisée pour vous donner la permission UpdateStack
sur une pile et effectuer l'attaque.
Impact potentiel : Privesc au rôle de service cloudformation déjà attaché.
iam:PassRole
,((cloudformation:CreateChangeSet
, cloudformation:ExecuteChangeSet
) | cloudformation:SetStackPolicy
)Un attaquant avec des permissions pour passer un rôle et créer & exécuter un ChangeSet peut créer/mettre à jour une nouvelle pile cloudformation et abuser des rôles de service cloudformation tout comme avec CreateStack ou UpdateStack.
L'exploitation suivante est une variation de la CreateStack one utilisant les permissions ChangeSet pour créer une pile.
La permission cloudformation:SetStackPolicy
peut être utilisée pour vous donner des permissions ChangeSet
sur une pile et effectuer l'attaque.
Impact potentiel : Privesc vers les rôles de service cloudformation.
cloudformation:CreateChangeSet
, cloudformation:ExecuteChangeSet
) | cloudformation:SetStackPolicy
)C'est comme la méthode précédente sans passer les rôles IAM, donc vous pouvez simplement abuser de ceux déjà attachés, il suffit de modifier le paramètre :
Impact potentiel : Privesc au rôle de service cloudformation déjà attaché.
iam:PassRole
,(cloudformation:CreateStackSet
| cloudformation:UpdateStackSet
)Un attaquant pourrait abuser de ces permissions pour créer/mette à jour des StackSets afin d'abuser des rôles cloudformation arbitraires.
Impact potentiel : Privesc aux rôles de service cloudformation.
cloudformation:UpdateStackSet
Un attaquant pourrait abuser de cette permission sans la permission passRole pour mettre à jour des StackSets afin d'abuser des rôles cloudformation attachés.
Impact potentiel : Privesc aux rôles cloudformation attachés.
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)