GCP - Cloudbuild Privesc
cloudbuild
有关 Cloud Build 的更多信息,请查看:
GCP - Cloud Build Enumcloudbuild.builds.create
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
cloudbuild.builds.update
潜在地,通过此权限,您将能够更新云构建并窃取服务账户令牌,就像之前的权限所执行的那样(但不幸的是,在撰写本文时,我找不到任何调用该 API 的方法)。
TODO
cloudbuild.repositories.accessReadToken
cloudbuild.repositories.accessReadToken
通过此权限,用户可以获取用于访问存储库的读取访问令牌:
cloudbuild.repositories.accessReadWriteToken
cloudbuild.repositories.accessReadWriteToken
拥有此权限的用户可以获取用于访问存储库的读写访问令牌:
cloudbuild.connections.fetchLinkableRepositories
cloudbuild.connections.fetchLinkableRepositories
通过此权限,您可以获取连接可以访问的仓库:
Last updated