AWS - CodeBuild Post Exploitation

Tip

学习和实践 AWS 黑客技术:HackTricks Training AWS Red Team Expert (ARTE)
学习和实践 GCP 黑客技术:HackTricks Training GCP Red Team Expert (GRTE) 学习和实践 Azure 黑客技术:HackTricks Training Azure Red Team Expert (AzRTE)

支持 HackTricks

CodeBuild

更多信息,请查看:

AWS - Codebuild Enum

Check Secrets

如果在 CodeBuild 中为连接 Github、Gitlab 或 Bitbucket 设置了凭证(以 personal tokens、passwords 或 OAuth token access 的形式),这些 凭证将作为 secrets 存储在 secret manager 中
因此,如果你有权限读取 secret manager,你将能够获取这些 secrets 并 pivot 到相应的平台。

AWS - Secrets Manager Privesc

Abuse CodeBuild Repo Access

为了配置 CodeBuild,它需要对将要使用的 code repo 的访问权限。可能托管这些代码的有多个平台:

CodeBuild 项目必须有权限访问 已配置的 source provider,可以通过 IAM role,或者使用 github/bitbucket 的 token 或 OAuth access

拥有对某个 CodeBuild 提升后的权限 的攻击者可以滥用该已配置的访问来 leak 配置的 repo 的代码,以及其他被这些 creds 覆盖的仓库。
为此,攻击者只需 将 repository URL 改为配置凭证有访问权限的每个 repo(注意 aws web 会为你列出所有这些仓库):

修改 Buildspec 的命令以 exfiltrate 每个 repo

Warning

然而,这项 任务繁琐且重复,并且如果配置的 github token 具有 write permissions,攻击者 无法(滥用)那些权限,因为他无法访问该 token。
或者他能吗?查看下一节

Leaking Access Tokens from AWS CodeBuild

你可以 leak CodeBuild 中授予对 Github 等平台的访问。检查是否授予了对外部平台的访问:

aws codebuild list-source-credentials

AWS Codebuild - Token Leakage

通过 webhook 过滤器错误配置导致的不受信任 PR 执行

如果 webhook 的过滤器配置薄弱,外部攻击者可以让他们的 PR 在具有特权的 CodeBuild 项目中被构建,从而在 CI 中执行任意代码。

AWS CodeBuild - Untrusted PR Webhook Bypass (CodeBreach-style)

codebuild:DeleteProject

攻击者可能删除整个 CodeBuild 项目,导致项目配置丢失并影响依赖该项目的应用程序。

aws codebuild delete-project --name <value>

Potential Impact: 项目配置丢失以及使用已删除项目的应用出现服务中断。

codebuild:TagResource , codebuild:UntagResource

攻击者可能向 CodeBuild 资源添加、修改或删除标签,从而破坏组织的成本分配、资源跟踪以及基于标签的访问控制策略。

aws codebuild tag-resource --resource-arn <value> --tags <value>
aws codebuild untag-resource --resource-arn <value> --tag-keys <value>

潜在影响: 可能会中断成本分配、资源跟踪以及基于标签的访问控制策略。

codebuild:DeleteSourceCredentials

攻击者可能会删除 Git 仓库的源凭证,从而影响依赖该仓库的应用程序的正常运行。

aws codebuild delete-source-credentials --arn <value>

潜在影响:由于源凭证被移除,依赖受影响仓库的应用程序的正常运行可能会中断。

Tip

学习和实践 AWS 黑客技术:HackTricks Training AWS Red Team Expert (ARTE)
学习和实践 GCP 黑客技术:HackTricks Training GCP Red Team Expert (GRTE) 学习和实践 Azure 黑客技术:HackTricks Training Azure Red Team Expert (AzRTE)

支持 HackTricks