AWS - S3 Privesc
Last updated
Last updated
Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
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 kann ein Angreifer mit diesen Berechtigungen über einen CloudFormation-Bucket namens "cf-templates-nohnwfax6a6i-us-east-1" die Bereitstellung ü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 der Bereitstellung der Vorlage 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
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
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, was ihm erlaubt, Buckets zu lesen, zu schreiben, zu ändern, zu löschen und offenzulegen.
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
Ein Angreifer könnte diese Berechtigungen ausnutzen, um ihm mehr Zugriff auf bestimmte Objekte in Buckets zu gewähren.
s3:GetObjectAcl
, s3:PutObjectVersionAcl
Ein Angreifer mit diesen Berechtigungen wird erwartet, in der Lage zu sein, eine Acl für eine bestimmte Objektversion festzulegen.
Lerne & übe AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Lerne & übe GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)