AWS - Sagemaker Privesc
Last updated
Last updated
Impara e pratica il hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Impara e pratica il hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
iam:PassRole
, sagemaker:CreateNotebookInstance
, sagemaker:CreatePresignedNotebookInstanceUrl
Inizia a creare un notebook con il ruolo IAM ad esso associato:
La risposta dovrebbe contenere un campo NotebookInstanceArn
, che conterrà l'ARN della nuova istanza di notebook creata. Possiamo quindi utilizzare l'API create-presigned-notebook-instance-url
per generare un URL che possiamo utilizzare per accedere all'istanza di notebook una volta che è pronta:
Naviga all'URL con il browser e clicca su `Open JupyterLab` nella parte superiore destra, poi scorri verso il basso alla scheda “Launcher” e sotto la sezione “Other”, clicca sul pulsante “Terminal”.
Ora è possibile accedere alle credenziali dei metadati del ruolo IAM.
Impatto Potenziale: Privesc al ruolo di servizio sagemaker specificato.
sagemaker:CreatePresignedNotebookInstanceUrl
Se ci sono notebook Jupyter già in esecuzione su di esso e puoi elencarli con sagemaker:ListNotebookInstances
(o scoprirli in qualsiasi altro modo). Puoi generare un URL per essi, accedervi e rubare le credenziali come indicato nella tecnica precedente.
Impatto Potenziale: Privesc al ruolo di servizio sagemaker attaccato.
sagemaker:CreateProcessingJob,iam:PassRole
Un attaccante con tali permessi può far eseguire a sagemaker un processingjob con un ruolo sagemaker attaccato. L'attaccante può indicare la definizione del contenitore che verrà eseguito in un istanza di account ECS gestita da AWS, e rubare le credenziali del ruolo IAM attaccato.
Impatto Potenziale: Privesc al ruolo di servizio sagemaker specificato.
sagemaker:CreateTrainingJob
, iam:PassRole
Un attaccante con questi permessi sarà in grado di creare un lavoro di addestramento, eseguendo un contenitore arbitrario su di esso con un ruolo allegato. Pertanto, l'attaccante sarà in grado di rubare le credenziali del ruolo.
Questo scenario è più difficile da sfruttare rispetto al precedente perché è necessario generare un'immagine Docker che invierà la rev shell o le credenziali direttamente all'attaccante (non è possibile indicare un comando di avvio nella configurazione del lavoro di addestramento).
Impatto Potenziale: Privesc al ruolo di servizio sagemaker specificato.
sagemaker:CreateHyperParameterTuningJob
, iam:PassRole
Un attaccante con questi permessi sarà (potenzialmente) in grado di creare un lavoro di addestramento degli iperparametri, eseguendo un contenitore arbitrario su di esso con un ruolo allegato. Non ho sfruttato a causa della mancanza di tempo, ma sembra simile agli exploit precedenti, sentiti libero di inviare una PR con i dettagli dello sfruttamento.
Impara e pratica Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Impara e pratica Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)