AWS - KMS Persistence

Tip

Apprenez & pratiquez AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Apprenez & pratiquez GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Apprenez & pratiquez Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Soutenez HackTricks

KMS

Pour plus d’informations, voir :

AWS - KMS Enum

Grant acces via KMS policies

Un attaquant pourrait utiliser la permission kms:PutKeyPolicy pour donner l’accĂšs Ă  une clĂ© Ă  un utilisateur sous son contrĂŽle ou mĂȘme Ă  un compte externe. Consultez la page KMS Privesc pour plus d’informations.

Eternal Grant

Les grants sont une autre maniĂšre d’accorder Ă  un principal des permissions sur une clĂ© spĂ©cifique. Il est possible de donner un grant qui permet Ă  un utilisateur de crĂ©er des grants. De plus, un utilisateur peut avoir plusieurs grants (mĂȘme identiques) sur la mĂȘme clĂ©.

Ainsi, il est possible qu’un utilisateur possĂšde 10 grants avec toutes les permissions. L’attaquant doit surveiller cela en permanence. Et si Ă  un moment donnĂ© 1 grant est supprimĂ©, 10 autres devraient ĂȘtre gĂ©nĂ©rĂ©s.

(Nous utilisons 10 et non 2 afin de pouvoir dĂ©tecter qu’un grant a Ă©tĂ© supprimĂ© alors que l’utilisateur possĂšde encore des grants)

# To generate grants, generate 10 like this one
aws kms create-grant \
--key-id <key-id> \
--grantee-principal <user_arn> \
--operations "CreateGrant" "Decrypt"

# To monitor grants
aws kms list-grants --key-id <key-id>

Note

Un grant peut accorder des permissions uniquement depuis ceci : https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#terms-grant-operations

Tip

Apprenez & pratiquez AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Apprenez & pratiquez GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Apprenez & pratiquez Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Soutenez HackTricks