AWS - Cloudformation Privesc
cloudformation
Für weitere Informationen zu Cloudformation siehe:
AWS - CloudFormation & Codestar Enumiam:PassRole
, cloudformation:CreateStack
iam:PassRole
, cloudformation:CreateStack
Ein Angreifer mit diesen Berechtigungen kann Privilegien eskalieren, indem er einen CloudFormation-Stack mit einer benutzerdefinierten Vorlage erstellt, die auf ihrem Server gehostet wird, um Aktionen unter den Berechtigungen einer bestimmten Rolle auszuführen:
Auf der folgenden Seite finden Sie ein Ausbeutungsbeispiel mit der zusätzlichen Berechtigung cloudformation:DescribeStacks
:
Potenzielle Auswirkung: Privilege Escalation auf die spezifizierte CloudFormation-Service-Rolle.
iam:PassRole
, (cloudformation:UpdateStack
| cloudformation:SetStackPolicy
)
iam:PassRole
, (cloudformation:UpdateStack
| cloudformation:SetStackPolicy
)In diesem Fall können Sie einen bestehenden CloudFormation-Stack missbrauchen, um ihn zu aktualisieren und Berechtigungen zu eskalieren, wie im vorherigen Szenario:
Die Berechtigung cloudformation:SetStackPolicy
kann verwendet werden, um sich selbst die Berechtigung UpdateStack
über einen Stack zu geben und den Angriff durchzuführen.
Mögliche Auswirkungen: Privilege Escalation auf die angegebene CloudFormation-Service-Rolle.
cloudformation:UpdateStack
| cloudformation:SetStackPolicy
cloudformation:UpdateStack
| cloudformation:SetStackPolicy
Wenn Sie diese Berechtigung haben, aber kein iam:PassRole
, können Sie immer noch die verwendeten Stacks aktualisieren und die IAM-Rollen missbrauchen, die sie bereits angehängt haben. Überprüfen Sie den vorherigen Abschnitt auf ein Beispiel für den Exploit (geben Sie einfach keine Rolle in der Aktualisierung an).
Die Berechtigung cloudformation:SetStackPolicy
kann verwendet werden, um sich selbst die Berechtigung UpdateStack
über einen Stack zu geben und den Angriff durchzuführen.
Mögliche Auswirkungen: Privilege Escalation auf die bereits angehängte CloudFormation-Service-Rolle.
iam:PassRole
,((cloudformation:CreateChangeSet
, cloudformation:ExecuteChangeSet
) | cloudformation:SetStackPolicy
)
iam:PassRole
,((cloudformation:CreateChangeSet
, cloudformation:ExecuteChangeSet
) | cloudformation:SetStackPolicy
)Ein Angreifer mit Berechtigungen zum Weitergeben einer Rolle und zum Erstellen & Ausführen eines ChangeSets kann einen neuen CloudFormation-Stack erstellen/aktualisieren und die CloudFormation-Service-Rollen missbrauchen, genauso wie bei CreateStack oder UpdateStack.
Der folgende Exploit ist eine Variante des CreateStack-Exploits unter Verwendung der ChangeSet-Berechtigungen zum Erstellen eines Stacks.
Die Berechtigung cloudformation:SetStackPolicy
kann verwendet werden, um sich ChangeSet
-Berechtigungen zu geben und den Angriff durchzuführen.
Potenzielle Auswirkungen: Privilege Escalation zu CloudFormation-Service-Rollen.
(cloudformation:CreateChangeSet
, cloudformation:ExecuteChangeSet
) | cloudformation:SetStackPolicy
)
cloudformation:CreateChangeSet
, cloudformation:ExecuteChangeSet
) | cloudformation:SetStackPolicy
)Dies ist ähnlich wie die vorherige Methode, ohne IAM-Rollen zu übergeben, daher können Sie einfach bereits angehängte Rollen missbrauchen, ändern Sie einfach den Parameter:
Potenzielle Auswirkungen: Privilege Escalation zum bereits angehängten CloudFormation-Service-Rolle.
iam:PassRole
,(cloudformation:CreateStackSet
| cloudformation:UpdateStackSet
)
iam:PassRole
,(cloudformation:CreateStackSet
| cloudformation:UpdateStackSet
)Ein Angreifer könnte diese Berechtigungen missbrauchen, um StackSets zu erstellen/aktualisieren und damit beliebige CloudFormation-Rollen zu missbrauchen.
Potenzielle Auswirkungen: Privilege Escalation zu CloudFormation-Service-Rollen.
cloudformation:UpdateStackSet
cloudformation:UpdateStackSet
Ein Angreifer könnte diese Berechtigung ohne die PassRole
-Berechtigung missbrauchen, um StackSets zu aktualisieren und damit die angehängten CloudFormation-Rollen zu missbrauchen.
Potenzielle Auswirkungen: Privilege Escalation zu den angehängten CloudFormation-Rollen.
Referenzen
Last updated