GCP - Cloud Build Unauthenticated Enum
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Cloud Build에 대한 자세한 정보는 다음을 확인하세요:
**cloudbuild.yml
**이라는 파일이 포함된 리포지토리에 대한 쓰기 권한을 확보하면, 이 파일을 백도어할 수 있습니다. 이 파일은 Cloud Build 내에서 실행될 명령어를 지정하며, 비밀 정보를 유출하고, 수행되는 작업을 손상시키고, Cloud Build 서비스 계정을 손상시킬 수 있습니다.
GCP는 관리자가 외부 PR로부터 빌드 시스템의 실행을 제어할 수 있는 옵션인 "Comment Control"을 허용합니다. Comment Control은 협력자/프로젝트 소유자가 빌드를 트리거하기 위해 “/gcbrun”이라고 댓글을 달아야 하는 기능입니다. 이 기능은 본질적으로 인터넷의 누구도 귀하의 빌드 시스템을 트리거할 수 없도록 방지합니다.
관련 정보는 Github Actions 공격 방법에 대한 페이지를 확인할 수 있습니다(이와 유사함):
트리거가 PR일 때 누구나 공개 리포지토리에 PR을 수행할 수 있기 때문에 모든 PR로 트리거 실행을 허용하는 것은 매우 위험합니다. 따라서 기본적으로 실행은 소유자와 협력자에게만 자동으로 이루어지며, 다른 사용자의 PR로 트리거를 실행하려면 소유자나 협력자가 /gcbrun
이라고 댓글을 달아야 합니다.
따라서, 이것이 **Not required
**로 설정되면, 공격자는 브랜치에 PR을 수행하여 실행을 트리거하고 cloudbuild.yml
파일에 악성 코드 실행을 추가하여 cloudbuild 실행을 손상시킬 수 있습니다(참고로 cloudbuild는 PR에서 코드를 다운로드하므로 악성 **cloudbuild.yml
**을 실행합니다).
또한, PR을 보낼 때 어떤 cloudbuild 실행이 수행되어야 하는지 쉽게 확인할 수 있습니다. 이는 Github에 나타납니다:
따라서, cloudbuild가 실행되지 않더라도 공격자는 회사에 속한 GCP 프로젝트의 프로젝트 이름을 볼 수 있습니다.
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)