mirror of
https://github.com/HackTricks-wiki/hacktricks-cloud.git
synced 2025-12-29 14:13:20 -08:00
Translated ['', 'src/pentesting-cloud/aws-security/aws-post-exploitation
This commit is contained in:
@@ -12,14 +12,14 @@ Für weitere Informationen siehe:
|
||||
|
||||
### Secrets lesen
|
||||
|
||||
Die **Secrets selbst sind sensible Informationen** — [check the privesc page](../aws-privilege-escalation/aws-secrets-manager-privesc.md) um zu erfahren, wie man sie liest.
|
||||
Die **Secrets selbst sind sensible Informationen**, [siehe die privesc-Seite](../aws-privilege-escalation/aws-secrets-manager-privesc.md), um zu lernen, wie man sie liest.
|
||||
|
||||
### DoS Change Secret Value
|
||||
### DoS: Secret-Wert ändern
|
||||
|
||||
Durch Ändern des Werts des Secrets könnten Sie **alle Systeme, die von diesem Wert abhängen, einem DoS aussetzen.**
|
||||
Durch das Ändern des Secret-Werts könntest du **ein DoS für alle Systeme verursachen, die von diesem Wert abhängen.**
|
||||
|
||||
> [!WARNING]
|
||||
> Beachte, dass vorherige Werte ebenfalls gespeichert werden, sodass es leicht ist, zum vorherigen Wert zurückzukehren.
|
||||
> Beachte, dass frühere Werte ebenfalls gespeichert werden, sodass man einfach zum vorherigen Wert zurückkehren kann.
|
||||
```bash
|
||||
# Requires permission secretsmanager:PutSecretValue
|
||||
aws secretsmanager put-secret-value \
|
||||
@@ -28,22 +28,54 @@ aws secretsmanager put-secret-value \
|
||||
```
|
||||
### DoS Change KMS key
|
||||
|
||||
Wenn der Angreifer die Berechtigung secretsmanager:UpdateSecret hat, kann er das Secret so konfigurieren, dass es einen KMS key verwendet, der dem Angreifer gehört. Dieser Key wird anfangs so eingerichtet, dass jeder darauf zugreifen und ihn verwenden kann, sodass ein Update des Secret mit dem neuen Key möglich ist. Wäre der Key nicht zugänglich, könnte das Secret nicht aktualisiert werden.
|
||||
Wenn der Angreifer die Berechtigung secretsmanager:UpdateSecret besitzt, kann er das secret so konfigurieren, dass es einen vom Angreifer kontrollierten KMS key verwendet. Dieser KMS key wird anfänglich so eingerichtet, dass jeder darauf zugreifen und ihn verwenden kann, sodass das Aktualisieren des secret mit dem neuen KMS key möglich ist. Wäre der KMS key nicht zugänglich gewesen, hätte das secret nicht aktualisiert werden können.
|
||||
|
||||
Nachdem der Angreifer den Key für das Secret geändert hat, passt er die Konfiguration seines Keys so an, dass nur noch er darauf zugreifen kann. Auf diese Weise werden in späteren Versionen des Secret diese mit dem neuen Key verschlüsselt, und da kein Zugriff darauf besteht, geht die Möglichkeit verloren, das Secret abzurufen.
|
||||
Nachdem der Angreifer den KMS key für das secret geändert hat, passt er die Konfiguration seines KMS keys so an, dass nur noch er darauf zugreifen kann. Auf diese Weise werden spätere Versionen des secret mit dem neuen KMS key verschlüsselt, und da kein Zugriff auf den Key besteht, geht die Möglichkeit verloren, das secret abzurufen.
|
||||
|
||||
Es ist wichtig zu beachten, dass diese Unzugänglichkeit nur bei späteren Versionen auftritt, nachdem sich der Inhalt des Secret geändert hat, da die aktuelle Version noch mit dem ursprünglichen KMS key verschlüsselt ist.
|
||||
Wichtig zu beachten ist, dass diese Unzugänglichkeit erst bei späteren Versionen auftritt, nachdem sich der Inhalt des secret geändert hat, da die aktuelle Version noch mit dem ursprünglichen KMS key verschlüsselt ist.
|
||||
```bash
|
||||
aws secretsmanager update-secret \
|
||||
--secret-id MyTestSecret \
|
||||
--kms-key-id arn:aws:kms:us-west-2:123456789012:key/EXAMPLE1-90ab-cdef-fedc-ba987EXAMPLE
|
||||
```
|
||||
### DoS: Secret löschen
|
||||
### DoS Deleting Secret
|
||||
|
||||
Die Mindestanzahl an Tagen, um ein Secret zu löschen, beträgt 7.
|
||||
Die minimale Anzahl an Tagen, um ein secret zu löschen, beträgt 7
|
||||
```bash
|
||||
aws secretsmanager delete-secret \
|
||||
--secret-id MyTestSecret \
|
||||
--recovery-window-in-days 7
|
||||
```
|
||||
## secretsmanager:RestoreSecret
|
||||
|
||||
Es ist möglich, ein Secret wiederherzustellen, wodurch Secrets, die zur Löschung vorgesehen wurden, wiederhergestellt werden können, da die minimale Löschfrist für Secrets 7 Tage und die maximale 30 Tage beträgt. In Kombination mit der Berechtigung secretsmanager:GetSecretValue ermöglicht dies, deren Inhalte abzurufen.
|
||||
|
||||
Um ein Secret wiederherzustellen, das sich im Löschvorgang befindet, können Sie den folgenden Befehl verwenden:
|
||||
```bash
|
||||
aws secretsmanager restore-secret \
|
||||
--secret-id <Secret_Name>
|
||||
```
|
||||
## secretsmanager:DeleteResourcePolicy
|
||||
|
||||
Diese Aktion erlaubt das Löschen der Resource Policy, die steuert, wer auf ein Secret zugreifen kann. Dies könnte zu einem DoS führen, wenn die Resource Policy so konfiguriert war, dass sie einem bestimmten Benutzerkreis Zugriff erlaubt.
|
||||
|
||||
Um die Resource Policy zu löschen:
|
||||
```bash
|
||||
aws secretsmanager delete-resource-policy \
|
||||
--secret-id <Secret_Name>
|
||||
```
|
||||
## secretsmanager:UpdateSecretVersionStage
|
||||
|
||||
Die States eines Secrets werden verwendet, um Versionen eines Secrets zu verwalten. AWSCURRENT kennzeichnet die aktive Version, die Anwendungen verwenden; AWSPREVIOUS behält die vorherige Version, damit Sie bei Bedarf zurückrollen können; und AWSPENDING wird im Rotationsprozess genutzt, um eine neue Version vorzubereiten und zu validieren, bevor sie zur aktuellen gemacht wird.
|
||||
|
||||
Anwendungen lesen immer die Version mit AWSCURRENT. Wenn jemand dieses Label auf die falsche Version verschiebt, verwenden die Apps ungültige Anmeldeinformationen und können fehlschlagen.
|
||||
|
||||
AWSPREVIOUS wird nicht automatisch verwendet. Wenn jedoch AWSCURRENT entfernt oder falsch neu zugewiesen wird, kann es so aussehen, als würde weiterhin alles mit der vorherigen Version laufen.
|
||||
```bash
|
||||
aws secretsmanager update-secret-version-stage \
|
||||
--secret-id <your-secret-name-or-arn> \
|
||||
--version-stage AWSCURRENT \
|
||||
--move-to-version-id <target-version-id> \
|
||||
--remove-from-version-id <previous-version-id>
|
||||
```
|
||||
{{#include ../../../banners/hacktricks-training.md}}
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
## Secrets Manager
|
||||
|
||||
Für weitere Informationen über den Secrets Manager siehe:
|
||||
Für weitere Informationen über Secrets Manager siehe:
|
||||
|
||||
{{#ref}}
|
||||
../aws-services/aws-secrets-manager-enum.md
|
||||
@@ -16,11 +16,14 @@ Ein Angreifer mit dieser Berechtigung kann den **gespeicherten Wert innerhalb ei
|
||||
```bash
|
||||
aws secretsmanager get-secret-value --secret-id <secret_name> # Get value
|
||||
```
|
||||
**Potenzielle Auswirkungen:** Zugriff auf hochsensible Daten im AWS Secrets Manager-Dienst.
|
||||
**Potential Impact:** Zugriff auf hochsensible Daten im AWS Secrets Manager Service.
|
||||
|
||||
> [!WARNING]
|
||||
> Beachte, dass selbst mit der Berechtigung `secretsmanager:BatchGetSecretValue` ein Angreifer zusätzlich `secretsmanager:GetSecretValue` benötigen würde, um die sensiblen secrets abzurufen.
|
||||
|
||||
### `secretsmanager:GetResourcePolicy`, `secretsmanager:PutResourcePolicy`, (`secretsmanager:ListSecrets`)
|
||||
|
||||
Mit den vorherigen Berechtigungen ist es möglich, **anderen Principals/Konten (sogar externen)** Zugriff auf das **Geheimnis** zu gewähren. Beachten Sie, dass der Benutzer auch **Zugriff auf den KMS-Schlüssel** haben muss, um **verschlüsselte Geheimnisse** mit einem KMS-Schlüssel zu **lesen** (weitere Informationen auf der [KMS Enum-Seite](../aws-services/aws-kms-enum.md)).
|
||||
Mit den vorherigen Berechtigungen ist es möglich, **anderen principals/accounts (even external)** Zugriff auf das **secret** zu gewähren. Beachte, dass ein Benutzer, um **secrets zu lesen, die mit einem KMS key verschlüsselt** sind, außerdem **Zugriff auf den KMS key** benötigt (more info in the [KMS Enum page](../aws-services/aws-kms-enum.md)).
|
||||
```bash
|
||||
aws secretsmanager list-secrets
|
||||
aws secretsmanager get-resource-policy --secret-id <secret_name>
|
||||
|
||||
Reference in New Issue
Block a user