Comandi Cloud sulle VM: Cloud Administration Command (T1651)

La tecnica Cloud Administration Command descrive lo sfruttamento dei servizi di gestione cloud nativi — AWS Systems Manager Run Command, Azure RunCommand e i Runbook — per eseguire codice arbitrario all'interno di macchine virtuali. Il meccanismo è semplice e devastante: ogni VM cloud dispone di un agent preinstallato (SSM Agent su AWS, VM Agent su Azure) progettato per ricevere istruzioni dal piano di controllo. Un attaccante che conquista credenziali amministrative nel tenant cloud può impartire comandi a decine di VM senza mai aprire una sessione SSH o RDP.

La tecnica si colloca nella tattica Execution (TA0002), la fase della kill chain in cui l'avversario fa girare il proprio codice sul sistema bersaglio. L'aspetto insidioso è che l'esecuzione transita su canali di gestione legittimi: i comandi non generano connessioni anomale in ingresso, non richiedono porte aperte aggiuntive e vengono firmati dall'infrastruttura del cloud provider stesso.

Dall'analisi dei dati, 1 gruppo APT è stato osservato nell'utilizzo di questa tecnica, supportato da 2 tool offensivi documentati. Esiste 1 mitigazione raccomandata e una strategia di detection strutturata. Il rischio è amplificato dalla diffusione del modello Managed Service Provider: un account di amministrazione delegata compromesso può propagare l'esecuzione su ambienti multi-tenant attraverso relazioni di fiducia consolidate.


Il cuore di questa tecnica sta nel dimostrare al cliente che le credenziali cloud amministrative sono equivalenti a un accesso root su ogni VM dell'ambiente. In un engagement red team, il punto di partenza è sempre la raccolta delle credenziali: un token di sessione rubato, una service principal con permessi eccessivi, o un classico accesso da phishing su un account con ruolo Virtual Machine Contributor in Azure.

Simulazione su AWS con Pacu. Pacu (open source) è il framework di exploitation AWS sviluppato da Rhino Security Labs. Una volta configurato con le credenziali compromesse, permette di enumerare le istanze EC2 e lanciare comandi tramite SSM Run Command. La sequenza operativa prevede prima l'importazione delle chiavi nel framework, poi l'esecuzione del modulo specifico:

pacu --session redteam

All'interno della sessione interattiva, il modulo ec2__start_ssm_session permette di interagire con le istanze che hanno SSM Agent attivo. Prima dell'esecuzione, verifica le istanze raggiungibili con il modulo di enumerazione ec2__enum. L'output rivela quali istanze sono gestite da Systems Manager e quindi vulnerabili a questa catena d'attacco.

Simulazione su Azure con AADInternals. AADInternals (open source), il modulo PowerShell creato da Nestori Syynimaa, consente di sfruttare Azure RunCommand e la funzionalità Admin-on-Behalf-of (AOBO). Dopo l'importazione del modulo in una sessione PowerShell:

Import-Module AADInternals

L'operatore può autenticarsi con un token di accesso Azure e invocare l'esecuzione di script sulle VM target tramite il cmdlet Invoke-AADIntVMAgent. Questo comando sfrutta il VM Agent installato sulla macchina per eseguire codice nel contesto SYSTEM.

Via CLI nativa. Anche senza tool di terze parti, la CLI Azure permette l'esecuzione diretta:

az vm run-command invoke --resource-group <NomeRG> --name <NomeVM> --command-id RunPowerShellScript --scripts "whoami"

Su AWS, l'equivalente con la CLI ufficiale:

aws ssm send-command --instance-ids <ID_Istanza> --document-name "AWS-RunShellScript" --parameters commands="id"

Nella relazione finale, evidenzia quante VM erano raggiungibili con un singolo set di credenziali e quanto tempo è trascorso tra l'esecuzione e un'eventuale notifica — quel delta temporale è il vero indicatore di rischio per il cliente.


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

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