AWS - KMS Persistence

Підтримайте HackTricks

KMS

Для отримання додаткової інформації перегляньте:

AWS - KMS Enum

Надання доступу через політики KMS

Атакувальник може використовувати дозвіл kms:PutKeyPolicy для надання доступу до ключа користувачеві під його контролем або навіть зовнішньому обліковому запису. Перегляньте сторінку привілеїв KMS для отримання додаткової інформації.

Вічний дозвіл

Дозволи - це ще один спосіб надання принципалу деяких дозволів для конкретного ключа. Можливо надати дозвіл, який дозволяє користувачеві створювати дозволи. Крім того, користувач може мати кілька дозволів (навіть ідентичних) на той самий ключ.

Отже, користувач може мати 10 дозволів з усіма дозволами. Атакувальник повинен постійно моніторити це. І якщо в якийсь момент 1 дозвіл буде видалено, інші 10 повинні бути згенеровані.

(Ми використовуємо 10, а не 2, щоб мати можливість виявити, що дозвіл був видалений, поки у користувача все ще є дозвіл)

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

Дозвіл може надавати дозволи лише з цього: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#terms-grant-operations

Підтримайте HackTricks

Last updated