GCP - Escalación de Privilegios en Buckets Públicos

Tip

Aprende y practica AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Aprende y practica GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Aprende y practica Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Apoya a HackTricks

Escalación de Privilegios en Buckets

Si la política del bucket permite que “allUsers” o “allAuthenticatedUsers” escriban en su política de bucket (el permiso storage.buckets.setIamPolicy), entonces cualquiera puede modificar la política del bucket y otorgarse acceso total.

Verificar Permisos

Hay 2 formas de verificar los permisos sobre un bucket. La primera es solicitarlos haciendo una petición a https://www.googleapis.com/storage/v1/b/BUCKET_NAME/iam o ejecutando gsutil iam get gs://BUCKET_NAME.

Sin embargo, si tu usuario (potencialmente perteneciente a “allUsers” o “allAuthenticatedUsers”) no tiene permisos para leer la política iam del bucket (storage.buckets.getIamPolicy), eso no funcionará.

La otra opción que siempre funcionará es usar el endpoint testPermissions del bucket para averiguar si tienes el permiso especificado, por ejemplo accediendo 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

Escalando

Para otorgar Storage Admin a allAuthenticatedUsers es posible ejecutar:

gsutil iam ch allAuthenticatedUsers:admin gs://BUCKET_NAME

Otro ataque sería eliminar el bucket y recrearlo en tu cuenta para robar la propiedad.

Referencias

Tip

Aprende y practica AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Aprende y practica GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Aprende y practica Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Apoya a HackTricks