Iscriviti al webinar gratuito del 12 Maggio per diventare Forensic Analyst! Scopri di più
Corso Ethical Hacker: accedi alla promozione fino al 30 Aprile! Scopri di più
L'enumerazione degli account cloud è una tecnica di Discovery (TA0007) attraverso cui un avversario, dopo aver ottenuto un accesso autenticato a un ambiente cloud, raccoglie l'elenco degli utenti, dei ruoli e dei service account configurati nel tenant o nel progetto. In pratica, l'attaccante sfrutta le stesse interfacce che gli amministratori usano quotidianamente — CLI native, cmdlet PowerShell, API REST — per costruire una mappa delle identità dell'organizzazione.
L'obiettivo è duplice: da un lato individuare account con privilegi elevati (Global Admin, Owner, root) da colpire con tecniche di privilege escalation o credential theft; dall'altro identificare service account, identità di automazione e utenti dormienti che offrono superfici d'attacco meno sorvegliate. Questa ricognizione è tipicamente silenziosa, perché le chiamate API utilizzate sono operazioni di lettura legittime, difficili da distinguere dal traffico amministrativo ordinario.
La tecnica è documentata con 2 gruppi APT, 3 tool offensivi, 1 campagna e 2 mitigazioni nel framework di riferimento, a conferma della sua rilevanza trasversale sia in operazioni di spionaggio sia in campagne a scopo finanziario. Il panorama multi-cloud rende il problema pervasivo: Azure AD, AWS IAM, GCP IAM e piattaforme SaaS espongono tutti endpoint di directory enumeration che, senza controlli granulari, possono essere interrogati da qualsiasi identità autenticata.
La simulazione di questa tecnica in laboratorio richiede un ambiente cloud di test con almeno un tenant Azure AD, un account AWS e un progetto GCP. Il prerequisito è sempre lo stesso: credenziali valide, anche a basso privilegio. Molti ambienti concedono di default permessi di lettura sulla directory a tutti gli utenti autenticati, ed è proprio questa configurazione che va verificata.
Il percorso più diretto passa dal modulo AzureAD PowerShell. Con una sessione autenticata tramite Connect-AzureAD, il cmdlet Get-AzureADUser -All $true restituisce l'intera lista degli utenti del tenant. Per ottenere i membri di un ruolo specifico — ad esempio Global Administrator — si può usare il vecchio modulo MSOnline con Get-MsolRoleMember -RoleObjectId <GUID_ruolo>.
ROADTools (open source) offre un approccio più strutturato: il sotto-comando roadrecon gather scarica l'intero database di Azure AD tramite le API Graph, salvandolo in un database SQLite locale. Da lì, roadrecon gui avvia un'interfaccia web che permette di esplorare utenti, gruppi, applicazioni e service principal in modo interattivo. È uno strumento eccezionale per un red team perché cattura una snapshot completa con una singola autenticazione.
AADInternals (open source) aggiunge capacità specifiche per l'enumerazione di tenant: il cmdlet Get-AADIntUsers restituisce la lista utenti completa, mentre Get-AADIntGlobalAdmins identifica gli account con ruolo amministrativo globale. L'installazione avviene tramite Install-Module AADInternals dalla PowerShell Gallery.
Dopo aver configurato le credenziali con aws configure, i comandi chiave sono:
Pacu (open source), il framework di exploitation AWS sviluppato da Rhino Security Labs, automatizza questa fase con il modulo iam__enum_users_roles_policies_groups. Lanciando Pacu e selezionando run iam__enum_users_roles_policies_groups, lo strumento enumera sistematicamente tutte le identità IAM e le loro policy associate.
In un progetto Google Cloud, gcloud iam service-accounts list elenca i service account, mentre gcloud projects get-iam-policy <PROJECT_ID> mostra i binding tra identità e ruoli IAM. Per enumerare gli utenti del dominio Workspace collegato serve accesso all'Admin SDK o al Directory API.
In tutti i casi, la raccomandazione è documentare quali permessi minimi consentono l'enumerazione: questo dato è il vero deliverable per il cliente, perché evidenzia la superficie di lettura concessa a identità a basso privilegio.
Scarica la guida gratuita e segui il percorso corretto fin dal primo passo