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.
Check Permissions
Es gibt 2 Möglichkeiten, die Berechtigungen für einen Bucket zu überprüfen. Die erste besteht darin, sie anzufordern, indem man eine Anfrage an https://www.googleapis.com/storage/v1/b/BUCKET_NAME/iam
stellt oder gsutil iam get gs://BUCKET_NAME
ausführt.
Wenn Ihr Benutzer (potenziell zu „allUsers“ oder „allAuthenticatedUsers“ gehörend) jedoch keine Berechtigungen hat, um die IAM-Richtlinie des Buckets zu lesen (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, indem Sie beispielsweise auf zugreifen: 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
Escalating
Um Storage Admin
für allAuthenticatedUsers
zu gewähren, ist es möglich, Folgendes auszuführen:
Ein weiterer Angriff wäre es, den Bucket zu entfernen und ihn in Ihrem Konto neu zu erstellen, um die Eigentümerschaft zu stehlen.
References
Last updated