AWS - KMS Privesc
KMS
Для отримання додаткової інформації про KMS перегляньте:
kms:ListKeys
,kms:PutKeyPolicy
, (kms:ListKeyPolicies
, kms:GetKeyPolicy
)
kms:ListKeys
,kms:PutKeyPolicy
, (kms:ListKeyPolicies
, kms:GetKeyPolicy
)З цими дозволами можливо змінити дозволи доступу до ключа, щоб його могли використовувати інші облікові записи або навіть будь-хто:
policy.json:
kms:CreateGrant
kms:CreateGrant
Це дозволяє суб'єкту використовувати ключ KMS:
Грант може дозволяти лише певні типи операцій: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#terms-grant-operations
Зверніть увагу, що може знадобитися кілька хвилин, щоб KMS дозволив користувачу використовувати ключ після створення гранту. Як тільки цей час мине, принципал може використовувати ключ KMS без необхідності вказувати щось. Однак, якщо потрібно використовувати грант негайно, використовуйте токен гранту (перевірте наступний код). Для додаткової інформації прочитайте це.
Зверніть увагу, що можна перерахувати надання ключів за допомогою:
kms:CreateKey
, kms:ReplicateKey
kms:CreateKey
, kms:ReplicateKey
З цими дозволами можливо реплікувати ключ KMS, який підтримує кілька регіонів, в іншому регіоні з іншою політикою.
Отже, зловмисник може зловживати цим, щоб отримати підвищення своїх прав доступу до ключа і використовувати його.
kms:Decrypt
kms:Decrypt
Цей дозвіл дозволяє використовувати ключ для розшифровки деякої інформації. Для отримання додаткової інформації перегляньте:
Last updated