AWS - KMS Persistence

Support HackTricks

KMS

Para más información, consulta:

Conceder acceso a través de políticas de KMS

Un atacante podría usar el permiso kms:PutKeyPolicy para dar acceso a una clave a un usuario bajo su control o incluso a una cuenta externa. Consulta la página de KMS Privesc para más información.

Concesión Eterna

Las concesiones son otra forma de dar a un principal algunos permisos sobre una clave específica. Es posible dar una concesión que permita a un usuario crear concesiones. Además, un usuario puede tener varias concesiones (incluso idénticas) sobre la misma clave.

Por lo tanto, es posible que un usuario tenga 10 concesiones con todos los permisos. El atacante debería monitorear esto constantemente. Y si en algún momento se elimina 1 concesión, se deberían generar otras 10.

(Estamos usando 10 y no 2 para poder detectar que se eliminó una concesión mientras el usuario aún tiene alguna concesión)

# 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>
Apoya a HackTricks

Last updated