mirror of
https://github.com/HackTricks-wiki/hacktricks-cloud.git
synced 2025-12-29 14:13:20 -08:00
Translated ['src/pentesting-ci-cd/terraform-security.md', 'src/pentestin
This commit is contained in:
@@ -14,7 +14,7 @@ Für weitere Informationen zu dynamodb siehe:
|
||||
|
||||
Seit März 2024 bietet AWS *ressourcenbasierte Richtlinien* für DynamoDB ([AWS News](https://aws.amazon.com/about-aws/whats-new/2024/03/amazon-dynamodb-resource-based-policies/)).
|
||||
|
||||
Wenn Sie also die `dynamodb:PutResourcePolicy` für eine Tabelle haben, können Sie sich oder einem anderen Principal einfach vollen Zugriff auf die Tabelle gewähren.
|
||||
Wenn Sie also die `dynamodb:PutResourcePolicy` für eine Tabelle haben, können Sie sich selbst oder einem anderen Principal einfach vollen Zugriff auf die Tabelle gewähren.
|
||||
|
||||
Das Gewähren der `dynamodb:PutResourcePolicy` an einen zufälligen Principal geschieht oft versehentlich, wenn die Administratoren denken, dass das Gewähren von `dynamodb:Put*` nur dem Principal erlauben würde, Elemente in die Datenbank einzufügen - oder wenn sie dieses Berechtigungsset vor März 2024 gewährt haben...
|
||||
|
||||
@@ -47,7 +47,7 @@ Wenn Sie die aktuelle Richtlinie nicht abrufen können, verwenden Sie einfach di
|
||||
]
|
||||
}
|
||||
```
|
||||
Wenn Sie es anpassen müssen, hier ist eine Liste aller möglichen DynamoDB-Aktionen: [AWS Documentation](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_Operations.html). Und hier ist eine Liste aller Aktionen, die über eine ressourcenbasierte Richtlinie erlaubt werden können *UND welche davon kontenübergreifend verwendet werden können (denken Sie an Datenexfiltration!)*: [AWS Documentation](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/rbac-iam-actions.html)
|
||||
Wenn Sie es anpassen müssen, finden Sie hier eine Liste aller möglichen DynamoDB-Aktionen: [AWS Documentation](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_Operations.html). Und hier ist eine Liste aller Aktionen, die über eine ressourcenbasierte Richtlinie erlaubt werden können *UND welche davon kontenübergreifend verwendet werden können (denken Sie an Datenexfiltration!)*: [AWS Documentation](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/rbac-iam-actions.html)
|
||||
|
||||
Jetzt, da das Richtliniendokument `policy.json` bereit ist, fügen Sie die Ressourcenrichtlinie hinzu:
|
||||
```bash
|
||||
|
||||
@@ -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>)
|
||||
|
||||
@@ -65,7 +65,7 @@ terraform-security.md#abusing-terraform-state-files
|
||||
|
||||
### `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, da sonst der Fehler `Die angegebene Methode ist nicht erlaubt` ausgelöst wird, 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.
|
||||
```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 in Buckets zu gewähren.
|
||||
Ein Angreifer könnte diese Berechtigungen missbrauchen, um ihm 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