Il 4 febbraio scoro il CSIRT Italia ha diramato un bollettino, poi ripreso in un comunicato stampa dell’Agenzia per la Cybersicurezza Nazionale, in merito allo sfruttamento massivo della vulnerabilità CVE-2021–21974 in VMware ESXi che ha consentito ad attori delle minacce di condurre attacchi a livello globale usando il ransomware ESXiArgs, così come avevamo riportato nel nostro articolo di ieri.
Dal grafico seguente si può vedere come, attualmente, in Italia sono 5 i server ESXi vittime degli attacchi ransomware ESXiArgs, a fronte dei 791 server affetti in tutto il mondo.
Fonte: Osservatorio Cybersecurity di Exprivia.
Purtroppo questi numeri possono sia diminuire che aumentare. Diminuire perché gli amministratori di sistemi possono mettere offline i server fisici compromessi e aumentare perché nuovi server vengono compromessi.
Tralasciando per un momento l’attacco ai server VMware ESXi in corso, è utile soffermarsi su un aspetto non di poco conto. Attualmente in Italia risultano esposti su Internet ben 1.018 server VMware ESXi e in particolare la Login Page che, mediante un attacco di tipo brute force sulle password, consente di risalire alle credenziali d’accesso della console.
Purtroppo, le brutte notizie non finiscono qui perché dei 1.018 server VMware ESXi esposti su internet, il 78% presenta una vecchia versione del sistema operativo, quindi con diverse vulnerabilità presenti e non ancora risolte.
Fonte: Osservatorio Cybersecurity di Exprivia.
Gli attaccanti, dunque, prendono di mira i server VMware ESXi privi di patch di sicurezza sfruttando, come pubblicato dal CSIRT Italiano, la vulnerabilità CVE-2021-21974, resa nota il 4 gennaio 2021 e già patchata dal vendor il 23 febbraio 2021.
Qualora sfruttata, tale vulnerabilità, con score CVSS v3 pari a 8.8, di tipo “heap buffer overflow” sulla componente OpenSLP, può portare all’esecuzione di codice arbitrario da remoto: un attaccante che risiede nello stesso segmento di rete di ESXi, infatti, avendo accesso alla porta 427(porta utilizzata dal servizio SLP) può sfruttare la vulnerabilità del servizio OpenSLP con conseguente esecuzione di codice remoto.
Le versioni di VMware ESXi affette da tale vulnerabilità sono:
- VMware ESXi 6.5
- VMware ESXi 6.7
- VMware ESXi 7.0
- VMware Cloud Foundation (ESXi) 3.x
- VMware Cloud Foundation (ESXi) 4.x
Indice degli argomenti
I dettagli del nuovo ransomware ESXiArgs
Sul server ESXi violato, vengono scaricati remotamente e salvati nella cartella /tmp i seguenti file:
- Encrypt: l’eseguibile ELF dell’encrypt;
- encrypt.sh: uno script che esegue varie attività prima di eseguire l’encrypt;
- public.pem: chiave RSA pubblica utilizzata per crittografare un file;
- motd: la nota di riscatto in formato testo che verrà copiata in /etc/motd in modo che venga mostrata all’accesso. Il file originale del server verrà copiato in /etc/motd1;
- index.html: la nota di riscatto in formato HTML che sostituirà la home page di VMware ESXi. Il file originale del server verrà copiato in index1.html nella stessa cartella.
Il ransomware crittografa i file con le estensioni prende di mira specificamente i file delle macchine virtuali “.vmdk”, “.vmx”, “.vmxf”, “.vmsd”, “.vmsn”, “.vswp”, “.vmss”, “.nvram”,”*.vmem” sui server ESXi compromessi e crea un file .args per ogni documento crittografato con metadati.
A questo punto, lo script “encrypt.sh” eseguirà il seguente comando per modificare i file di configurazione della macchina virtuale ESXi (.vmx) in modo che le stringhe .vmdk e .vswp vengano modificate in 1.vmdk e 1.vswp.
Successivamente, lo script spegnerà tutte le macchine virtuali, forzando l’arresto di tutti i processi che contengono la stringa vmx (utilizzando il comando kill -9).
Quindi, lo script otterrà la lista dei volumi ESXi presenti sull’host e per ogni file trovato, lo script creerà un file [file_name].args nella stessa cartella. Per esempio, virtual_machine1.vmx avrà un file associato virtual_machine1.vmx.args.
Lo script utilizzerà, successivamente, l’eseguibile “encrypt” per crittografare i file.
Infine, dopo la crittografia, lo script sostituirà il file ESXi index.html e il file motd del server con le note di riscatto.
Come mitigare l’attacco ransomware a VMware ESXi
Gli amministratori dei server VMware ESXi devono garantire che quelli senza patch siano protetti da firewall, senza porte esposte. Per far questo, è necessario seguire questi passaggi:
- accedere agli host ESXi utilizzando una sessione SSH (ad es. putty);
- arrestare il servizio SLP sull’host ESXi con questo comando: /etc/init.d/slpd stop. Il servizio SLP può essere interrotto solo quando il servizio non è in uso; per controllare lo stato operativo del demone SLP: esxcli system slp stats get.
- eseguire questo comando: esxcli network firewall ruleset set -r CIMSLP -e 0. Questo comando disabilita il set di regole del firewall per il servizio “CIMSLP” su un host ESXi. L’opzione “-r” specifica il nome del set di regole del firewall da modificare e l’opzione “-e” imposta lo stato abilitato del set di regole. Un valore di “0” significa che il set di regole del firewall è disabilitato, mentre un valore di “1” significa che è abilitato.
- chkconfig slpd off, per rendere questa modifica persistente tra i riavvii.
Per rimuovere il messaggio banner di riscatto quando ci si collega in SSH, rimuovere o eliminare il contenuto del file /etc/motd.
Infine, si consiglia di aggiornare ESXi con l’ultima patch di sicurezza.
Per verificare se un server ESXi ha attivo il servizio Service Discovery Protocol (SLP) è possibile eseguire il seguente comando in una determinata sottorete tramite qualsiasi client SLP:
~$ slptool findsrvs VMwareInfrastructureservice:VMwareInfrastructure://esxhost1.mydatacenter.com,427