GCP - Cloud Build Unauthenticated Enum
Last updated
Last updated
学习和实践 AWS 黑客技术:HackTricks 培训 AWS 红队专家 (ARTE) 学习和实践 GCP 黑客技术:HackTricks 培训 GCP 红队专家 (GRTE)
有关 Cloud Build 的更多信息,请查看:
如果您获得了对包含名为 cloudbuild.yml
文件的存储库的写入访问权限,您可以 后门 此文件,该文件指定将在 Cloud Build 中执行的 命令,并提取机密,妨碍所做的工作,还可能妨碍 Cloud Build 服务帐户。
请注意,GCP 允许管理员通过“评论控制”来控制来自外部 PR 的构建系统执行。评论控制是一项功能,协作者/项目所有者 需要评论“/gcbrun”以触发构建,并使用此功能本质上防止任何互联网用户触发您的构建系统。
有关一些相关信息,您可以查看关于如何攻击 Github Actions 的页面(与此类似):
当触发器是 PR 时,因为 任何人都可以对公共存储库进行 PR,所以仅仅 允许任何 PR 执行触发器 是非常危险的。因此,默认情况下,执行将仅对 所有者和协作者 自动进行,若要使用其他用户的 PR 执行触发器,所有者或协作者必须评论 /gcbrun
。
因此,如果此设置为 不需要
,攻击者可以对将触发执行的 分支 执行 PR,将恶意代码执行添加到 cloudbuild.yml
文件中,从而妨碍 cloudbuild 执行(请注意,cloudbuild 将从 PR 下载代码,因此它将执行恶意的 cloudbuild.yml
)。
此外,当您发送 PR 时,很容易看到是否需要执行某些 cloudbuild,因为它会出现在 Github 中:
因此,即使 cloudbuild 未执行,攻击者也将能够看到属于公司的 GCP 项目名称。
学习和实践 AWS 黑客技术:HackTricks 培训 AWS 红队专家 (ARTE) 学习和实践 GCP 黑客技术:HackTricks 培训 GCP 红队专家 (GRTE)