AWS - CodeBuild 未经身份验证的访问

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

buildspec.yml

如果你获得对包含名为 buildspec.yml 的仓库的写入权限,你可以对该文件进行backdoor,该文件指定了在 CodeBuild 项目中将要被执行的命令,可以用来 exfiltrate secrets、破坏执行流程,并且还可能危及 CodeBuild IAM role credentials

注意,即使不存在 buildspec.yml 文件,但你知道 CodeBuild 被使用(或使用了其他 CI/CD),对将要被执行的某些legit code 进行修改也可能例如让你获得一个 reverse shell。

有关相关信息,你可以查看关于如何攻击 Github Actions(与此类似)的页面:

Abusing Github Actions

Self-hosted GitHub Actions runners in AWS CodeBuild

正如文档中所示,可以配置 CodeBuild 在配置好的 Github 仓库触发 workflow 时运行 self-hosted Github actions。可以通过检查 CodeBuild 项目配置来检测这一点,因为 Event type 需要包含:WORKFLOW_JOB_QUEUED,并且在 Github Workflow 中它会选择一个 self-hosted runner,如下所示:

runs-on: codebuild-<project-name>-${{ github.run_id }}-${{ github.run_attempt }}

Github Actions 与 AWS 之间这种新型关联为通过 Github 攻陷 AWS 提供了另一种途径,因为 Github 上的代码将作为附带 IAM 角色的 CodeBuild 项目运行。

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