# GCP - Publieke Emmers Privilege Escalation

{{#include ../../../../banners/hacktricks-training.md}}

## Emmers Privilege Escalation

As die emmerbeleid "allUsers" of "allAuthenticatedUsers" toegelaat het om **na hulle emmerbeleid te skryf** (die **storage.buckets.setIamPolicy** toestemming)**,** dan kan enigeen die emmerbeleid verander en homself volle toegang gee.

### Kontroleer Toestemmings

Daar is 2 maniere om die toestemmings oor 'n emmer te kontroleer. Die eerste een is om daarna te vra deur 'n versoek te maak na `https://www.googleapis.com/storage/v1/b/BUCKET_NAME/iam` of deur `gsutil iam get gs://BUCKET_NAME` te loop.

As jou gebruiker (potensieel behoort tot "allUsers" of "allAuthenticatedUsers") egter nie toestemming het om die iam beleid van die emmer te lees (storage.buckets.getIamPolicy) nie, sal dit nie werk nie.

Die ander opsie wat altyd sal werk, is om die testPermissions eindpunt van die emmer te gebruik om uit te vind of jy die gespesifiseerde toestemming het, byvoorbeeld toegang tot: `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`

### Escalating

Om `Storage Admin` aan `allAuthenticatedUsers` toe te ken, is dit moontlik om te loop:
```bash
gsutil iam ch allAuthenticatedUsers:admin gs://BUCKET_NAME
```
'n Ander aanval sou wees om **die emmer te verwyder en dit in jou rekening te hercreëer om die eienaarskap te steel**.

## Verwysings

- [https://rhinosecuritylabs.com/gcp/google-cloud-platform-gcp-bucket-enumeration/](https://rhinosecuritylabs.com/gcp/google-cloud-platform-gcp-bucket-enumeration/)

{{#include ../../../../banners/hacktricks-training.md}}
