GCP - Public Buckets Privilege Escalation
Last updated
Last updated
Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Se a política do bucket permitir que “allUsers” ou “allAuthenticatedUsers” escrevam em sua política de bucket (a permissão storage.buckets.setIamPolicy), então qualquer um pode modificar a política do bucket e conceder a si mesmo acesso total.
Existem 2 maneiras de verificar as permissões sobre um bucket. A primeira é solicitá-las fazendo uma requisição para https://www.googleapis.com/storage/v1/b/BUCKET_NAME/iam
ou executando gsutil iam get gs://BUCKET_NAME
.
No entanto, se seu usuário (potencialmente pertencente a "allUsers" ou "allAuthenticatedUsers") não tiver permissões para ler a política iam do bucket (storage.buckets.getIamPolicy), isso não funcionará.
A outra opção que sempre funcionará é usar o endpoint testPermissions do bucket para descobrir se você tem a permissão especificada, por exemplo, acessando: 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
Para conceder Storage Admin
a allAuthenticatedUsers
, é possível executar:
Outro ataque seria remover o bucket e recriá-lo na sua conta para roubar a propriedade.
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)