From c1f665d6a0b1f6f28c1df957d1946dd25952ac3d Mon Sep 17 00:00:00 2001 From: Translator Date: Sat, 4 Oct 2025 09:11:27 +0000 Subject: [PATCH] Translated ['', 'src/pentesting-cloud/aws-security/aws-privilege-escalat --- .../aws-secrets-manager-post-exploitation.md | 46 ++++++++++++++++--- .../aws-secrets-manager-privesc.md | 13 ++++-- 2 files changed, 47 insertions(+), 12 deletions(-) diff --git a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-secrets-manager-post-exploitation.md b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-secrets-manager-post-exploitation.md index b511750d0..66e0244be 100644 --- a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-secrets-manager-post-exploitation.md +++ b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-secrets-manager-post-exploitation.md @@ -10,13 +10,13 @@ Pour plus d'informations, consultez : ../aws-services/aws-secrets-manager-enum.md {{#endref}} -### Lire les secrets +### Lire Secrets Les **secrets eux-mêmes sont des informations sensibles**, [consultez la page privesc](../aws-privilege-escalation/aws-secrets-manager-privesc.md) pour apprendre comment les lire. -### DoS — Changer la valeur du secret +### DoS — Changer la valeur du Secret -En changeant la valeur du secret, vous pourriez **DoS l'ensemble des systèmes qui dépendent de cette valeur.** +En changeant la valeur du Secret, vous pourriez **DoS tous les systèmes qui dépendent de cette valeur.** > [!WARNING] > Notez que les valeurs précédentes sont également stockées, il est donc facile de revenir à la valeur précédente. @@ -28,11 +28,11 @@ aws secretsmanager put-secret-value \ ``` ### DoS Change KMS key -Si l'attaquant dispose de la permission secretsmanager:UpdateSecret, il peut configurer le secret pour qu'il utilise une KMS key appartenant à l'attaquant. Cette KMS key est initialement configurée de sorte que n'importe qui puisse y accéder et l'utiliser, ce qui permet de mettre à jour le secret avec la nouvelle clé. Si la clé n'était pas accessible, le secret n'aurait pas pu être mis à jour. +Si l'attaquant dispose de l'autorisation secretsmanager:UpdateSecret, il peut configurer le secret pour qu'il utilise une KMS key appartenant à l'attaquant. Cette clé est initialement configurée de manière à ce que n'importe qui puisse y accéder et l'utiliser, ce qui rend possible la mise à jour du secret avec la nouvelle clé. Si la clé n'était pas accessible, le secret n'aurait pas pu être mis à jour. -Après avoir changé la KMS key du secret, l'attaquant modifie la configuration de sa KMS key pour que lui seul puisse y accéder. Ainsi, dans les versions ultérieures du secret, celui-ci sera chiffré avec la nouvelle clé et, faute d'accès à celle-ci, la possibilité de récupérer le secret sera perdue. +Après avoir changé la KMS key du secret, l'attaquant modifie la configuration de sa clé pour que lui seul puisse y accéder. Ainsi, dans les versions ultérieures du secret, celui-ci sera chiffré avec la nouvelle clé et, comme personne n'y aura accès, la possibilité de récupérer le secret sera perdue. -Il est important de noter que cette inaccessibilité ne se produira que sur les versions ultérieures, après que le contenu du secret ait changé, puisque la version actuelle reste chiffrée avec la KMS key originale. +Il est important de noter que cette inaccessibilité ne se produira que sur les versions suivantes, après que le contenu du secret ait changé, car la version actuelle est toujours chiffrée avec la KMS key d'origine. ```bash aws secretsmanager update-secret \ --secret-id MyTestSecret \ @@ -40,10 +40,42 @@ aws secretsmanager update-secret \ ``` ### DoS Suppression d'un secret -Le délai minimum pour supprimer un secret est de 7 jours +Le nombre minimum de jours pour supprimer un secret est de 7 ```bash aws secretsmanager delete-secret \ --secret-id MyTestSecret \ --recovery-window-in-days 7 ``` +## secretsmanager:RestoreSecret + +Il est possible de restaurer un secret, ce qui permet de récupérer des secrets programmés pour suppression, puisque la période minimale de suppression des secrets est de 7 jours et la maximale de 30 jours. Avec la permission secretsmanager:GetSecretValue, cela permet d'en extraire le contenu. + +Pour récupérer un secret en cours de suppression, vous pouvez utiliser la commande suivante : +```bash +aws secretsmanager restore-secret \ +--secret-id +``` +## secretsmanager:DeleteResourcePolicy + +Cette action permet de supprimer la politique de la ressource qui contrôle qui peut accéder à un secret. Cela pourrait conduire à un DoS si la politique de la ressource était configurée pour autoriser l'accès à un ensemble spécifique d'utilisateurs. + +Pour supprimer la politique de la ressource: +```bash +aws secretsmanager delete-resource-policy \ +--secret-id +``` +## secretsmanager:UpdateSecretVersionStage + +Les états d'un secret servent à gérer les versions d'un secret. AWSCURRENT marque la version active utilisée par les applications, AWSPREVIOUS conserve la version précédente pour pouvoir revenir en arrière si nécessaire, et AWSPENDING est utilisé dans le processus de rotation pour préparer et valider une nouvelle version avant de la rendre courante. + +Les applications lisent toujours la version portant le label AWSCURRENT. Si quelqu'un déplace cette étiquette vers la mauvaise version, les applications utiliseront des identifiants invalides et risquent d'échouer. + +AWSPREVIOUS n'est pas utilisé automatiquement. Cependant, si AWSCURRENT est supprimé ou réattribué de manière incorrecte, il peut sembler que tout fonctionne encore avec la version précédente. +```bash +aws secretsmanager update-secret-version-stage \ +--secret-id \ +--version-stage AWSCURRENT \ +--move-to-version-id \ +--remove-from-version-id +``` {{#include ../../../banners/hacktricks-training.md}} diff --git a/src/pentesting-cloud/aws-security/aws-privilege-escalation/aws-secrets-manager-privesc.md b/src/pentesting-cloud/aws-security/aws-privilege-escalation/aws-secrets-manager-privesc.md index dee0ede1f..32ab553d4 100644 --- a/src/pentesting-cloud/aws-security/aws-privilege-escalation/aws-secrets-manager-privesc.md +++ b/src/pentesting-cloud/aws-security/aws-privilege-escalation/aws-secrets-manager-privesc.md @@ -4,7 +4,7 @@ ## Secrets Manager -Pour plus d'informations sur le gestionnaire de secrets, consultez : +Pour plus d'informations sur Secrets Manager, voir : {{#ref}} ../aws-services/aws-secrets-manager-enum.md @@ -12,21 +12,24 @@ Pour plus d'informations sur le gestionnaire de secrets, consultez : ### `secretsmanager:GetSecretValue` -Un attaquant ayant cette permission peut obtenir la **valeur enregistrée à l'intérieur d'un secret** dans AWS **Secretsmanager**. +Un attaquant disposant de cette autorisation peut obtenir la **valeur enregistrée à l'intérieur d'un secret** dans AWS **Secretsmanager**. ```bash aws secretsmanager get-secret-value --secret-id # Get value ``` -**Impact potentiel :** Accéder à des données très sensibles dans le service AWS Secrets Manager. +**Impact potentiel :** Accès à des données hautement sensibles dans AWS Secrets Manager. + +> [!WARNING] +> Notez que même avec la permission `secretsmanager:BatchGetSecretValue`, un attaquant aurait également besoin de `secretsmanager:GetSecretValue` pour récupérer les secrets sensibles. ### `secretsmanager:GetResourcePolicy`, `secretsmanager:PutResourcePolicy`, (`secretsmanager:ListSecrets`) -Avec les autorisations précédentes, il est possible de **donner accès à d'autres principaux/comptes (même externes)** pour accéder au **secret**. Notez que pour **lire les secrets chiffrés** avec une clé KMS, l'utilisateur doit également avoir **accès à la clé KMS** (plus d'infos sur la [page KMS Enum](../aws-services/aws-kms-enum.md)). +Avec les permissions précédentes, il est possible de **donner l'accès à d'autres principals/comptes (même externes)** pour accéder au **secret**. Notez que pour **lire des secrets chiffrés** avec une clé KMS, l'utilisateur doit également avoir **l'accès à la clé KMS** (plus d'infos dans la [KMS Enum page](../aws-services/aws-kms-enum.md)). ```bash aws secretsmanager list-secrets aws secretsmanager get-resource-policy --secret-id aws secretsmanager put-resource-policy --secret-id --resource-policy file:///tmp/policy.json ``` -policy.json : +policy.json: ```json { "Version": "2012-10-17",