AWS - KMS Privesc
Last updated
Last updated
Lerne & übe AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Lerne & übe GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Für weitere Informationen zu KMS siehe:
AWS - KMS Enumkms:ListKeys
,kms:PutKeyPolicy
, (kms:ListKeyPolicies
, kms:GetKeyPolicy
)Mit diesen Berechtigungen ist es möglich, die Zugriffsberechtigungen für den Schlüssel zu ändern, sodass er von anderen Konten oder sogar von jedem verwendet werden kann:
policy.json:
kms:CreateGrant
Es erlaubt einem Principal, einen KMS-Schlüssel zu verwenden:
Ein Grant kann nur bestimmte Arten von Operationen erlauben: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#terms-grant-operations
Beachten Sie, dass es einige Minuten dauern kann, bis KMS dem Benutzer erlaubt, den Schlüssel zu verwenden, nachdem der Grant erstellt wurde. Sobald diese Zeit vergangen ist, kann der Principal den KMS-Schlüssel verwenden, ohne etwas anzugeben. Wenn es jedoch erforderlich ist, den Grant sofort zu verwenden, verwenden Sie ein Grant-Token (siehe den folgenden Code). Für weitere Informationen lesen Sie dies.
Beachten Sie, dass es möglich ist, die Berechtigungen von Schlüsseln mit aufzulisten:
kms:CreateKey
, kms:ReplicateKey
Mit diesen Berechtigungen ist es möglich, einen KMS-Schlüssel, der für mehrere Regionen aktiviert ist, in einer anderen Region mit einer anderen Richtlinie zu replizieren.
Ein Angreifer könnte dies ausnutzen, um seine Berechtigungen für den Schlüssel zu erhalten und ihn zu verwenden.
kms:Decrypt
Diese Berechtigung erlaubt die Verwendung eines Schlüssels, um Informationen zu entschlüsseln. Für weitere Informationen siehe:
AWS - KMS Post ExploitationLerne & übe AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Lerne & übe GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)