GCP - Public Buckets Privilege Escalation
Last updated
Last updated
Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Εάν η πολιτική του σκεύους επιτρέπει είτε “allUsers” είτε “allAuthenticatedUsers” να γράψουν στην πολιτική του σκεύους τους (η άδεια storage.buckets.setIamPolicy), τότε οποιοσδήποτε μπορεί να τροποποιήσει την πολιτική του σκεύους και να παραχωρήσει πλήρη πρόσβαση στον εαυτό του.
Υπάρχουν 2 τρόποι για να ελέγξετε τις άδειες σε ένα σκεύος. Ο πρώτος είναι να ζητήσετε τις άδειες κάνοντας ένα αίτημα στο https://www.googleapis.com/storage/v1/b/BUCKET_NAME/iam
ή εκτελώντας gsutil iam get gs://BUCKET_NAME
.
Ωστόσο, εάν ο χρήστης σας (πιθανώς ανήκοντας σε "allUsers" ή "allAuthenticatedUsers") δεν έχει άδειες για να διαβάσει την πολιτική iam του σκεύους (storage.buckets.getIamPolicy), αυτό δεν θα λειτουργήσει.
Η άλλη επιλογή που θα λειτουργεί πάντα είναι να χρησιμοποιήσετε το endpoint 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
, είναι δυνατόν να εκτελέσετε:
Ένας άλλος επιθετικός στόχος θα ήταν να αφαιρέσετε τον κάδο και να τον αναδημιουργήσετε στον λογαριασμό σας για να κλέψετε την ιδιοκτησία.
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)