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:
@@ -34,7 +34,7 @@ Zum Beispiel kann ein Angreifer mit diesen **Berechtigungen über einen CloudFor
|
||||
]
|
||||
}
|
||||
```
|
||||
Und die Übernahme ist möglich, weil es ein **kleines Zeitfenster vom Moment des Hochladens der Vorlage** in den Bucket bis zum Moment der **Bereitstellung der Vorlage** gibt. Ein Angreifer könnte einfach eine **lambda function** in seinem Konto erstellen, die **ausgelöst wird, wenn eine Bucket-Benachrichtigung gesendet wird**, und **übernimmt** den **Inhalt** dieses **Buckets**.
|
||||
Und die Übernahme ist möglich, weil es ein **kurzes Zeitfenster vom Moment des Hochladens der Vorlage** in den Bucket bis zum Moment der **Bereitstellung der Vorlage** gibt. Ein Angreifer könnte einfach eine **lambda function** in seinem Konto erstellen, die **ausgelöst wird, wenn eine Bucket-Benachrichtigung gesendet wird**, und **übernimmt** den **Inhalt** dieses **Buckets**.
|
||||
|
||||
.png>)
|
||||
|
||||
@@ -45,7 +45,7 @@ Für weitere Informationen siehe die ursprüngliche Forschung: [https://rhinosec
|
||||
|
||||
Dies sind die Berechtigungen, um **Objekte in S3 zu erhalten und hochzuladen**. Mehrere Dienste innerhalb von AWS (und außerhalb davon) verwenden S3-Speicher, um **Konfigurationsdateien** zu speichern.\
|
||||
Ein Angreifer mit **Lesezugriff** auf diese könnte **sensible Informationen** darin finden.\
|
||||
Ein Angreifer mit **Schreibzugriff** auf diese könnte **die Daten ändern, um einen Dienst auszunutzen und zu versuchen, Privilegien zu eskalieren**.\
|
||||
Ein Angreifer mit **Schreibzugriff** könnte **die Daten ändern, um einen Dienst auszunutzen und zu versuchen, Privilegien zu eskalieren**.\
|
||||
Hier sind einige Beispiele:
|
||||
|
||||
- Wenn eine EC2-Instanz die **Benutzerdaten in einem S3-Bucket speichert**, könnte ein Angreifer diese ändern, um **beliebigen Code innerhalb der EC2-Instanz auszuführen**.
|
||||
@@ -53,19 +53,19 @@ Hier sind einige Beispiele:
|
||||
### `s3:PutObject`, `s3:GetObject` (optional) über Terraform-Zustandsdatei
|
||||
|
||||
Es ist sehr häufig, dass die [terraform](https://cloud.hacktricks.wiki/en/pentesting-ci-cd/terraform-security.html) Zustandsdateien im Blob-Speicher von Cloud-Anbietern, z.B. AWS S3, gespeichert werden. Die Dateiendung für eine Zustandsdatei ist `.tfstate`, und die Bucket-Namen geben oft auch preis, dass sie Terraform-Zustandsdateien enthalten. In der Regel hat jedes AWS-Konto einen solchen Bucket, um die Zustandsdateien zu speichern, die den Zustand des Kontos anzeigen.\
|
||||
Außerdem haben in realen Konten fast immer alle Entwickler `s3:*` und manchmal sogar Geschäftsanwender `s3:Put*`.
|
||||
Außerdem haben in der realen Welt fast immer alle Entwickler `s3:*` und manchmal sogar Geschäftsanwender `s3:Put*`.
|
||||
|
||||
Wenn Sie also die oben genannten Berechtigungen über diese Dateien haben, gibt es einen Angriffsvektor, der es Ihnen ermöglicht, RCE in der Pipeline mit den Berechtigungen von `terraform` zu erlangen - meistens `AdministratorAccess`, was Sie zum Administrator des Cloud-Kontos macht. Außerdem können Sie diesen Vektor verwenden, um einen Denial-of-Service-Angriff durchzuführen, indem Sie `terraform` legitime Ressourcen löschen lassen.
|
||||
Wenn Sie also die oben genannten Berechtigungen über diese Dateien haben, gibt es einen Angriffsvektor, der es Ihnen ermöglicht, RCE in der Pipeline mit den Rechten von `terraform` zu erlangen - meistens `AdministratorAccess`, was Sie zum Administrator des Cloud-Kontos macht. Außerdem können Sie diesen Vektor verwenden, um einen Denial-of-Service-Angriff durchzuführen, indem Sie `terraform` legitime Ressourcen löschen lassen.
|
||||
|
||||
Befolgen Sie die Beschreibung im Abschnitt *Missbrauch von Terraform-Zustandsdateien* der *Terraform-Sicherheits*-Seite für direkt verwendbaren Exploit-Code:
|
||||
Befolgen Sie die Beschreibung im Abschnitt *Abusing Terraform State Files* der *Terraform Security*-Seite für direkt verwendbaren Exploit-Code:
|
||||
|
||||
{{#ref}}
|
||||
pentesting-ci-cd/terraform-security.md#abusing-terraform-state-files
|
||||
../../../pentesting-ci-cd/terraform-security.md#abusing-terraform-state-files
|
||||
{{#endref}}
|
||||
|
||||
### `s3:PutBucketPolicy`
|
||||
|
||||
Ein Angreifer, der **aus demselben Konto** stammen muss, andernfalls wird der Fehler `Die angegebene Methode ist nicht erlaubt` ausgelöst, kann mit dieser Berechtigung sich selbst mehr Berechtigungen über die Bucket(s) gewähren, die es ihm ermöglichen, Buckets zu lesen, zu schreiben, zu ändern, zu löschen und offenzulegen.
|
||||
Ein Angreifer, der **aus demselben Konto** stammen muss, andernfalls wird der Fehler `Die angegebene Methode ist nicht erlaubt` ausgelöst, kann mit dieser Berechtigung sich selbst mehr Berechtigungen über den Bucket(s) gewähren, die es ihm ermöglichen, Buckets zu lesen, zu schreiben, zu ändern, zu löschen und offenzulegen.
|
||||
```bash
|
||||
# Update Bucket policy
|
||||
aws s3api put-bucket-policy --policy file:///root/policy.json --bucket <bucket-name>
|
||||
@@ -151,7 +151,7 @@ aws s3api put-bucket-acl --bucket <bucket-name> --access-control-policy file://a
|
||||
```
|
||||
### `s3:GetObjectAcl`, `s3:PutObjectAcl`
|
||||
|
||||
Ein Angreifer könnte diese Berechtigungen missbrauchen, um ihm mehr Zugriff auf bestimmte Objekte innerhalb von Buckets zu gewähren.
|
||||
Ein Angreifer könnte diese Berechtigungen missbrauchen, um sich mehr Zugriff auf bestimmte Objekte innerhalb von Buckets zu gewähren.
|
||||
```bash
|
||||
# Update bucket object ACL
|
||||
aws s3api get-object-acl --bucket <bucekt-name> --key flag
|
||||
|
||||
Reference in New Issue
Block a user