# AWS - Macie Privesc

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

## Macie

Per maggiori informazioni su Macie consulta:

{{#ref}}
../../aws-services/aws-macie-enum.md
{{#endref}}

### Amazon Macie - Bypass `Reveal Sample` Integrity Check

AWS Macie è un servizio di sicurezza che rileva automaticamente dati sensibili all'interno degli ambienti AWS, come credenziali, informazioni identificabili personalmente (PII) e altri dati riservati. Quando Macie identifica una credenziale sensibile, come una AWS secret key memorizzata in un bucket S3, genera un finding che permette al proprietario di visualizzare un "sample" dei dati rilevati. Tipicamente, una volta che il file sensibile viene rimosso dal bucket S3, ci si aspetta che il secret non possa più essere recuperato.

Tuttavia, è stato identificato un **bypass** in cui un attacker con permessi sufficienti può **re-upload a file with the same name** ma contenente dati fittizi diversi e non sensibili. Questo fa sì che Macie associ il file appena caricato al finding originale, permettendo all'attacker di utilizzare la **"Reveal Sample" feature** per estrarre il secret precedentemente rilevato. Questo problema rappresenta un significativo rischio per la sicurezza, poiché secret che si ritenevano cancellati restano recuperabili tramite questo metodo.

![flow](https://github.com/user-attachments/assets/7b83f2d3-1690-41f1-98cc-05ccd0154a66)

**Steps To Reproduce:**

1. Upload a file (e.g., `test-secret.txt`) to an S3 bucket with sensitive data, such as an AWS secret key. Wait for AWS Macie to scan and generate a finding.

2. Navigate to AWS Macie Findings, locate the generated finding, and use the **Reveal Sample** feature to view the detected secret.

3. Delete `test-secret.txt` from the S3 bucket and verify that it no longer exists.

4. Create a new file named `test-secret.txt` with dummy data and re-upload it to the same S3 bucket using **attacker's account**.

5. Return to AWS Macie Findings, access the original finding, and click **Reveal Sample** again.

6. Observe that Macie still reveals the original secret, despite the file being deleted and replaced with different content **from different accounts, in our case it will be the attacker's account**.

**Summary:**

Questa vulnerabilità permette a un attacker con sufficienti permessi AWS IAM di recuperare secret precedentemente rilevati anche dopo che il file originale è stato eliminato da S3. Se una AWS secret key, un access token o altre credenziali sensibili vengono esposte, un attacker potrebbe sfruttare questa falla per recuperarle e ottenere accesso non autorizzato alle risorse AWS. Ciò potrebbe portare a privilege escalation, accesso non autorizzato ai dati o ulteriore compromissione degli asset cloud, con conseguenti data breaches e interruzioni di servizio.
{{#include ../../../../banners/hacktricks-training.md}}
