Furto dalle API dei Metadati Cloud: Cloud Instance Metadata API (T1552.005)

Le API di metadati delle istanze cloud rappresentano un servizio conveniente ma pericoloso. Ogni provider cloud espone un endpoint locale all'indirizzo 169.254.169.254 che fornisce informazioni dettagliate sull'istanza in esecuzione, incluse credenziali temporanee e script di configurazione sensibili.

Questa tecnica appartiene alla tattica TA0006 - Credential Access, posizionandosi nella fase di escalation dei privilegi della kill chain. Gli attaccanti possono sfruttare l'accesso diretto all'istanza compromessa o vulnerabilità SSRF (Server-Side Request Forgery) in applicazioni web per interrogare questi endpoint.

Il gruppo TeamTNT ha dimostrato l'efficacia di questo approccio, utilizzandolo sistematicamente per compromettere ambienti cloud e distribuire cryptominer. La semplicità di esecuzione e l'alta probabilità di successo rendono questa tecnica particolarmente attraente per gli attaccanti.

L'accesso ai metadati richiede solo una semplice richiesta HTTP dall'interno dell'istanza. Su AWS EC2, il comando base per recuperare le credenziali temporanee è:

curl http://169.254.169.254/latest/meta-data/iam/security-credentials/[role-name]

Per automatizzare l'enumerazione completa dei metadati disponibili, puoi utilizzare uno script ricorsivo che esplora tutti gli endpoint. Su Linux, questo one-liner elenca tutte le informazioni accessibili:

for url in $(curl -s http://169.254.169.254/latest/meta-data/ | grep -o '[^/]/$' | sed 's//$//'); do echo "=== $url ==="; curl -s http://169.254.169.254/latest/meta-data/$url/; echo; done*

Le vulnerabilità SSRF amplificano drasticamente il rischio. Se identifichi un'applicazione web che effettua richieste HTTP basate su input utente, prova a farle interrogare l'endpoint dei metadati inserendo URL come:

http://169.254.169.254/latest/user-data http://[::ffff:169.254.169.254]/latest/meta-data/

Il tool Peirates automatizza questi attacchi in ambienti Kubernetes, permettendo di estrarre token di servizio e credenziali cloud con un singolo comando. Per simulazioni più sofisticate, Hildegard dimostra come i malware reali implementano questa tecnica per mantenere la persistenza.

Gli ambienti containerizzati presentano sfide aggiuntive. Docker e Kubernetes possono implementare restrizioni di rete che bloccano l'accesso diretto all'API. Verifica sempre la connettività con:

timeout 2 curl -s http://169.254.169.254/ || echo "Metadata API blocked"

Vuoi diventare un Ethical Hacker ma non sai da dove iniziare?

Scarica la guida gratuita e segui il percorso corretto fin dal primo passo

We use cookies

Utilizziamo i cookie sul nostro sito Web. Alcuni di essi sono essenziali per il funzionamento del sito, mentre altri ci aiutano a migliorare questo sito e l'esperienza dell'utente (cookie di tracciamento). Puoi decidere tu stesso se consentire o meno i cookie. Ti preghiamo di notare che se li rifiuti, potresti non essere in grado di utilizzare tutte le funzionalità del sito.