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