AWS - Datapipeline Privesc
datapipeline
datapipeline에 대한 자세한 정보는 다음을 참조하세요:
pageAWS - DataPipeline, CodePipeline & CodeCommit Enumiam:PassRole
, datapipeline:CreatePipeline
, datapipeline:PutPipelineDefinition
, datapipeline:ActivatePipeline
iam:PassRole
, datapipeline:CreatePipeline
, datapipeline:PutPipelineDefinition
, datapipeline:ActivatePipeline
이러한 권한을 가진 사용자는 데이터 파이프라인을 생성하여 할당된 역할의 권한을 사용하여 임의의 명령을 실행하여 권한을 상승시킬 수 있습니다:
파이프라인 생성 후, 공격자는 정의를 업데이트하여 특정 동작이나 리소스 생성을 지시합니다:
line 14, 15 및 27의 role은 datapipeline.amazonaws.com이 가정 가능한 역할이어야 하며, line 28의 역할은 EC2 프로필 인스턴스를 가진 ec2.amazonaws.com이 가정 가능한 역할이어야 함을 유의하십시오.
또한, EC2 인스턴스는 EC2 인스턴스가 가정 가능한 역할에만 액세스 할 수 있으므로 해당 역할만 도용할 수 있습니다.
```bash aws datapipeline put-pipeline-definition --pipeline-id \ --pipeline-definition file:///pipeline/definition.json ``` **공격자가 조작한 파이프라인 정의 파일에는 AWS API를 통해 명령을 실행하거나 리소스를 생성하는 지시문이 포함**되어 있으며, 이를 통해 Data Pipeline의 역할 권한을 활용하여 추가 권한을 얻을 수 있습니다.
잠재적인 영향: 지정된 ec2 서비스 역할로의 직접 권한 상승.
참고 자료
最終更新