AWS - CodeBuild Post Exploitation

支持 HackTricks

CodeBuild

有关更多信息,请查看:

AWS - Codebuild Enum

滥用 CodeBuild 仓库访问

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

CodeBuild 项目必须具有 对配置的源提供程序的访问权限,可以通过 IAM 角色 或使用 GitHub/Bitbucket 令牌或 OAuth 访问

具有 CodeBuild 中提升权限的攻击者 可以滥用此配置的访问权限,泄露配置仓库的代码以及凭据所能访问的其他仓库。 为了做到这一点,攻击者只需 将仓库 URL 更改为配置凭据可以访问的每个仓库(请注意,AWS 网站会为您列出所有仓库):

更改 Buildspec 命令以提取每个仓库

然而,这 项任务是重复且乏味的,如果配置了具有 写权限的 GitHub 令牌,攻击者 将无法(滥)用这些权限,因为他没有访问令牌的权限。 或者他有吗?查看下一部分

从 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