Translated ['src/pentesting-cloud/aws-security/aws-privilege-escalation/

This commit is contained in:
Translator
2025-02-15 01:16:04 +00:00
parent 8d72629c52
commit 3118e52db4
3 changed files with 24 additions and 126 deletions

View File

@@ -1,25 +1,37 @@
# Amazon Macie - Bypass `Reveal Sample` Integrity Check
# AWS - Macie Privesc
{{#include ../../../banners/hacktricks-training.md}}
## Macie
Per ulteriori informazioni su Macie, controlla:
{{#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 personali identificabili (PII) e altri dati riservati. Quando Macie identifica una credenziale sensibile, come una chiave segreta AWS memorizzata in un bucket S3, genera un finding che consente al proprietario di visualizzare un "campione" dei dati rilevati. Tipicamente, una volta che il file sensibile è stato rimosso dal bucket S3, ci si aspetta che il segreto non possa più essere recuperato.
Tuttavia, è stato identificato un **bypass** in cui un attaccante con permessi sufficienti può **ri-caricare un file con lo stesso nome** ma contenente dati fittizi diversi e non sensibili. Questo fa sì che Macie associ il file appena caricato con il finding originale, consentendo all'attaccante di utilizzare la **funzione "Reveal Sample"** per estrarre il segreto precedentemente rilevato. Questo problema rappresenta un rischio significativo per la sicurezza, poiché i segreti che si presumevano eliminati rimangono recuperabili tramite questo metodo.
<img src="https://github.com/user-attachments/assets/c44228ae-12cd-41bd-9a04-57f503a63281" height="800" width="auto"/>
![flow](https://github.com/user-attachments/assets/7b83f2d3-1690-41f1-98cc-05ccd0154a66)
## Steps To Reproduce:
**Steps To Reproduce:**
1. Carica un file (ad es., `test-secret.txt`) in un bucket S3 con dati sensibili, come una chiave segreta AWS. Attendi che AWS Macie esegua la scansione e generi un finding.
1. Carica un file (ad es., `test-secret.txt`) in un bucket S3 con dati sensibili, come una chiave segreta AWS. Attendi che AWS Macie scansiona e genera un finding.
2. Naviga ai Findings di AWS Macie, individua il finding generato e utilizza la funzione **Reveal Sample** per visualizzare il segreto rilevato.
2. Naviga verso i Finding di AWS Macie, individua il finding generato e utilizza la funzione **Reveal Sample** per visualizzare il segreto rilevato.
3. Elimina `test-secret.txt` dal bucket S3 e verifica che non esista più.
4. Crea un nuovo file chiamato `test-secret.txt` con dati fittizi e ri-caricalo nello stesso bucket S3 utilizzando l'**account dell'attaccante**.
4. Crea un nuovo file chiamato `test-secret.txt` con dati fittizi e ri-caricalo nello stesso bucket S3 utilizzando **l'account dell'attaccante**.
5. Torna ai Findings di AWS Macie, accedi al finding originale e clicca di nuovo su **Reveal Sample**.
5. Torna ai Finding di AWS Macie, accedi al finding originale e clicca di nuovo su **Reveal Sample**.
6. Osserva che Macie rivela ancora il segreto originale, nonostante il file sia stato eliminato e sostituito con contenuti diversi **da account diversi, nel nostro caso sarà l'account dell'attaccante**.
## Summary:
**Summary:**
Questa vulnerabilità consente a un attaccante con permessi IAM AWS sufficienti di recuperare segreti precedentemente rilevati anche dopo che il file originale è stato eliminato da S3. Se una chiave segreta AWS, un token di accesso o un'altra credenziale sensibile viene esposta, un attaccante potrebbe sfruttare questo difetto per recuperarla e ottenere accesso non autorizzato alle risorse AWS. Ciò potrebbe portare a un'escalation dei privilegi, accesso non autorizzato ai dati o ulteriore compromissione delle risorse cloud, con conseguenti violazioni dei dati e interruzioni del servizio.

View File

@@ -1,116 +0,0 @@
# AWS - Macie Enum
## AWS - Macie Enum
{{#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 alla 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 il funzionamento.
### 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 una 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.
### Enumeration
```
# 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 form 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 list-classification-scopes
aws macie2 list-custom-data-identifiers
```
#### 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 sono benvenuti!
## References
- [https://cloudacademy.com/blog/introducing-aws-security-hub/](https://cloudacademy.com/blog/introducing-aws-security-hub/)
{{#include ../../../../banners/hacktricks-training.md}}