From 4a21142158bddf90e09ee6db9789c4868dd893e0 Mon Sep 17 00:00:00 2001 From: Translator Date: Mon, 23 Feb 2026 11:07:19 +0000 Subject: [PATCH] Translated ['', 'src/pentesting-cloud/aws-security/aws-post-exploitation --- .../aws-kms-post-exploitation/README.md | 57 +++++++++---------- 1 file changed, 28 insertions(+), 29 deletions(-) diff --git a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-kms-post-exploitation/README.md b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-kms-post-exploitation/README.md index 2608c5cba..bea84e1aa 100644 --- a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-kms-post-exploitation/README.md +++ b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-kms-post-exploitation/README.md @@ -10,15 +10,15 @@ ../../aws-services/aws-kms-enum.md {{#endref}} -### Шифрування/Розшифрування інформації +### Encrypt/Decrypt information -`fileb://` and `file://` are URI schemes used in AWS CLI commands to specify the path to local files: +`fileb://` and `file://` — це URI-схеми, що використовуються в командах AWS CLI для вказання шляху до локальних файлів: -- `fileb://:` зчитує файл у двійковому режимі, зазвичай використовується для бінарних (не текстових) файлів. -- `file://:` зчитує файл у текстовому режимі, зазвичай використовується для простих текстових файлів, скриптів або JSON без спеціальних вимог кодування. +- `fileb://:` читає файл у бінарному режимі, зазвичай використовується для файлів, що не є текстовими. +- `file://:` читає файл у текстовому режимі, зазвичай використовується для простих текстових файлів, скриптів або JSON, які не мають спеціальних вимог кодування. > [!TIP] -> Зверніть увагу, що якщо ви хочете розшифрувати дані, що знаходяться у файлі, файл має містити двійкові дані, а не base64-кодовані дані. (fileb://) +> Зверніть увагу, що якщо ви хочете decrypt деякі дані всередині файлу, файл має містити бінарні дані, а не base64 закодовані дані. (fileb://) - Використання **симетричного** ключа ```bash @@ -60,15 +60,14 @@ aws kms decrypt \ ``` ### KMS Ransomware -Атакуючий із привілеями доступу до KMS може змінити KMS policy ключів і **grant his account access over them**, видаливши доступ, наданий легітимному обліковому запису. +Зловмисник, який має привілеї в KMS, може змінити політику KMS для ключів і **надати своєму обліковому запису доступ до них**, вилучивши доступ, наданий легітимному обліковому запису. -Тоді користувачі легітимного облікового запису не зможуть отримати доступ до жодної інформації жодного сервісу, яка була зашифрована цими ключами, створюючи простий, але ефективний ransomware проти облікового запису. +Тоді користувачі цього легітимного облікового запису не зможуть отримати доступ до жодної інформації сервісів, зашифрованої цими ключами, що створює простий, але ефективний ransomware проти облікового запису. > [!WARNING] -> Зверніть увагу, що **AWS managed keys aren't affected** цим нападом, уразливі лише **Customer managed keys**. - -> [!WARNING] -> Також зауважте необхідність використовувати параметр **`--bypass-policy-lockout-safety-check`** (відсутність цієї опції у веб-консолі робить цю атаку можливою лише з CLI). +> Зверніть увагу, що **AWS managed keys aren't affected** цією атакою, лише **Customer managed keys**. +> +> Також зверніть увагу на необхідність використання параметра **`--bypass-policy-lockout-safety-check`** (відсутність цієї опції у веб-консолі робить цю атаку можливою лише з CLI). ```bash # Force policy change aws kms put-key-policy --key-id mrk-c10357313a644d69b4b28b88523ef20c \ @@ -93,28 +92,28 @@ aws kms put-key-policy --key-id mrk-c10357313a644d69b4b28b88523ef20c \ } ``` > [!CAUTION] -> Зверніть увагу, якщо ви зміните ту політику й надасте доступ лише зовнішньому акаунту, а потім з цього зовнішнього акаунту спробуєте встановити нову політику, щоб **повернути доступ до початкового акаунту, у вас не вийде, бо дія Put Polocy не може бути виконана з крос-акаунта**. +> Зверніть увагу: якщо ви зміните цю політику й надасте доступ лише зовнішньому акаунту, а потім з цього зовнішнього акаунту спробуєте встановити нову політику, щоб **повернути доступ оригінальному акаунту, ви не зможете, бо дію Put Polocy не можна виконати з cross account**.
### Generic KMS Ransomware -Існує ще один спосіб реалізації глобального KMS Ransomware, що включає такі кроки: +Існує інший спосіб виконати глобальний KMS Ransomware, який включає такі кроки: - Створити новий **key with a key material**, імпортований зловмисником -- **Re-encrypt older data** жертви, зашифровані попередньою версією, новою версією +- **Re-encrypt older data** жертви, зашифровані попередньою версією, за допомогою нової - **Delete the KMS key** -- Тепер лише зловмисник, який має оригінальний ключовий матеріал, зможе розшифрувати дані +- Тепер лише зловмисник, у якого є оригінальний key material, зможе розшифрувати зашифровані дані ### Delete Keys via kms:DeleteImportedKeyMaterial -З дозволом `kms:DeleteImportedKeyMaterial` суб'єкт може видалити імпортований ключовий матеріал з CMKs із `Origin=EXTERNAL` (CMKs, що імпортували свій ключовий матеріал), роблячи їх нездатними розшифрувати дані. Ця дія є руйнівною та незворотною, якщо не буде реімпортовано сумісного матеріалу, що дозволяє зловмиснику фактично спричинити втрату даних, схожу на ransomware, зробивши зашифровану інформацію назавжди недоступною. +Маючи дозвіл `kms:DeleteImportedKeyMaterial`, актор може видалити імпортований key material з CMKs з `Origin=EXTERNAL` (CMKs, що імпортували свій key material), роблячи їх нездатними розшифрувати дані. Ця дія є руйнівною і незворотною, якщо сумісний матеріал не буде повторно імпортовано, що дозволяє зловмиснику фактично спричинити ransomware-like втрату даних, зробивши зашифровану інформацію назавжди недоступною. ```bash aws kms delete-imported-key-material --key-id ``` -### Знищення keys +### Destroy keys -Знищення keys може призвести до DoS. +Destroying keys — можна виконати DoS. ```bash # Schedule the destoy of a key (min wait time is 7 days) aws kms schedule-key-deletion \ @@ -124,8 +123,8 @@ aws kms schedule-key-deletion \ > [!CAUTION] > Зауважте, що AWS тепер **перешкоджає виконанню попередніх дій з іншого облікового запису:** -### Change or delete Alias -Ця атака видаляє або перенаправляє AWS KMS aliases, порушуючи key resolution і спричиняючи негайні збої в будь-яких сервісах, які покладаються на ці aliases, що призводить до denial-of-service. Маючи дозволи типу `kms:DeleteAlias` або `kms:UpdateAlias`, зловмисник може видалити або перенаправити aliases і порушити криптографічні операції (наприклад, encrypt, describe). Будь-який сервіс, що посилається на alias замість key ID, може не працювати доти, поки alias не буде відновлено або правильно перенаправлено. +### Змінити або видалити Alias +Ця атака видаляє або перенаправляє AWS KMS aliases, порушуючи розв'язування ключів і спричиняючи негайні збої в будь-яких сервісах, що покладаються на ці aliases, внаслідок чого виникає denial-of-service. Маючи дозволи на кшталт `kms:DeleteAlias` або `kms:UpdateAlias`, зловмисник може видалити або перенаправити aliases і порушити криптографічні операції (наприклад, encrypt, describe). Будь-який сервіс, що посилається на alias замість key ID, може не працювати, доки alias не буде відновлено або правильно перенаправлено. ```bash # Delete Alias aws kms delete-alias --alias-name alias/ @@ -136,7 +135,7 @@ aws kms update-alias \ --target-key-id ``` ### Скасування видалення ключа -Маючи дозволи на зразок `kms:CancelKeyDeletion` та `kms:EnableKey`, зловмисник може скасувати заплановане видалення AWS KMS customer master key та згодом знову його активувати. Це відновлює ключ (спочатку в стані Disabled) і повертає його здатність розшифровувати раніше захищені дані, що дозволяє exfiltration. +За наявності дозволів на кшталт `kms:CancelKeyDeletion` та `kms:EnableKey` зловмисник може скасувати заплановане видалення AWS KMS customer master key і пізніше знову його увімкнути. Це відновлює ключ (спочатку в стані Disabled) та повертає його здатність розшифровувати раніше захищені дані, що дозволяє exfiltration. ```bash # Firts cancel de deletion aws kms cancel-key-deletion \ @@ -146,22 +145,22 @@ aws kms cancel-key-deletion \ aws kms enable-key \ --key-id ``` -### Disable Key -З дозволом `kms:DisableKey` зловмисник може відключити AWS KMS customer master key, що перешкоджає його використанню для шифрування або розшифрування. Це порушує доступ для будь-яких сервісів, які залежать від цього CMK, і може спричинити негайні перебої або denial-of-service, поки ключ не буде повторно увімкнено. +### Вимкнення ключа +Маючи дозвіл `kms:DisableKey`, зловмисник може відключити AWS KMS customer master key, перешкодивши його використанню для шифрування або розшифрування. Це порушить доступ для будь-яких сервісів, що залежать від цього CMK, і може спричинити негайні збої або denial-of-service, доки ключ не буде знову ввімкнено. ```bash aws kms disable-key \ --key-id ``` -### Отримання спільного секрету -Маючи дозвіл `kms:DeriveSharedSecret`, суб'єкт може використати приватний ключ, що зберігається в KMS, разом із публічним ключем, наданим користувачем, щоб обчислити ECDH спільний секрет. +### Derive Shared Secret +Маючи дозвіл `kms:DeriveSharedSecret`, актор може використати KMS-held private key разом із user-supplied public key для обчислення ECDH shared secret. ```bash aws kms derive-shared-secret \ --key-id \ --public-key fileb:/// \ --key-agreement-algorithm ``` -### Impersonation via kms:Sign -З дозволом `kms:Sign` зловмисник може використовувати KMS-stored CMK для криптографічного підписування даних без розкриття приватного ключа, створюючи дійсні підписи, які можуть дозволити impersonation або авторизувати шкідливі дії. +### Імперсонація через `kms:Sign` +Маючи дозвіл `kms:Sign`, актор може використовувати KMS-stored CMK для криптографічного підписання даних без розкриття приватного ключа, створюючи дійсні підписи, які можуть дозволити імперсонацію або авторизувати шкідливі дії. ```bash aws kms sign \ --key-id \ @@ -169,8 +168,8 @@ aws kms sign \ --signing-algorithm \ --message-type RAW ``` -### DoS з Custom Key Stores -Маючи дозволи на кшталт `kms:DeleteCustomKeyStore`, `kms:DisconnectCustomKeyStore` або `kms:UpdateCustomKeyStore`, зловмисник може змінити, відключити або видалити AWS KMS Custom Key Store (CKS), зробивши його master keys нефункціональними. Це порушує операції шифрування, дешифрування та підписування для будь-яких сервісів, що покладаються на ці ключі, і може спричинити негайний denial-of-service. Тому обмеження та моніторинг цих дозволів є критично важливими. +### DoS with Custom Key Stores +Маючи дозволи на кшталт `kms:DeleteCustomKeyStore`, `kms:DisconnectCustomKeyStore` або `kms:UpdateCustomKeyStore`, зловмисник може змінити, відключити або видалити AWS KMS Custom Key Store (CKS), зробивши його майстер-ключі непридатними для роботи. Це порушує операції шифрування, дешифрування та підписування для будь-яких сервісів, які залежать від цих ключів, і може спричинити негайний denial-of-service. Тому обмеження та моніторинг цих дозволів є критично важливими. ```bash aws kms delete-custom-key-store --custom-key-store-id