Enumerazione Servizi Cloud: Cloud Service Discovery (T1526)

La tecnica T1526 - Cloud Service Discovery rientra nella tattica TA0007 (Discovery) e descrive il comportamento di un attaccante che, ottenuto un primo accesso a un tenant cloud, cerca di mappare i servizi attivi nell'ambiente compromesso. La ricognizione non si limita più al perimetro on-premise: oggi coinvolge PaaS, IaaS e SaaS, dove le API dei provider espongono un inventario ricchissimo di risorse, applicazioni, service principal, policy e integrazioni.

L'obiettivo è duplice. Da un lato, l'attore raccoglie informazioni per orientare le fasi successive della kill chain, ad esempio individuando dove risiedono dati sensibili o credenziali riutilizzabili. Dall'altro, identifica i controlli difensivi in essere — come AWS GuardDuty, Microsoft Defender for Cloud, AWS CloudTrail o Google Cloud Audit Logs — per pianificare azioni di evasione o disabilitazione mirata dei logging.

Strumenti come la Microsoft Graph API e l'Azure Resource Manager API permettono di enumerare in pochi minuti l'intero grafo di risorse accessibili a una identità compromessa. Framework offensivi noti come Stormspotter, ROADTools, AADInternals e Pacu hanno reso questa attività industrializzata. L'impatto è significativo: 1 gruppo APT tracciato (Storm-0501) e 3 tool documentati indicano una tecnica matura, spesso preludio a data exfiltration, privilege escalation o compromissioni ransomware su larga scala.

Un esercizio red team su T1526 parte sempre da un'identità già acquisita — che sia un access token, un refresh token OAuth o credenziali di un service principal. L'obiettivo del ricognitore è costruire il grafo delle risorse accessibili senza generare picchi anomali di API call.

Su Azure/Entra ID, il tool di riferimento è ROADTools (open source), che tramite il modulo roadrecon estrae l'intero tenant in un database SQLite navigabile. La sequenza tipica prevede l'autenticazione con roadrecon auth seguita da roadrecon gather per il dump completo di utenti, gruppi, applicazioni, service principal e ruoli. L'output viene poi esplorato con roadrecon gui che avvia una web UI locale. In alternativa, AADInternals (open source, PowerShell) offre cmdlet come Get-AADIntTenantDetails e Invoke-AADIntReconAsOutsider utili anche in fase di enumerazione non autenticata, sfruttando endpoint OpenID pubblici.

Stormspotter (open source, Microsoft) è complementare: genera un grafo Neo4j delle risorse Azure, utile per visualizzare relazioni di trust e percorsi di privilege escalation. Va lanciato con un service principal dotato di ruolo Reader sulla subscription target.

Sul fronte AWS, Pacu (open source, Rhino Security Labs) resta lo standard. Dopo l'import delle credenziali con set_keys, il modulo iam__enum_permissions mappa i permessi effettivi dell'identità, mentre aws__enum_account e detection__enum_services enumerano rispettivamente l'account e i servizi di detection attivi come CloudTrail, GuardDuty e CloudWatch. L'output guida la scelta dei moduli successivi — ad esempio detection__disruption per valutare l'evasione dei log.

Per chi preferisce approcci low-noise, l'AWS CLI (open source) offre chiamate mirate come aws sts get-caller-identity, aws organizations describe-organization e aws ec2 describe-regions, molto meno rumorose di una scansione massiva. Su Azure la controparte è Azure CLI (open source) con az account list, az resource list e az ad sp list --all.

Accorgimenti da laboratorio: rispetta i rate limit del provider per non triggerare protezioni automatiche, usa user-agent realistici (evita quello di default di Pacu, spesso profilato dai vendor) e ruota le sorgenti IP tramite proxy cloud legittimi se il committente autorizza test più realistici. Documenta ogni chiamata API in un log locale per la fase di reporting.

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

Accedi alle lezioni gratuite e segui il percorso corretto fin dal primo passo

TEST GRATUITO
2 minuti · 7 domande Che professionista cyber sei? Scopri il profilo più vicino al tuo modo di pensare e inizia dal percorso giusto.