AWS - Codebuild 枚举

Tip

学习并练习 AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
学习并练习 GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
学习并练习 Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

支持 HackTricks

CodeBuild

AWS CodeBuild 被视为一个 完全托管的持续集成服务。该服务的主要目的是自动化编译源代码、执行测试并打包软件以便部署的流程。CodeBuild 的主要好处在于它免除了用户为构建服务器进行配置、管理和扩展的需求,因为这些由服务本身负责管理。AWS CodeBuild 的主要特性包括:

  1. Managed Service:CodeBuild 管理并扩展构建服务器,免除用户的服务器维护工作。
  2. Continuous Integration:它与开发和部署工作流集成,自动化软件发布过程中的构建和测试阶段。
  3. Package Production:在构建和测试阶段之后,它准备好软件包以供部署。

AWS CodeBuild 无缝集成其他 AWS 服务,提高 CI/CD (Continuous Integration/Continuous Deployment) 管道的效率和可靠性。

Github/Gitlab/Bitbucket 凭据

Default source credentials

这是一个遗留选项,可以配置一些访问(例如 Github token 或 app),这些访问会在 codebuild 项目之间共享,因此所有项目都可以使用这组已配置的凭据。

存储的凭据(tokens、passwords…)是 由 codebuild 管理的,并且没有公开的方法可以通过 AWS APIs 检索它们。

自定义源凭据

根据仓库平台(Github、Gitlab 和 Bitbucket)提供不同的选项。但总体来说,任何需要存储 token 或 password 的选项都会将其作为 secret 存储在 secrets manager 中。

这允许 不同的 codebuild 项目使用不同的配置访问 提供商,而不是仅使用配置的默认访问。

枚举

# List external repo creds (such as github tokens)
## It doesn't return the token but just the ARN where it's located
aws codebuild list-source-credentials

# Projects
aws codebuild list-shared-projects
aws codebuild list-projects
aws codebuild batch-get-projects --names <project_name> # Check for creds in env vars

# Builds
aws codebuild list-builds
aws codebuild list-builds-for-project --project-name <p_name>
aws codebuild list-build-batches
aws codebuild list-build-batches-for-project --project-name <p_name>

# Reports
aws codebuild list-reports
aws codebuild describe-test-cases --report-arn <ARN>

Tip

如果你拥有 codebuild:StartBuild,请记住通常可以在构建时覆盖环境变量(--environment-variables-override)。即使没有 UpdateProjectbuildspec 覆盖,这也足以用于某些攻击(例如:将 artifact/upload buckets 重定向以 exfiltrate secrets,或滥用 language/runtime env vars 来执行命令)。

Privesc

In the following page, you can check how to abuse codebuild permissions to escalate privileges:

AWS - Codebuild Privesc

Post Exploitation

AWS - CodeBuild Post Exploitation

Unauthenticated Access

AWS - CodeBuild Unauthenticated Access

参考

Tip

学习并练习 AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
学习并练习 GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
学习并练习 Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

支持 HackTricks