AWS - CodeBuild Post Exploitation

支持 HackTricks

CodeBuild

欲了解更多信息,请查看:

AWS - Codebuild Enum

滥用 CodeBuild 仓库访问权限

为了配置 CodeBuild,它需要 访问将要使用的代码仓库。这些代码可能托管在多个平台上:

CodeBuild 项目必须访问 配置的源提供者,可以通过 IAM 角色 或使用 github/bitbucket token 或 OAuth 访问

拥有 CodeBuild 高权限 的攻击者可以滥用这种配置的访问权限,泄露配置仓库的代码以及其他凭证可访问的仓库。 为了做到这一点,攻击者只需 将仓库 URL 更改为配置凭证有访问权限的每个仓库(请注意,aws 网页会为你列出所有这些仓库):

更改 Buildspec 命令以外传每个仓库

然而,这个 任务是重复且乏味的,如果配置了具有 写权限 的 github token,攻击者 将无法滥用这些权限,因为他无法访问 token。 或者他能吗?请查看下一节

从 AWS CodeBuild 泄露访问令牌

你可以泄露 CodeBuild 中授予的平台访问权限,如 Github。检查是否授予了对外部平台的任何访问权限:

aws codebuild list-source-credentials
AWS Codebuild - Token Leakage

codebuild:DeleteProject

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

aws codebuild delete-project --name <value>

潜在影响: 项目配置丢失和使用已删除项目的应用程序的服务中断。

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>

潜在影响: 由于删除了源凭证,依赖受影响存储库的应用程序的正常功能中断。

支持 HackTricks

Last updated