# AWS - S3 Persistence {{#include ../../../banners/hacktricks-training.md}} ## S3 Для отримання додаткової інформації перегляньте: {{#ref}} ../aws-services/aws-s3-athena-and-glacier-enum.md {{#endref}} ### KMS Client-Side Encryption Коли процес шифрування завершено, користувач використовує KMS API для генерації нового ключа (`aws kms generate-data-key`) і **зберігає згенерований зашифрований ключ у метаданих** файлу ([python code example](https://aioboto3.readthedocs.io/en/latest/cse.html#how-it-works-kms-managed-keys)), щоб під час розшифровки його можна було знову розшифрувати за допомогою KMS:
Отже, зловмисник може отримати цей ключ з метаданих і розшифрувати його за допомогою KMS (`aws kms decrypt`), щоб отримати ключ, використаний для шифрування інформації. Таким чином, зловмисник отримає ключ шифрування, і якщо цей ключ повторно використовується для шифрування інших файлів, він зможе його використовувати. ### Using S3 ACLs Хоча зазвичай ACL для бакетів вимкнені, зловмисник з достатніми привілеями може їх зловживати (якщо вони увімкнені або якщо зловмисник може їх увімкнути), щоб зберегти доступ до S3 бакету. {{#include ../../../banners/hacktricks-training.md}}