GCP - Public Buckets Privilege Escalation
Escalazione dei Privilegi per i Bucket
Se la policy del bucket permette a "allUsers" o "allAuthenticatedUsers" di scrivere nella loro policy del bucket (il permesso storage.buckets.setIamPolicy), allora chiunque può modificare la policy del bucket e ottenere accesso completo.
Verifica dei Permessi
Ci sono 2 modi per verificare i permessi su un bucket. Il primo è richiederli facendo una richiesta a https://www.googleapis.com/storage/v1/b/BUCKET_NAME/iam
o eseguendo gsutil iam get gs://BUCKET_NAME
.
Tuttavia, se il tuo utente (potenzialmente appartenente a allUsers o allAuthenticatedUsers") non ha i permessi per leggere la policy iam del bucket (storage.buckets.getIamPolicy), ciò non funzionerà.
L'altra opzione che funzionerà sempre è utilizzare il punto finale testPermissions del bucket per verificare se hai il permesso specificato, ad esempio accedendo a: 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
Escalazione
Per concedere Storage Admin
a allAuthenticatedUsers
è possibile eseguire:
Un altro attacco potrebbe essere rimuovere il bucket e ricrearlo nel tuo account per rubare la proprietà.
Riferimenti
Last updated