GCP - Apikeys Privesc

Sostieni HackTricks

Apikeys

Le seguenti autorizzazioni sono utili per creare e rubare chiavi API, nonché da documenti: Una chiave API è una semplice stringa crittografata che identifica un'applicazione senza alcun principale. Sono utili per accedere ai dati pubblici in modo anonimo, e vengono utilizzati per associare le richieste API al tuo progetto per la quota e la fatturazione.

Pertanto, con una chiave API puoi far pagare a quella società l'uso dell'API, ma non sarai in grado di ottenere privilegi elevati.

Per ulteriori informazioni sulle chiavi API controlla:

GCP - API Keys Enum

Per altre modalità di creazione delle chiavi API controlla:

GCP - Serviceusage Privesc

Forza Bruta per l'accesso alle chiavi API

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

apikeys.keys.create

Questa autorizzazione 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 di default gli utenti hanno autorizzazioni per creare nuovi progetti e ottenere 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

Queste autorizzazioni permettono di elencare e ottenere tutte le chiavi API 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

Questi permessi ti consentono di elencare e rigenerare le chiavi API eliminate. La chiave API viene fornita in output dopo che è stata fatta l'undelete:

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

Creare un'applicazione OAuth interna per pescare altri lavoratori

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

GWS - Google Platforms Phishing
Sostieni HackTricks

Last updated