GCP - Cloud Build Unauthenticated Enum
Cloud Build
Para obtener más información sobre Cloud Build, consulta:
GCP - Cloud Build Enumcloudbuild.yml
Si comprometes el acceso de escritura sobre un repositorio que contiene un archivo llamado cloudbuild.yml
, podrías puerta trasera este archivo, que especifica los comandos que se van a ejecutar dentro de un Cloud Build y extraer 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 compilación desde PR externos a través de "Control de Comentarios". El Control de Comentarios es una característica donde los colaboradores/propietarios del proyecto deben comentar "/gcbrun" para desencadenar la compilación contra el PR y el uso de esta característica impide inherentemente que cualquiera en Internet active tus sistemas de compilación.
Para obtener información relacionada, puedes consultar la página sobre cómo atacar a Github Actions (similar a esto):
Abusing Github ActionsAprobaciones de PR
Cuando el desencadenante es un PR porque cualquiera puede realizar PR a repositorios públicos, sería muy peligroso permitir la ejecución del desencadenante con cualquier PR. Por lo tanto, de forma predeterminada, la ejecución solo será automática para propietarios y colaboradores, y para ejecutar el desencadenante con PR de otros usuarios, un propietario o colaborador debe comentar /gcbrun
.
Por lo tanto, si esto se establece como No requerido
, un atacante podría realizar un PR a la rama que desencadenará la ejecución agregando la ejecución de código malicioso al archivo cloudbuild.yml
y comprometer la ejecución de cloudbuild (nota que cloudbuild descargará el código DEL PR, por lo que ejecutará el cloudbuild.yml
malicioso).
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 de GCP que pertenece a la empresa.
Last updated