GCP - Cloudbuild Privesc
Last updated
Last updated
学习和实践 AWS 黑客技术:HackTricks 培训 AWS 红队专家 (ARTE) 学习和实践 GCP 黑客技术:HackTricks 培训 GCP 红队专家 (GRTE)
有关 Cloud Build 的更多信息,请查看:
cloudbuild.builds.create
拥有此权限后,您可以 提交云构建。cloudbuild 机器的文件系统中 默认会有一个 cloudbuild 服务账户的令牌:<PROJECT_NUMBER>@cloudbuild.gserviceaccount.com
。但是,您可以在 cloudbuild 配置中 指示项目内的任何服务账户。
因此,您可以让机器将令牌外泄到您的服务器,或 在其中获取反向 shell 并获取令牌(包含令牌的文件可能会更改)。
您可以在 GitHub 上找到原始利用脚本(但我发现它获取令牌的位置对我无效)。因此,请查看一个脚本以自动化 创建、利用和清理漏洞环境 和一个 Python 脚本以在 cloudbuild 机器中获取反向 shell 并 窃取它(在代码中您可以找到如何指定其他服务账户的方式)。
有关更深入的解释,请访问 https://rhinosecuritylabs.com/gcp/iam-privilege-escalation-gcp-cloudbuild/
cloudbuild.builds.update
潜在地,拥有此权限后,您将能够 更新云构建并窃取服务账户令牌,就像使用之前的权限执行的那样(但不幸的是,在撰写本文时,我找不到任何调用该 API 的方法)。
TODO
cloudbuild.repositories.accessReadToken
拥有此权限的用户可以获取用于访问存储库的 读取访问令牌:
cloudbuild.repositories.accessReadWriteToken
拥有此权限的用户可以获取用于访问存储库的读写访问令牌:
cloudbuild.connections.fetchLinkableRepositories
通过此权限,您可以获取连接可以访问的仓库:
学习与实践 AWS 黑客技术:HackTricks 培训 AWS 红队专家 (ARTE) 学习与实践 GCP 黑客技术:HackTricks 培训 GCP 红队专家 (GRTE)