GCP - Cloud Build Unauthenticated Enum

Sostieni HackTricks

Cloud Build

Per ulteriori informazioni su Cloud Build, controlla:

GCP - Cloud Build Enum

cloudbuild.yml

Se comprometti l'accesso in scrittura su un repository contenente un file chiamato cloudbuild.yml, potresti inserire un backdoor in questo file, che specifica i comandi che verranno eseguiti all'interno di un Cloud Build ed estrarre le informazioni segrete, compromettere ciò che viene fatto e compromettere anche l'account del servizio Cloud Build.

Nota che GCP ha l'opzione di consentire agli amministratori di controllare l'esecuzione dei sistemi di build da PR esterne tramite "Comment Control". Comment Control è una funzionalità in cui collaboratori/proprietari del progetto devono commentare "/gcbrun" per avviare la build contro la PR e utilizzando questa funzionalità impedisce implicitamente a chiunque su Internet di avviare i tuoi sistemi di build.

Per ulteriori informazioni correlate, puoi controllare la pagina su come attaccare le Azioni di Github (simile a questa):

Abusing Github Actions

Approvazioni PR

Quando il trigger è una PR perché chiunque può effettuare PR su repository pubblici sarebbe molto pericoloso permettere l'esecuzione del trigger con qualsiasi PR. Pertanto, per impostazione predefinita, l'esecuzione sarà automatica solo per i proprietari e i collaboratori, e per eseguire il trigger con le PR di altri utenti un proprietario o collaboratore deve commentare /gcbrun.

Pertanto, se questo è impostato su Non richiesto, un attaccante potrebbe effettuare una PR al branch che attiverà l'esecuzione aggiungendo l'esecuzione del codice dannoso al file cloudbuild.yml e compromettere l'esecuzione di cloudbuild (nota che cloudbuild scaricherà il codice DALLA PR, quindi eseguirà il malintenzionato cloudbuild.yml).

Inoltre, è facile vedere se deve essere eseguita un'esecuzione di cloudbuild quando invii una PR perché appare su Github:

Quindi, anche se cloudbuild non viene eseguito, l'attaccante sarà in grado di vedere il nome del progetto di un progetto GCP che appartiene all'azienda.

Sostieni HackTricks

Last updated