# GCP - Eskalacija privilegija javnih kanti

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

## Eskalacija privilegija kanti

Ako je politika kante dozvolila bilo “allUsers” ili “allAuthenticatedUsers” da **pišu u svoju politiku kante** (dozvola **storage.buckets.setIamPolicy**), onda bilo ko može da izmeni politiku kante i dodeli sebi pun pristup.

### Provera dozvola

Postoje 2 načina da se provere dozvole nad kantom. Prvi je da se zatraže tako što se pošalje zahtev na `https://www.googleapis.com/storage/v1/b/BUCKET_NAME/iam` ili pokretanjem `gsutil iam get gs://BUCKET_NAME`.

Međutim, ako vaš korisnik (potencijalno pripadajući "allUsers" ili "allAuthenticatedUsers") nema dozvole da pročita iam politiku kante (storage.buckets.getIamPolicy), to neće funkcionisati.

Druga opcija koja će uvek funkcionisati je korišćenje testPermissions krajnje tačke kante da se utvrdi da li imate određenu dozvolu, na primer pristupajući: `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`

### Eskalacija

Da bi se dodelio `Storage Admin` `allAuthenticatedUsers`, moguće je pokrenuti:
```bash
gsutil iam ch allAuthenticatedUsers:admin gs://BUCKET_NAME
```
Još jedan napad bi bio da **uklonite kofu i ponovo je kreirate u svom nalogu kako biste ukrali vlasništvo**.

## References

- [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}}
