AWS - S3 Post Exploitation

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

S3

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

AWS - S3, Athena & Glacier Enum

Чутлива інформація

Іноді ви зможете знайти чутливу інформацію у читабельному вигляді в корзинах. Наприклад, секрети стану terraform.

Перехід

Різні платформи можуть використовувати S3 для зберігання чутливих активів. Наприклад, airflow може зберігати код DAGs там, або веб-сторінки можуть безпосередньо обслуговуватися з S3. Атакуючий з правами на запис може змінювати код з корзини для перехоплення на інші платформи або захоплення облікових записів, змінюючи JS файли.

Ransomware для S3

У цьому сценарії атакуючий створює ключ KMS (служба керування ключами) у своєму власному обліковому записі AWS або іншому компрометованому обліковому записі. Потім він робить цей ключ доступним для кожного в світі, дозволяючи будь-якому користувачеві, ролі або обліковому запису AWS шифрувати об'єкти за допомогою цього ключа. Однак об'єкти не можуть бути розшифровані.

Атакуючий ідентифікує цільовий бакет S3 та отримує доступ на рівні запису до нього за допомогою різних методів. Це може бути через погану конфігурацію бакета, яка викладає його публічно або через отримання доступу атакуючого до самого середовища AWS. Атакуючий зазвичай спрямовується на бакети, які містять чутливу інформацію, таку як особиста ідентифікаційна інформація (PII), захищена інформація про здоров'я (PHI), журнали, резервні копії та інше.

Для визначення можливості атаки ransomware на бакет, атакуючий перевіряє його конфігурацію. Це включає перевірку, чи включено версіювання об'єктів S3 та чи включено видалення з багаторазовим підтвердженням (MFA delete). Якщо версіювання об'єктів не включено, атакуючий може продовжувати. Якщо версіювання об'єктів включено, але видалення MFA вимкнено, атакуючий може вимкнути версіювання об'єктів. Якщо як версіювання об'єктів, так і видалення MFA увімкнено, атакуючому стає складніше використовувати ransomware для цього конкретного бакета.

За допомогою API AWS атакуючий замінює кожен об'єкт у бакеті зашифрованою копією за допомогою свого ключа KMS. Це ефективно шифрує дані в бакеті, роблячи їх недоступними без ключа.

Для тиску атакуючий планує видалення ключа KMS, використаного в атаку. Це дає цілі 7-денний термін для відновлення своїх даних до видалення ключа і остаточної втрати даних.

Нарешті, атакуючий може завантажити останній файл, зазвичай названий "ransom-note.txt", який містить інструкції для цілі про те, як отримати свої файли. Цей файл завантажується без шифрування, ймовірно, щоб привернути увагу цілі та повідомити її про атаку ransomware.

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

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

Last updated