AWS - CodeBuild 인증되지 않은 접근

Reading time: 3 minutes

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

만약 write access를 가진 상태에서 **buildspec.yml**이라는 파일이 포함된 리포지토리를 장악하면, 이 파일을 backdoor할 수 있습니다. 이 파일은 CodeBuild 프로젝트 내부에서 실행될 commands that are going to be executed를 지정하며, secrets를 exfiltrate하고 수행되는 작업을 조작하며 또한 CodeBuild IAM role credentials을 compromise할 수 있습니다.

또한 buildspec.yml 파일이 없더라도 Codebuild가 사용 중인 것으로 알고 있다면(또는 다른 CI/CD), 실행될 legit한 코드를 modifying some legit code 하는 것도 예를 들어 reverse shell을 얻는 방법이 될 수 있습니다.

관련 정보는 이와 유사한 Github Actions 공격 방법 페이지를 확인하세요:

Abusing Github Actions

AWS CodeBuild에서의 Self-hosted GitHub Actions runners

indicated in the docs에 따르면, 구성된 Github repo 내부에서 workflow가 트리거될 때 CodeBuildself-hosted Github actions를 실행하도록 설정할 수 있습니다. 이는 CodeBuild 프로젝트 구성을 확인하여 감지할 수 있는데, **Event type**에 **WORKFLOW_JOB_QUEUED**가 포함되어야 하고, Github Workflow에서는 다음과 같이 self-hosted runner를 선택하기 때문입니다:

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

Github Actions와 AWS 간의 이러한 새로운 관계는, Github의 코드가 IAM role이 연결된 CodeBuild 프로젝트에서 실행되기 때문에 Github에서 AWS를 침해할 수 있는 또 다른 방법을 만듭니다.

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 지원하기