AWS - KMS Persistence

Sostieni HackTricks

KMS

Per ulteriori informazioni controlla:

AWS - KMS Enum

Concedere accesso tramite le politiche KMS

Un attaccante potrebbe utilizzare il permesso kms:PutKeyPolicy per concedere accesso a una chiave a un utente sotto il suo controllo o addirittura a un account esterno. Controlla la pagina di KMS Privesc per ulteriori informazioni.

Concessione eterna

Le concessioni sono un altro modo per dare a un principale alcuni permessi su una chiave specifica. È possibile concedere una concessione che consente a un utente di creare concessioni. Inoltre, un utente può avere diverse concessioni (anche identiche) sulla stessa chiave.

Pertanto, è possibile che un utente abbia 10 concessioni con tutti i permessi. L'attaccante dovrebbe monitorare costantemente questo. E se in un certo momento viene rimossa 1 concessione, ne dovrebbero essere generate altre 10.

(Stiamo usando 10 e non 2 per essere in grado di rilevare che una concessione è stata rimossa mentre l'utente ha ancora alcune concessioni)

# 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>
Sostieni HackTricks

Last updated