AWS - CodeBuild Post Exploitation
CodeBuild
欲了解更多信息,请查看:
AWS - Codebuild Enum滥用 CodeBuild 仓库访问权限
为了配置 CodeBuild,它需要 访问将要使用的代码仓库。这些代码可能托管在多个平台上:
CodeBuild 项目必须访问 配置的源提供者,可以通过 IAM 角色 或使用 github/bitbucket token 或 OAuth 访问。
拥有 CodeBuild 高权限 的攻击者可以滥用这种配置的访问权限,泄露配置仓库的代码以及其他凭证可访问的仓库。 为了做到这一点,攻击者只需 将仓库 URL 更改为配置凭证有访问权限的每个仓库(请注意,aws 网页会为你列出所有这些仓库):
并 更改 Buildspec 命令以外传每个仓库。
然而,这个 任务是重复且乏味的,如果配置了具有 写权限 的 github token,攻击者 将无法滥用这些权限,因为他无法访问 token。 或者他能吗?请查看下一节
从 AWS CodeBuild 泄露访问令牌
你可以泄露 CodeBuild 中授予的平台访问权限,如 Github。检查是否授予了对外部平台的任何访问权限:
codebuild:DeleteProject
codebuild:DeleteProject
攻击者可以删除整个CodeBuild项目,导致项目配置丢失,并影响依赖该项目的应用程序。
潜在影响: 项目配置丢失和使用已删除项目的应用程序的服务中断。
codebuild:TagResource
, codebuild:UntagResource
codebuild:TagResource
, codebuild:UntagResource
攻击者可以添加、修改或删除 CodeBuild 资源的标签,破坏您组织基于标签的成本分配、资源跟踪和访问控制策略。
潜在影响: 成本分配、资源跟踪和基于标签的访问控制策略的中断。
codebuild:DeleteSourceCredentials
codebuild:DeleteSourceCredentials
攻击者可以删除 Git 仓库的源凭证,影响依赖该仓库的应用程序的正常运行。
潜在影响: 由于删除了源凭证,依赖受影响存储库的应用程序的正常功能中断。
Last updated