AWS - Codepipeline Privesc
Last updated
Last updated
AWS 해킹 배우기 및 연습하기:HackTricks Training AWS Red Team Expert (ARTE) GCP 해킹 배우기 및 연습하기: HackTricks Training GCP Red Team Expert (GRTE)
codepipeline에 대한 더 많은 정보는 다음을 확인하세요:
AWS - DataPipeline, CodePipeline & CodeCommit Enumiam: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:<여러>
빌드 프로젝트 생성 중에 실행할 명령(rev shell?)을 지정하고 빌드 단계를 특권 사용자로 실행하도록 설정할 수 있습니다. 이는 공격자가 탈취하는 데 필요한 구성입니다:
codebuild:UpdateProject, codepipeline:UpdatePipeline, codepipeline:StartPipelineExecution
이전 권한으로 코드파이프라인에서 사용되는 역할과 실행되는 명령을 수정할 수 있을 가능성이 있습니다.
codepipeline:pollforjobs
이 API가 호출되면, CodePipeline은 파이프라인의 아티팩트를 저장하는 S3 버킷에 대한 임시 자격 증명을 반환합니다. 이 작업이 입력 또는 출력 아티팩트에 대해 해당 S3 버킷에 대한 접근을 요구하는 경우입니다. 이 API는 또한 작업에 대해 정의된 모든 비밀 값을 반환합니다.
AWS 해킹 배우기 및 연습하기:HackTricks Training AWS Red Team Expert (ARTE) GCP 해킹 배우기 및 연습하기: HackTricks Training GCP Red Team Expert (GRTE)