Translated ['src/banners/hacktricks-training.md', 'src/pentesting-ci-cd/

This commit is contained in:
Translator
2025-01-02 01:25:02 +00:00
parent c0ee8b41f2
commit ff7e659f3f
209 changed files with 1994 additions and 1989 deletions

View File

@@ -12,7 +12,7 @@ Für weitere Informationen siehe:
### `dynamodb:BatchGetItem`
Ein Angreifer mit diesen Berechtigungen kann **Elemente aus Tabellen anhand des Primärschlüssels abrufen** (man kann nicht einfach nach allen Daten der Tabelle fragen). Das bedeutet, dass man die Primärschlüssel kennen muss (man kann dies erhalten, indem man die Tabellenmetadaten abruft (`describe-table`).
Ein Angreifer mit diesen Berechtigungen kann **Elemente aus Tabellen anhand des Primärschlüssels abrufen** (man kann nicht einfach nach allen Daten der Tabelle fragen). Das bedeutet, dass man die Primärschlüssel kennen muss (man kann dies durch Abrufen der Tabellenmetadaten (`describe-table`) erhalten).
{{#tabs }}
{{#tab name="json file" }}
@@ -58,7 +58,7 @@ aws dynamodb get-item --table-name ProductCatalog --key file:///tmp/a.json
}
}
```
Mit dieser Berechtigung ist es auch möglich, die **`transact-get-items`**-Methode wie folgt zu verwenden:
Mit dieser Berechtigung ist es auch möglich, die **`transact-get-items`** Methode wie folgt zu verwenden:
```json
aws dynamodb transact-get-items \
--transact-items file:///tmp/a.json
@@ -75,11 +75,11 @@ aws dynamodb transact-get-items \
}
]
```
**Potenzielle Auswirkungen:** Indirekte Privilegieneskalation durch Auffinden sensibler Informationen in der Tabelle
**Potenzielle Auswirkungen:** Indirekte Privilegieneskalation durch das Auffinden sensibler Informationen in der Tabelle
### `dynamodb:Query`
**Ähnlich wie die vorherigen Berechtigungen** erlaubt diese einem potenziellen Angreifer, Werte aus nur 1 Tabelle zu lesen, wenn der Primärschlüssel des abzurufenden Eintrags bekannt ist. Es erlaubt die Verwendung eines [Teilsets von Vergleichen](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_Condition.html), aber der einzige Vergleich, der mit dem Primärschlüssel (der erscheinen muss) erlaubt ist, ist "EQ", sodass Sie keinen Vergleich verwenden können, um die gesamte DB in einer Anfrage abzurufen.
**Ähnlich wie die vorherigen Berechtigungen** erlaubt diese einem potenziellen Angreifer, Werte aus nur 1 Tabelle zu lesen, wenn der Primärschlüssel des abzurufenden Eintrags bekannt ist. Es erlaubt die Verwendung einer [Teilmenge von Vergleichen](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_Condition.html), aber der einzige erlaubte Vergleich mit dem Primärschlüssel (der erscheinen muss) ist "EQ", sodass Sie keinen Vergleich verwenden können, um die gesamte DB in einer Anfrage abzurufen.
{{#tabs }}
{{#tab name="json file" }}
@@ -144,7 +144,7 @@ aws dynamodb export-table-to-point-in-time \
--export-time <point_in_time> \
--region <region>
```
Beachten Sie, dass für dies die Tabelle die Punkt-in-Zeit-Wiederherstellung aktiviert haben muss. Sie können überprüfen, ob die Tabelle dies hat mit:
Beachten Sie, dass für das Funktionieren dies die Punkt-in-Zeit-Wiederherstellung für die Tabelle aktiviert sein muss. Sie können überprüfen, ob die Tabelle dies hat mit:
```bash
aws dynamodb describe-continuous-backups \
--table-name <tablename>
@@ -159,7 +159,7 @@ aws dynamodb update-continuous-backups \
### `dynamodb:CreateTable`, `dynamodb:RestoreTableFromBackup`, (`dynamodb:CreateBackup)`
Mit diesen Berechtigungen wäre ein Angreifer in der Lage, **eine neue Tabelle aus einem Backup zu erstellen** (oder sogar ein Backup zu erstellen, um es dann in einer anderen Tabelle wiederherzustellen). Dann könnte er, mit den notwendigen Berechtigungen, **Informationen** aus den Backups überprüfen, die **nicht mehr in der Produktion** Tabelle sein könnten.
Mit diesen Berechtigungen wäre ein Angreifer in der Lage, **eine neue Tabelle aus einem Backup zu erstellen** (oder sogar ein Backup zu erstellen, um es dann in einer anderen Tabelle wiederherzustellen). Dann könnte er, mit den notwendigen Berechtigungen, **Informationen** aus den Backups überprüfen, die **nicht mehr in der Produktion** Tabelle vorhanden sein könnten.
```bash
aws dynamodb restore-table-from-backup \
--backup-arn <source-backup-arn> \
@@ -173,7 +173,7 @@ aws dynamodb restore-table-from-backup \
Diese Berechtigung erlaubt es Benutzern, ein **neues Element zur Tabelle hinzuzufügen oder ein vorhandenes Element** durch ein neues Element zu ersetzen. Wenn ein Element mit dem gleichen Primärschlüssel bereits existiert, wird das **gesamte Element durch das neue Element ersetzt**. Wenn der Primärschlüssel nicht existiert, wird ein neues Element mit dem angegebenen Primärschlüssel **erstellt**.
{{#tabs }}
{{#tab name="XSS Beispiel" }}
{{#tab name="XSS Example" }}
```bash
## Create new item with XSS payload
aws dynamodb put-item --table <table_name> --item file://add.json
@@ -206,7 +206,7 @@ aws dynamodb put-item \
### `dynamodb:UpdateItem`
Diese Berechtigung ermöglicht es Benutzern, **die vorhandenen Attribute eines Elements zu ändern oder neue Attribute zu einem Element hinzuzufügen**. Es **ersetzt nicht** das gesamte Element; es aktualisiert nur die angegebenen Attribute. Wenn der Primärschlüssel nicht in der Tabelle vorhanden ist, wird die Operation **ein neues Element erstellen** mit dem angegebenen Primärschlüssel und die im Aktualisierungsausdruck angegebenen Attribute festlegen.
Diese Berechtigung ermöglicht es Benutzern, **die vorhandenen Attribute eines Elements zu ändern oder neue Attribute zu einem Element hinzuzufügen**. Es **ersetzt nicht** das gesamte Element; es aktualisiert nur die angegebenen Attribute. Wenn der Primärschlüssel nicht in der Tabelle vorhanden ist, wird die Operation **ein neues Element** mit dem angegebenen Primärschlüssel erstellen und die im Aktualisierungsausdruck angegebenen Attribute festlegen.
{{#tabs }}
{{#tab name="XSS Example" }}
@@ -266,7 +266,7 @@ aws dynamodb delete-backup \
### `dynamodb:StreamSpecification`, `dynamodb:UpdateTable`, `dynamodb:DescribeStream`, `dynamodb:GetShardIterator`, `dynamodb:GetRecords`
> [!NOTE]
> [!HINWEIS]
> TODO: Testen, ob das tatsächlich funktioniert
Ein Angreifer mit diesen Berechtigungen kann **einen Stream auf einer DynamoDB-Tabelle aktivieren, die Tabelle aktualisieren, um mit dem Streaming von Änderungen zu beginnen, und dann auf den Stream zugreifen, um Änderungen an der Tabelle in Echtzeit zu überwachen**. Dies ermöglicht es dem Angreifer, Datenänderungen zu überwachen und zu exfiltrieren, was potenziell zu einem Datenleck führen kann.
@@ -298,6 +298,6 @@ bashCopy codeaws dynamodbstreams get-records \
--shard-iterator <shard_iterator> \
--region <region>
```
**Potenzielle Auswirkungen**: Echtzeitüberwachung und Datenleckage der Änderungen der DynamoDB-Tabelle.
**Potenzielle Auswirkungen**: Echtzeitüberwachung und Datenleckage der Änderungen der DynamoDB-Tabelle.
{{#include ../../../banners/hacktricks-training.md}}