AWS - KMS Privesc
Last updated
Last updated
Ucz się i ćwicz Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Ucz się i ćwicz Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Aby uzyskać więcej informacji o KMS, sprawdź:
kms:ListKeys
,kms:PutKeyPolicy
, (kms:ListKeyPolicies
, kms:GetKeyPolicy
)Dzięki tym uprawnieniom można zmodyfikować uprawnienia dostępu do klucza, aby mogły być używane przez inne konta lub nawet przez każdego:
policy.json:
kms:CreateGrant
Pozwala podmiotowi na użycie klucza KMS:
Grant może pozwalać tylko na określone typy operacji: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#terms-grant-operations
Zauważ, że może minąć kilka minut, zanim KMS pozwoli użytkownikowi na użycie klucza po wygenerowaniu grant. Po upływie tego czasu, podmiot może używać klucza KMS bez potrzeby określania czegokolwiek. Jednakże, jeśli potrzebne jest natychmiastowe użycie grantu użyj tokena grantu (sprawdź poniższy kod). Dla więcej informacji przeczytaj to.
Zauważ, że możliwe jest wylistowanie uprawnień kluczy za pomocą:
kms:CreateKey
, kms:ReplicateKey
Dzięki tym uprawnieniom możliwe jest replikowanie klucza KMS włączonego w wielu regionach w innym regionie z inną polityką.
Zatem atakujący mógłby to wykorzystać, aby uzyskać dostęp do klucza i go użyć.
kms:Decrypt
To uprawnienie pozwala na użycie klucza do odszyfrowania informacji. Aby uzyskać więcej informacji, sprawdź:
Ucz się i ćwicz Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Ucz się i ćwicz Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)