AWS - CodeBuild Post Exploitation
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 지원하기
- 구독 계획 확인하기!
- **💬 Discord 그룹 또는 텔레그램 그룹에 참여하거나 Twitter 🐦 @hacktricks_live를 팔로우하세요.
- HackTricks 및 HackTricks Cloud 깃허브 리포지토리에 PR을 제출하여 해킹 트릭을 공유하세요.
CodeBuild
For more information, check:
Check Secrets
만약 개인 토큰, 비밀번호 또는 OAuth token 형태로 Codebuild에 Github, Gitlab 또는 Bitbucket 연결을 위한 자격 증명이 설정되어 있다면, 이러한 자격 증명은 secret manager에 secrets로 저장됩니다.
따라서, secret manager를 읽을 수 있는 권한이 있다면 이 secrets들을 획득해 연결된 플랫폼으로 피봇할 수 있습니다.
Abuse CodeBuild Repo Access
CodeBuild를 구성하려면 사용할 코드 repo에 대한 접근권이 필요합니다. 여러 플랫폼이 이 코드를 호스팅할 수 있습니다:
.png)
The CodeBuild project must have access to the configured source provider, either via IAM role of with a github/bitbucket token or OAuth access.
CodeBuild에 대한 상위 권한(elevated permissions)을 가진 공격자는 이 설정된 접근권을 악용하여 구성된 repo의 코드와 설정된 자격증명이 접근 가능한 다른 repo들의 코드를 leak할 수 있습니다.
이를 위해 공격자는 단순히 구성된 자격증명이 접근 가능한 각 리포지토리의 repository URL을 변경하면 됩니다(참고로 aws web이 모든 리포지토리를 나열해줍니다):
.png)
그리고 각 리포지토리를 exfiltrate하기 위해 Buildspec 명령을 변경하면 됩니다.
Warning
다만, 이 작업은 반복적이고 지루하며, 만약 github token에 write permissions가 설정되어 있었다 해도 공격자는 토큰에 대한 접근 권한이 없으므로 그 권한을 (오)남용할 수 없습니다.
혹시 그럴 수 있을까요? 다음 섹션을 확인하세요
Leaking Access Tokens from AWS CodeBuild
CodeBuild에 부여된 접근권을 Github와 같은 플랫폼으로 leak할 수 있습니다. 외부 플랫폼에 대한 접근이 부여되었는지 다음으로 확인하세요:
aws codebuild list-source-credentials
webhook 필터 잘못된 구성으로 인한 신뢰되지 않은 PR 실행
webhook 필터가 약하면 외부 공격자는 자신의 PRs를 권한이 높은 CodeBuild 프로젝트에서 빌드되게 한 뒤 CI에서 임의의 코드를 실행할 수 있습니다.
AWS CodeBuild - Untrusted PR Webhook Bypass (CodeBreach-style)
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>
Potential Impact: 비용 할당, 리소스 추적, 태그 기반 액세스 제어 정책의 중단.
codebuild:DeleteSourceCredentials
공격자는 Git 리포지토리의 소스 자격 증명을 삭제하여 해당 리포지토리에 의존하는 애플리케이션의 정상적인 동작에 영향을 줄 수 있습니다.
aws codebuild delete-source-credentials --arn <value>
잠재적 영향: 소스 자격 증명 제거로 인해 영향을 받는 리포지토리에 의존하는 애플리케이션의 정상 동작이 중단될 수 있습니다.
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 지원하기
- 구독 계획 확인하기!
- **💬 Discord 그룹 또는 텔레그램 그룹에 참여하거나 Twitter 🐦 @hacktricks_live를 팔로우하세요.
- HackTricks 및 HackTricks Cloud 깃허브 리포지토리에 PR을 제출하여 해킹 트릭을 공유하세요.
HackTricks Cloud

