AWS - KMS Persistencia

Tip

Aprende y practica Hacking en AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprende y practica Hacking en GCP: HackTricks Training GCP Red Team Expert (GRTE) Aprende y practica Hacking en Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Apoya a HackTricks

KMS

Para más información consulta:

AWS - KMS Enum

Grant acceso vía políticas de KMS

Un atacante podría usar el permiso kms:PutKeyPolicy para dar acceso a una key a un usuario bajo su control o incluso a una cuenta externa. Check the KMS Privesc page for more information.

Eternal Grant

Los grants son otra forma de otorgar a un principal ciertos permisos sobre una key específica. Es posible crear un grant que permita a un usuario crear grants. Además, un usuario puede tener varios grants (incluso idénticos) sobre la misma key.

Por lo tanto, es posible que un usuario tenga 10 grants con todos los permisos. El atacante debería monitorizar esto constantemente. Y si en algún momento se elimina 1 grant, deberían generarse otros 10.

(Estamos usando 10 y no 2 para poder detectar que se eliminó un grant mientras el usuario todavía tiene algún grant)

# 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 puede otorgar permisos únicamente a partir de esto: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#terms-grant-operations

Tip

Aprende y practica Hacking en AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprende y practica Hacking en GCP: HackTricks Training GCP Red Team Expert (GRTE) Aprende y practica Hacking en Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Apoya a HackTricks