GCP - Public Buckets Privilege Escalation
Επέκταση Προνομίων Κάδων
Εάν η πολιτική του κάδου επιτρέπει είτε στους "allUsers" είτε στους "allAuthenticatedUsers" να γράψουν στην πολιτική του κάδου (το δικαίωμα storage.buckets.setIamPolicy), τότε οποιοσδήποτε μπορεί να τροποποιήσει την πολιτική του κάδου και να αποκτήσει πλήρη πρόσβαση.
Έλεγχος Προνομίων
Υπάρχουν 2 τρόποι για να ελέγξετε τα προνόμια ενός κάδου. Ο πρώτος είναι να τα ζητήσετε κάνοντας ένα αίτημα στο https://www.googleapis.com/storage/v1/b/BUCKET_NAME/iam
ή εκτελώντας την εντολή gsutil iam get gs://BUCKET_NAME
.
Ωστόσο, εάν ο χρήστης σας (πιθανώς ανήκει στους allUsers ή allAuthenticatedUsers") δεν έχει δικαιώματα για να διαβάσει την πολιτική του κάδου (storage.buckets.getIamPolicy), αυτό δεν θα λειτουργήσει.
Η άλλη επιλογή που θα λειτουργήσει πάντα είναι να χρησιμοποιήσετε το σημείο πρόσβασης testPermissions του κάδου για να διαπιστώσετε εάν έχετε το συγκεκριμένο δικαίωμα, για παράδειγμα προσπελαύνοντας: 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
Επέκταση
Για να χορηγήσετε το Storage Admin
στους allAuthenticatedUsers
, μπορείτε να εκτελέσετε:
Ένα άλλο επίθεση θα ήταν να αφαιρέσετε το κάδο και να τον ξαναδημιουργήσετε στον λογαριασμό σας για να κλέψετε την ιδιοκτησία.
Αναφορές
Last updated