GCP - Cloud Build Unauthenticated Enum

Support HackTricks

Cloud Build

Para más información sobre Cloud Build, consulta:

GCP - Cloud Build Enum

cloudbuild.yml

Si comprometes el acceso de escritura sobre un repositorio que contiene un archivo llamado cloudbuild.yml, podrías backdoor este archivo, que especifica los comandos que se van a ejecutar dentro de un Cloud Build y exfiltrar los secretos, comprometer lo que se hace y también comprometer la cuenta de servicio de Cloud Build.

Ten en cuenta que GCP tiene la opción de permitir a los administradores controlar la ejecución de sistemas de construcción desde PRs externos a través de "Control de Comentarios". El Control de Comentarios es una función donde los colaboradores/propietarios del proyecto necesitan comentar “/gcbrun” para activar la construcción contra el PR y usar esta función inherentemente previene que cualquier persona en internet active tus sistemas de construcción.

Para información relacionada, puedes consultar la página sobre cómo atacar Github Actions (similar a esto):

Abusing Github Actions

Aprobaciones de PR

Cuando el desencadenador es PR porque cualquiera puede realizar PRs a repositorios públicos, sería muy peligroso simplemente permitir la ejecución del desencadenador con cualquier PR. Por lo tanto, por defecto, la ejecución solo será automática para propietarios y colaboradores, y para ejecutar el desencadenador con PRs de otros usuarios, un propietario o colaborador debe comentar /gcbrun.

Por lo tanto, si esto está configurado como No requerido, un atacante podría realizar un PR a la rama que activará la ejecución añadiendo la ejecución de código malicioso al archivo cloudbuild.yml y comprometer la ejecución de cloudbuild (ten en cuenta que cloudbuild descargará el código DEL PR, por lo que ejecutará el malicioso cloudbuild.yml).

Además, es fácil ver si se necesita realizar alguna ejecución de cloudbuild cuando envías un PR porque aparece en Github:

Entonces, incluso si el cloudbuild no se ejecuta, el atacante podrá ver el nombre del proyecto de un proyecto GCP que pertenece a la empresa.

Support HackTricks

Last updated