# AWS - S3 Persistensie

{{#include ../../../../banners/hacktricks-training.md}}

## S3

Vir meer inligting, sien:

{{#ref}}
../../aws-services/aws-s3-athena-and-glacier-enum.md
{{#endref}}

### KMS Client-Side Encryption

Wanneer die enkripsieproses klaar is, sal die gebruiker die KMS API gebruik om 'n nuwe sleutel te genereer (`aws kms generate-data-key`) en hy sal die gegenereerde enkripsiesleutel **in die metadata** van die lêer stoor ([python code example](https://aioboto3.readthedocs.io/en/latest/cse.html#how-it-works-kms-managed-keys)) sodat dit by dekripsie weer met KMS gedekripteer kan word:

<figure><img src="../../../images/image (226).png" alt=""><figcaption></figcaption></figure>

Daardeur kan 'n aanvaller hierdie sleutel uit die metadata kry en dit met KMS dekodeer (`aws kms decrypt`) om die sleutel te bekom wat gebruik is om die inligting te enkripteer. Op hierdie manier sal die aanvaller die enkripsiesleutel hê, en as daardie sleutel hergebruik word om ander lêers te enkripteer, sal hy dit ook vir daardie lêers kan gebruik.

### Gebruik van S3 ACLs

Alhoewel ACLs van buckets gewoonlik gedeaktiveer is, kan 'n aanvaller met genoegsame bevoegdhede dit misbruik (indien geaktiveer of as die aanvaller dit kan aktiveer) om toegang tot die S3 bucket te behou.

{{#include ../../../../banners/hacktricks-training.md}}
