AWS - Codepipeline Privesc
Reading time: 2 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 지원하기
- 구독 계획 확인하기!
- **💬 Discord 그룹 또는 텔레그램 그룹에 참여하거나 Twitter 🐦 @hacktricks_live를 팔로우하세요.
- HackTricks 및 HackTricks Cloud 깃허브 리포지토리에 PR을 제출하여 해킹 트릭을 공유하세요.
codepipeline
codepipeline에 대한 자세한 정보는 다음을 확인하세요:
AWS - DataPipeline, CodePipeline & CodeCommit Enum
iam:PassRole
, codepipeline:CreatePipeline
, codebuild:CreateProject, codepipeline:StartPipelineExecution
코드 파이프라인을 생성할 때 실행할 codepipeline IAM 역할을 지정할 수 있으므로, 이를 통해 권한을 탈취할 수 있습니다.
이전 권한 외에도 코드가 저장된 위치에 대한 접근 권한이 필요합니다 (S3, ECR, github, bitbucket...)
웹 페이지에서 이 과정을 테스트했으며, 이전에 언급된 권한은 코드 파이프라인을 생성하는 데 필요한 List/Get 권한이 아니지만, 웹에서 생성하려면 다음도 필요합니다: codebuild:ListCuratedEnvironmentImages, codebuild:ListProjects, codebuild:ListRepositories, codecommit:ListRepositories, events:PutTargets, codepipeline:ListPipelines, events:PutRule, codepipeline:ListActionTypes, cloudtrail:<several>
빌드 프로젝트를 생성하는 동안 실행할 명령(rev shell?)을 지정하고 빌드 단계를 특권 사용자로 실행하도록 설정할 수 있습니다. 이는 공격자가 권한을 탈취하는 데 필요한 구성입니다:
?codebuild:UpdateProject, codepipeline:UpdatePipeline, codepipeline:StartPipelineExecution
이전 권한으로 코드 파이프라인에서 사용되는 역할과 실행된 명령을 수정할 수 있을지도 모릅니다.
codepipeline:pollforjobs
이 API가 호출되면, CodePipeline은 파이프라인의 아티팩트를 저장하는 S3 버킷에 대한 임시 자격 증명을 반환합니다. 이 작업이 입력 또는 출력 아티팩트에 대한 S3 버킷 접근을 요구하는 경우입니다. 이 API는 또한 작업에 대해 정의된 모든 비밀 값을 반환합니다.
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을 제출하여 해킹 트릭을 공유하세요.