GCP - Public Buckets Privilege Escalation
Buckets Privilege Escalation
Wenn die Bucket-Richtlinie entweder "allUsers" oder "allAuthenticatedUsers" erlaubte, in ihre Bucket-Richtlinie zu schreiben (die storage.buckets.setIamPolicy-Berechtigung), dann kann jeder die Bucket-Richtlinie ändern und sich selbst vollen Zugriff gewähren.
Berechtigungen überprüfen
Es gibt 2 Möglichkeiten, die Berechtigungen über einen Bucket zu überprüfen. Die erste Möglichkeit besteht darin, sie anzufordern, indem Sie eine Anfrage an https://www.googleapis.com/storage/v1/b/BUCKET_NAME/iam
senden oder gsutil iam get gs://BUCKET_NAME
ausführen.
Wenn Ihr Benutzer (möglicherweise zu allUsers oder allAuthenticatedUsers gehörend) keine Berechtigungen zum Lesen der IAM-Richtlinie des Buckets hat (storage.buckets.getIamPolicy), funktioniert das nicht.
Die andere Option, die immer funktioniert, besteht darin, den testPermissions-Endpunkt des Buckets zu verwenden, um herauszufinden, ob Sie die angegebene Berechtigung haben, z. B. den Zugriff auf: https://www.googleapis.com/storage/v1/b/BUCKET_NAME/iam/testPermissions?permissions=storage.buckets.delete&permissions=storage.buckets.get&permissions=storage.buckets.getIamPolicy&permissions=storage.buckets.setIamPolicy&permissions=storage.buckets.update&permissions=storage.objects.create&permissions=storage.objects.delete&permissions=storage.objects.get&permissions=storage.objects.list&permissions=storage.objects.update
Eskalation
Um Storage Admin
an allAuthenticatedUsers
zu gewähren, ist es möglich, Folgendes auszuführen:
Eine weitere Attacke wäre es, den Bucket zu entfernen und in Ihrem Konto neu zu erstellen, um das Eigentum zu stehlen.
Referenzen
Last updated