# Amazon Macie

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

## Macie

Amazon Macie si distingue come un servizio progettato per **rilevare, classificare e identificare automaticamente i dati** all'interno di un account AWS. Sfrutta **l'apprendimento automatico** per monitorare e analizzare continuamente i dati, concentrandosi principalmente sul rilevamento e sull'allerta contro attività insolite o sospette esaminando i dati degli **eventi di cloud trail** e i modelli di comportamento degli utenti.

Caratteristiche principali di Amazon Macie:

1. **Revisione attiva dei dati**: Utilizza l'apprendimento automatico per rivedere attivamente i dati mentre si verificano varie azioni all'interno dell'account AWS.
2. **Rilevamento delle anomalie**: Identifica attività irregolari o modelli di accesso, generando avvisi per mitigare i potenziali rischi di esposizione dei dati.
3. **Monitoraggio continuo**: Monitora e rileva automaticamente nuovi dati in Amazon S3, impiegando l'apprendimento automatico e l'intelligenza artificiale per adattarsi ai modelli di accesso ai dati nel tempo.
4. **Classificazione dei dati con NLP**: Utilizza l'elaborazione del linguaggio naturale (NLP) per classificare e interpretare diversi tipi di dati, assegnando punteggi di rischio per dare priorità ai risultati.
5. **Monitoraggio della sicurezza**: Identifica dati sensibili per la sicurezza, inclusi chiavi API, chiavi segrete e informazioni personali, aiutando a prevenire perdite di dati.

Amazon Macie è un **servizio regionale** e richiede il ruolo IAM 'AWSMacieServiceCustomerSetupRole' e un AWS CloudTrail abilitato per funzionare.

### Sistema di Allerta

Macie categorizza gli avvisi in categorie predefinite come:

- Accesso anonimizzato
- Conformità dei dati
- Perdita di credenziali
- Escalation dei privilegi
- Ransomware
- Accesso sospetto, ecc.

Questi avvisi forniscono descrizioni dettagliate e suddivisioni dei risultati per una risposta e risoluzione efficaci.

### Caratteristiche del Dashboard

Il dashboard categorizza i dati in varie sezioni, tra cui:

- Oggetti S3 (per intervallo di tempo, ACL, PII)
- Eventi/utenti CloudTrail ad alto rischio
- Località delle attività
- Tipi di identità utente CloudTrail, e altro ancora.

### Categorizzazione degli Utenti

Gli utenti sono classificati in livelli in base al livello di rischio delle loro chiamate API:

- **Platino**: Chiamate API ad alto rischio, spesso con privilegi di amministratore.
- **Oro**: Chiamate API relative all'infrastruttura.
- **Argento**: Chiamate API a rischio medio.
- **Bronzo**: Chiamate API a basso rischio.

### Tipi di Identità

I tipi di identità includono Root, utente IAM, Ruolo Assunto, Utente Federato, Account AWS e Servizio AWS, indicando la fonte delle richieste.

### Classificazione dei Dati

La classificazione dei dati comprende:

- Tipo di Contenuto: Basato sul tipo di contenuto rilevato.
- Estensione del File: Basato sull'estensione del file.
- Tema: Categorizzato per parole chiave all'interno dei file.
- Regex: Categorizzato in base a specifici modelli regex.

Il rischio più alto tra queste categorie determina il livello di rischio finale del file.

### Ricerca e Analisi

La funzione di ricerca di Amazon Macie consente query personalizzate su tutti i dati di Macie per un'analisi approfondita. I filtri includono Dati CloudTrail, proprietà del Bucket S3 e Oggetti S3. Inoltre, supporta l'invito di altri account a condividere Amazon Macie, facilitando la gestione collaborativa dei dati e il monitoraggio della sicurezza.

## Elenco dei Risultati con la Console AWS

Dopo aver scansionato un determinato bucket S3 per segreti e dati sensibili, verranno generati risultati e visualizzati nella console. Gli utenti autorizzati con permessi sufficienti possono visualizzare e elencare questi risultati per ciascun lavoro.

<img width="1438" alt="Screenshot 2025-02-10 at 19 08 08" src="https://github.com/user-attachments/assets/4420f13e-c071-4ae4-946b-6fe67449a9f6" />


## Rivelazione del Segreto

Amazon Macie fornisce una funzione che visualizza i segreti rilevati in formato testo chiaro. Questa funzionalità aiuta nell'identificazione dei dati compromessi. Tuttavia, visualizzare i segreti in testo chiaro non è generalmente considerata una buona pratica a causa di preoccupazioni di sicurezza, poiché potrebbe potenzialmente esporre informazioni sensibili.

<img width="596" alt="Screenshot 2025-02-10 at 19 13 53" src="https://github.com/user-attachments/assets/31c40c29-0bba-429b-8b86-4e214d1aef66" />

<img width="1154" alt="Screenshot 2025-02-10 at 19 15 11" src="https://github.com/user-attachments/assets/df616e56-a11a-41da-ac69-0bea37d143a5" />

### Enumerazione
```bash
# Get buckets
aws macie2 describe-buckets

# Org config
aws macie2 describe-organization-configuration

# Get admin account (if any)
aws macie2 get-administrator-account
aws macie2 list-organization-admin-accounts # Run from the management account of the org

# Get macie account members (run this from the admin account)
aws macie2 list-members

# Check if automated sensitive data discovey is enabled
aws macie2 get-automated-discovery-configuration

# Get findings
aws macie2 list-findings
aws macie2 get-findings --finding-ids <ids>
aws macie2 list-findings-filters
aws macie2 get -findings-filters --id <id>

# Get allow lists
aws macie2 list-allow-lists
aws macie2 get-allow-list --id <id>

# Get different info
aws macie2 list-classification-jobs
aws macie2 describe-classification-job --job-id <Job_ID>
aws macie2 list-classification-scopes
aws macie2 list-custom-data-identifiers
aws macie2 get-custom-data-identifier --id <Identifier_ID>

# Retrieve account details and statistics
aws macie2 get-macie-session
aws macie2 get-usage-statistic
```
### Privesc

{{#ref}}
../aws-privilege-escalation/aws-macie-privesc/README.md
{{#endref}}

### Post Exploitation

> [!TIP]
> Dal punto di vista di un attaccante, questo servizio non è progettato per rilevare l'attaccante, ma per rilevare informazioni sensibili nei file memorizzati. Pertanto, questo servizio potrebbe **aiutare un attaccante a trovare informazioni sensibili** all'interno dei bucket.\
> Tuttavia, forse un attaccante potrebbe anche essere interessato a interromperlo per impedire alla vittima di ricevere avvisi e rubare più facilmente quelle informazioni.

TODO: PRs are welcome!

## References

- [https://cloudacademy.com/blog/introducing-aws-security-hub/](https://cloudacademy.com/blog/introducing-aws-security-hub/)


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