AWS - S3 Privesc
S3
s3:PutBucketNotification
, s3:PutObject
, s3:GetObject
s3:PutBucketNotification
, s3:PutObject
, s3:GetObject
Ein Angreifer mit diesen Berechtigungen über interessante Buckets könnte in der Lage sein, Ressourcen zu übernehmen und Privilegien zu eskalieren.
Zum Beispiel wird ein Angreifer mit diesen Berechtigungen über einen CloudFormation-Bucket namens "cf-templates-nohnwfax6a6i-us-east-1" in der Lage sein, die Bereitstellung zu übernehmen. Der Zugriff kann mit der folgenden Richtlinie gewährt werden:
Und die Übernahme ist möglich, weil es ein kleines Zeitfenster vom Moment des Hochladens der Vorlage in den Bucket bis zum Moment, in dem die Vorlage bereitgestellt wird, gibt. Ein Angreifer könnte einfach eine Lambda-Funktion in seinem Konto erstellen, die ausgelöst wird, wenn eine Bucket-Benachrichtigung gesendet wird, und übernimmt den Inhalt dieses Buckets.
Das Pacu-Modul cfn__resouce_injection
kann verwendet werden, um diesen Angriff zu automatisieren.
Für weitere Informationen siehe die ursprüngliche Forschung: https://rhinosecuritylabs.com/aws/cloud-malware-cloudformation-injection/
s3:PutObject
, s3:GetObject
s3:PutObject
, s3:GetObject
Dies sind die Berechtigungen, um Objekte in S3 zu erhalten und hochzuladen. Mehrere Dienste innerhalb von AWS (und außerhalb davon) verwenden S3-Speicher, um Konfigurationsdateien zu speichern. Ein Angreifer mit Lesezugriff auf diese könnte sensible Informationen darin finden. Ein Angreifer mit Schreibzugriff auf diese könnte die Daten ändern, um einen Dienst auszunutzen und zu versuchen, Privilegien zu eskalieren. Hier sind einige Beispiele:
Wenn eine EC2-Instanz die Benutzerdaten in einem S3-Bucket speichert, könnte ein Angreifer diese ändern, um beliebigen Code innerhalb der EC2-Instanz auszuführen.
s3:PutBucketPolicy
s3:PutBucketPolicy
Ein Angreifer, der aus demselben Konto stammen muss, andernfalls wird der Fehler Die angegebene Methode ist nicht erlaubt
ausgelöst, kann mit dieser Berechtigung sich selbst mehr Berechtigungen über den Bucket(s) gewähren, die es ihm ermöglichen, Buckets zu lesen, zu schreiben, zu ändern, zu löschen und offenzulegen.
s3:GetBucketAcl
, s3:PutBucketAcl
s3:GetBucketAcl
, s3:PutBucketAcl
Ein Angreifer könnte diese Berechtigungen missbrauchen, um sich mehr Zugriff auf bestimmte Buckets zu gewähren. Beachten Sie, dass der Angreifer nicht aus demselben Konto stammen muss. Darüber hinaus ist der Schreibzugriff
s3:GetObjectAcl
, s3:PutObjectAcl
s3:GetObjectAcl
, s3:PutObjectAcl
Ein Angreifer könnte diese Berechtigungen ausnutzen, um sich mehr Zugriff auf bestimmte Objekte in Buckets zu gewähren.
s3:GetObjectAcl
, s3:PutObjectVersionAcl
s3:GetObjectAcl
, s3:PutObjectVersionAcl
Ein Angreifer mit diesen Berechtigungen wird erwartet, in der Lage zu sein, eine Acl für eine bestimmte Objektversion festzulegen.
Last updated