AWS - Sagemaker Privesc
Last updated
Last updated
Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
iam:PassRole
, sagemaker:CreateNotebookInstance
, sagemaker:CreatePresignedNotebookInstanceUrl
Beginnen Sie mit der Erstellung eines Notebooks mit der IAM-Rolle, die daran angehängt ist:
Die Antwort sollte ein Feld NotebookInstanceArn
enthalten, das die ARN der neu erstellten Notizbuchinstanz enthält. Wir können dann die API create-presigned-notebook-instance-url
verwenden, um eine URL zu generieren, die wir verwenden können, um auf die Notizbuchinstanz zuzugreifen, sobald sie bereit ist:
Navigieren Sie mit dem Browser zur URL und klicken Sie auf `Open JupyterLab` im oberen rechten Bereich, scrollen Sie dann zum Tab „Launcher“ und klicken Sie im Abschnitt „Other“ auf die Schaltfläche „Terminal“.
Jetzt ist es möglich, auf die Metadatenanmeldeinformationen der IAM-Rolle zuzugreifen.
Potenzielle Auswirkungen: Privesc auf die angegebene sagemaker-Dienstrolle.
sagemaker:CreatePresignedNotebookInstanceUrl
Wenn bereits Jupyter Notebooks darauf ausgeführt werden und Sie sie mit sagemaker:ListNotebookInstances
auflisten können (oder sie auf andere Weise entdecken). Sie können eine URL für sie generieren, auf sie zugreifen und die Anmeldeinformationen stehlen, wie in der vorherigen Technik angegeben.
Potenzielle Auswirkungen: Privesc zur Sagemaker-Dienstrolle, die angehängt ist.
sagemaker:CreateProcessingJob,iam:PassRole
Ein Angreifer mit diesen Berechtigungen kann sagemaker einen Processing-Job ausführen lassen, der mit einer Sagemaker-Rolle verbunden ist. Der Angreifer kann die Definition des Containers angeben, der in einer AWS verwalteten ECS-Kontoinstanz ausgeführt wird, und die Anmeldeinformationen der angehängten IAM-Rolle stehlen.
Potenzielle Auswirkungen: Privesc auf die angegebene sagemaker-Dienstrolle.
sagemaker:CreateTrainingJob
, iam:PassRole
Ein Angreifer mit diesen Berechtigungen wird in der Lage sein, einen Trainingsjob zu erstellen, ein beliebiges Container darauf auszuführen mit einer angehängten Rolle. Daher wird der Angreifer in der Lage sein, die Anmeldeinformationen der Rolle zu stehlen.
Dieses Szenario ist schwieriger auszunutzen als das vorherige, da Sie ein Docker-Image erstellen müssen, das die rev shell oder Anmeldeinformationen direkt an den Angreifer sendet (Sie können keinen Startbefehl in der Konfiguration des Trainingsjobs angeben).
Potenzielle Auswirkungen: Privesc auf die angegebene sagemaker-Dienstrolle.
sagemaker:CreateHyperParameterTuningJob
, iam:PassRole
Ein Angreifer mit diesen Berechtigungen wird (potenziell) in der Lage sein, einen Hyperparameter-Trainingsjob zu erstellen, einen beliebigen Container darauf auszuführen und eine angehängte Rolle zu verwenden. Ich habe es aufgrund von Zeitmangel nicht ausgenutzt, aber es sieht ähnlich aus wie die vorherigen Exploits. Fühlen Sie sich frei, einen PR mit den Ausnutzungsdetails zu senden.
Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)