GCP - Cloudbuild Privesc
Impara e pratica AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica GCP Hacking:
HackTricks Training GCP Red Team Expert (GRTE)
cloudbuild
Per maggiori informazioni su Cloud Build controlla:
GCP - Cloud Build Enumcloudbuild.builds.create
cloudbuild.builds.create
Con questo permesso puoi inviare una cloud build. La macchina cloudbuild avrà nel suo filesystem di default un token del cloudbuild Service Account: <PROJECT_NUMBER>@cloudbuild.gserviceaccount.com
. Tuttavia, puoi indicare qualsiasi service account all'interno del progetto nella configurazione cloudbuild.
Pertanto, puoi semplicemente far esfiltrare alla macchina il token al tuo server o ottenere una reverse shell al suo interno e prendere il token (il file contenente il token potrebbe cambiare).
Puoi trovare lo script exploit originale qui su GitHub (ma la posizione da cui prende il token non ha funzionato per me). Pertanto, controlla uno script per automatizzare la creazione, exploit e pulizia di un ambiente vulnerabile qui e uno script python per ottenere una reverse shell all'interno della macchina cloudbuild e rubarlo qui (nel codice puoi trovare come specificare altri service account).
Per una spiegazione più approfondita, visita https://rhinosecuritylabs.com/gcp/iam-privilege-escalation-gcp-cloudbuild/
cloudbuild.builds.update
cloudbuild.builds.update
Potenzialmente con questo permesso sarai in grado di aggiornare una cloud build e semplicemente rubare il token del service account come è stato fatto con il permesso precedente (ma sfortunatamente al momento della scrittura non sono riuscito a trovare alcun modo per chiamare quell'API).
TODO
cloudbuild.repositories.accessReadToken
cloudbuild.repositories.accessReadToken
Con questo permesso l'utente può ottenere il token di accesso in lettura utilizzato per accedere al repository:
cloudbuild.repositories.accessReadWriteToken
cloudbuild.repositories.accessReadWriteToken
Con questo permesso l'utente può ottenere il token di accesso in lettura e scrittura utilizzato per accedere al repository:
cloudbuild.connections.fetchLinkableRepositories
cloudbuild.connections.fetchLinkableRepositories
Con questo permesso puoi ottenere i repository a cui la connessione ha accesso:
Impara e pratica AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica GCP Hacking:
HackTricks Training GCP Red Team Expert (GRTE)
Last updated