GCP - Apikeys Privesc

Support HackTricks

Apikeys

I seguenti permessi sono utili per creare e rubare chiavi API, non questo dalla documentazione: Una chiave API è una semplice stringa crittografata che identifica un'applicazione senza alcun principale. Sono utili per accedere a dati pubblici in modo anonimo, e vengono utilizzate per associare le richieste API con il tuo progetto per quota e fatturazione.

Pertanto, con una chiave API puoi far pagare quella azienda per il tuo utilizzo dell'API, ma non sarai in grado di elevare i privilegi.

Per ulteriori informazioni sulle chiavi API controlla:

GCP - API Keys Enum

Per altri modi per creare chiavi API controlla:

GCP - Serviceusage Privesc

Brute Force API Key access

Poiché potresti non sapere quali API sono abilitate nel progetto o le restrizioni applicate alla chiave API che hai trovato, sarebbe interessante eseguire lo strumento https://github.com/ozguralp/gmapsapiscanner e controllare cosa puoi accedere con la chiave API.

apikeys.keys.create

Questo permesso consente di creare una chiave 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"
}

Puoi trovare uno script per automatizzare la creazione, sfruttamento e pulizia di un ambiente vulnerabile qui.

Nota che per impostazione predefinita gli utenti hanno permessi per creare nuovi progetti e viene loro assegnato il ruolo di Proprietario sul nuovo progetto. Quindi un utente potrebbe creare un progetto e una chiave API all'interno di questo progetto.

apikeys.keys.getKeyString , apikeys.keys.list

Questi permessi consentono di elencare e ottenere tutte le apiKeys e ottenere la Chiave:

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

Puoi trovare uno script per automatizzare la creazione, sfruttamento e pulizia di un ambiente vulnerabile qui.

apikeys.keys.undelete , apikeys.keys.list

Queste autorizzazioni ti consentono di elencare e rigenerare le chiavi API eliminate. La chiave API viene fornita nell'output dopo che l'undelete è stato completato:

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

Crea un'applicazione OAuth interna per phishing di altri lavoratori

Controlla la seguente pagina per imparare come fare, anche se questa azione appartiene al servizio clientauthconfig secondo la documentazione:

GWS - Google Platforms Phishing
Supporta HackTricks

Last updated