GCP - Public Buckets Privilege Escalation

Dowiedz się, jak hakować AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)!

Inne sposoby wsparcia HackTricks:

Eskalacja uprawnień kubełków

Jeśli polityka kubełka zezwala na zapisywanie do swojej polityki kubełka przez "allUsers" lub "allAuthenticatedUsers" (uprawnienie storage.buckets.setIamPolicy), każdy może zmodyfikować politykę kubełka i przyznać sobie pełny dostęp.

Sprawdź uprawnienia

Istnieją 2 sposoby sprawdzenia uprawnień dla kubełka. Pierwszy polega na ich zapytaniu, wysyłając żądanie do https://www.googleapis.com/storage/v1/b/BUCKET_NAME/iam lub uruchamiając gsutil iam get gs://BUCKET_NAME.

Jednak jeśli twoje konto użytkownika (potencjalnie należące do allUsers lub allAuthenticatedUsers") nie ma uprawnień do odczytu polityki iam kubełka (storage.buckets.getIamPolicy), to nie zadziała.

Inną opcją, która zawsze zadziała, jest użycie punktu końcowego testPermissions kubełka, aby sprawdzić, czy masz określone uprawnienie, na przykład dostęp do: 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

Eskalacja

Aby przyznać Storage Admin dla allAuthenticatedUsers, można uruchomić:

gsutil iam ch group:allAuthenticatedUsers:admin gs://BUCKET_NAME

Innym atakiem byłoby usunięcie kubełka i ponowne utworzenie go w Twoim koncie, aby przejąć jego własność.

Referencje

Naucz się hakować AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)!

Inne sposoby wsparcia HackTricks:

Last updated