Comandi via ESXi Guest Ops: ESXi Administration Command (T1675)

La tecnica T1675 – ESXi Administration Command descrive l'abuso dei servizi di amministrazione ESXi per eseguire comandi sulle macchine virtuali guest ospitate da un hypervisor VMware. Il vettore chiave è il VMware Tools Daemon, un servizio persistente in background che gira come vmtoolsd.exe sui guest Windows, vmware-tools-daemon su macOS e vmtoolsd su Linux, e che consente all'host ESXi di orchestrare operazioni sui sistemi ospitati senza attraversare la rete guest.

Un attaccante che ha compromesso l'hypervisor può quindi bypassare completamente firewall interni, EDR di rete e segmentazione, invocando API del vSphere Web Services SDK come StartProgramInGuest, ListProcessesInGuest, ListFileInGuest e InitiateFileTransferFromGuest. Il canale è nativo, autenticato lato hypervisor e spesso invisibile agli agenti di sicurezza installati dentro il guest.

La tecnica si colloca nella tattica TA0002 (Execution) e funge da moltiplicatore per fasi successive della kill chain: File and Directory Discovery, Data from Local System e OS Credential Dumping diventano operazioni triviali una volta ottenuto un canale di esecuzione arbitrario su tutte le VM di un cluster. L'impatto è sistemico: un solo host ESXi compromesso espone potenzialmente decine o centinaia di guest. Gruppi come UNC3886 e famiglie malware come VIRTUALPITA hanno operativamente sfruttato questo pattern in intrusioni reali contro infrastrutture di virtualizzazione enterprise.

In un esercizio red team autorizzato, la simulazione di T1675 presuppone accesso amministrativo a un host ESXi di laboratorio (root o account con ruolo Administrator su vCenter). L'obiettivo è dimostrare come, partendo dall'hypervisor, si possano pivotare comandi arbitrari all'interno dei guest senza toccare la rete di produzione.

Il punto di ingresso naturale è il vSphere Web Services SDK, disponibile in versione Python come pyVmomi (open source, repository GitHub ufficiale di VMware) e in versione PowerShell come VMware PowerCLI (gratuito, fornito da Broadcom/VMware). Entrambi espongono il namespace GuestOperationsManager, che è esattamente ciò che l'attaccante userebbe.

Con PowerCLI, dopo la connessione al vCenter tramite Connect-VIServer, il comando chiave per esecuzione in-guest è Invoke-VMScript, che internamente chiama StartProgramInGuest. Un esempio didattico su un guest Windows di lab:

Invoke-VMScript -VM "lab-win-01" -ScriptText "whoami; hostname" -GuestUser "Administrator" -GuestPassword "" -ScriptType Powershell

Per trasferire file dal guest verso l'host di controllo, il cmdlet equivalente è Copy-VMGuestFile con flag -GuestToLocal, che mappa su InitiateFileTransferFromGuest. In pyVmomi lo stesso flusso richiede di istanziare GuestAuthManager con NamePasswordAuthentication, quindi chiamare processManager.StartProgramInGuest() passando un oggetto GuestProgramSpec con path del binario e argomenti.

Una catena d'attacco realistica in lab prevede tre fasi. Prima, ricognizione dei processi guest con ListProcessesInGuest per identificare EDR attivi e sessioni utente. Seconda, staging di un binario tramite InitiateFileTransferToGuest verso una directory scrivibile come C:\Windows\Temp. Terza, esecuzione via StartProgramInGuest per ottenere un beacon; framework post-exploitation come Sliver (open source) o Mythic (open source) sono adatti a questa fase perché non richiedono infrastruttura di rete verso il guest.

Per simulare adversary emulation di UNC3886 e VIRTUALPITA il pattern documentato consiste nell'invocare direttamente vmtoolsd.exe con parametri di script embedded, oppure nel deployare backdoor lato hypervisor che parlano al daemon via socket locale VMCI. Strumenti come Chimera (open source, framework di adversary emulation) permettono di scriptare l'intera catena. È fondamentale operare solo su cluster ESXi di laboratorio isolati, perché l'abuso di Guest Ops su ambienti di produzione bypassa qualsiasi controllo di rete e può causare esecuzione simultanea su decine di VM.

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.