Généralement, les attaques de ransomwares ciblent les ordinateurs physiques et les machines virtuelles fonctionnant sous Windows, et moins fréquemment sous macOS et Linux. Malheureusement, les cybercriminels continuent de développer de nouvelles versions de ransomwares capables d’infecter d’autres systèmes d’exploitation via de nouvelles vulnérabilités découvertes. Un exemple récent a été l’attaque par ransomware ESXi qui a touché les hyperviseurs VMware en exploitant des vulnérabilités d’ESXi, entraînant des temps d’arrêt importants dans des organisations à travers le monde.
Cet article de blog explique à quel point les attaques de ransomware sont dangereuses, comment le ransomware peut infecter un hôte ESXi et comment se protéger contre les ransomwares, y compris contre le ransomware ESXi Args.
Le Début d’une Campagne de Ransomware ESXi
Les premiers cas d’attaques de ransomwares ESXi ont été enregistrés en octobre 2022 lorsque VMware a mis fin au support général d’ESXi 6.5 et 6.7. Un grand nombre d’hôtes ESXi ont été infectés en France, en Allemagne, aux États-Unis, au Canada, au Royaume-Uni et dans d’autres pays. En février 2023, il y avait plus de 3 000 hôtes ESXi infectés avec des données chiffrées et aucun moyen de récupération. Les noms de ransomwares ayant attaqué les hôtes ESXi sont ESXiArgs, Royal et Cl0p. De plus, de nouvelles familles de ransomwares ESXi sont apparues telles que RansomEXX, Lockbit, BlackBasta, Cheerscrypt, Hive, RedAlert/N13V, et d’autres.
Les hôtes ESXi sont attractifs pour les attaquants car la virtualisation de serveurs est devenue plus populaire, et de nombreuses organisations utilisent des machines virtuelles pour leurs environnements de production. En conséquence, les créateurs de ransomware se sont concentrés sur le lancement d’attaques de ransomware VMware ESXi dans l’espoir de réaliser d’énormes profits. Infecter un hôte ESXi permet aux attaquants de chiffrer/détruire les données de plusieurs machines virtuelles résidant sur cet hôte. Cette approche peut être plus efficace que d’infecter des VM, qui peuvent exécuter différents systèmes d’exploitation. L’attaque de ransomware ESXi Args était l’une des plus grandes attaques de ransomware pour les serveurs non-Windows.
Quelles Versions d’ESXi Sont Vulnérables aux Ransomwares ESXi?
Les ransomwares ESXi exploitent différentes vulnérabilités, notamment CVE-2022-31699, CVE-2021-21995, CVE-2021-21974, CVE-2020-3992 et CVE-2019-5544.
Le ransomware ESXi Args utilise CVE-2021-21974 pour infecter un hôte ESXi. Il s’agit d’une vulnérabilité découverte en 2021 et peut survenir sur des hôtes ESXi qui ne sont pas encore corrigés/mis à jour. Il s’agit d’une vulnérabilité de débordement de tas dans le service OpenSLP qui s’exécute sur ESXi. Un correctif pour CVE-2021-21974 a été publié le 21 février 2021.
Les versions ESXi suivantes sont vulnérables à CVE-2021-21974:
- ESXi 7.x avant ESXi70U1c-17325551
- ESXi 6.7.x avant ESXi670-202102401-SG
- ESXi 6.5.x avant ESXi650-202102101-SG
Pourquoi y avait-il autant de serveurs non patchés et pourquoi étaient-ils accessibles depuis Internet ? Le patching nécessite une interruption du serveur ESXi, et avec un grand nombre d’hôtes, certains administrateurs peuvent ne pas avoir les ressources ou le temps nécessaires pour les patcher à temps. De plus, les vulnérabilités d’ESXi n’étaient pas largement exploitées avant l’attaque par rançongiciel ESXi Args. Cela a créé l’illusion que les serveurs ESXi non patchés n’étaient pas une menace, et les serveurs étaient patchés lentement.
Les serveurs ESXi fonctionnant dans les entreprises de fournisseurs d’hébergement ont également été infectés par le rançongiciel ESXi Args. Les fournisseurs d’hébergement fournissaient l’infrastructure aux clients, et les clients installaient des hyperviseurs ESXi pour exécuter des machines virtuelles. Ces serveurs ESXi étaient exposés à Internet par les clients, ce qui permettait aux attaquants d’y accéder. Les attaquants voulaient que la victime paie environ 23 000 $ en bitcoins.
Comment fonctionne le rançongiciel ESXi ?
Les cybercriminels trouvent des hôtes ESXi vulnérables, en particulier ceux exposés à Internet. La méthode de compromission a été vérifiée pour exploiter une vulnérabilité OpenSLP, qui est probablement CVE-2021-21974. Le port 427 (TCP/UDP) est utilisé pour OpenSLP. Les journaux indiquent la participation de l’utilisateur dcui dans ce processus de compromission. Cette vulnérabilité du rançongiciel ESXi permet aux attaquants d’exploiter du code arbitraire à distance.
Le processus de chiffrement utilise une clé publique déployée par le logiciel malveillant, située à /tmp/public.pem. Plus précisément, ce processus de chiffrement vise les fichiers de machine virtuelle, y compris les types de fichiers tels que « .vmdk », « .vmx », « .vmxf », « .vmsd », « .vmsn », « .vswp », « .vmss », « .nvram » et les fichiers avec l’extension « .vmem ». Notez que le fichier « .vmdk » est un fichier de descripteur de disque virtuel et « –flat.vmdk » est un fichier de disque virtuel contenant des données VM. Le ransomware ESXi Args crée un fichier « .args » pour chaque fichier chiffré avec des métadonnées (probablement, les créateurs de ransomware présumant que les fichiers « .args » peuvent être nécessaires pour le déchiffrement).
Voici la séquence en détail :
- Lorsqu’un serveur est compromis, les fichiers suivants sont placés dans le répertoire /tmp :
- encrypt représente l’exécutable de chiffrement au format ELF.
- encrypt.sh sert de logique opérationnelle pour l’attaque. Il s’agit d’un script shell qui effectue diverses actions avant d’exécuter le chiffreur, comme indiqué ci-dessous.
- public.pem est une clé RSA publique utilisée pour chiffrer la clé responsable du chiffrement des fichiers.
- motd est une note de rançon textuelle qui est dupliquée dans /etc/motd, assurant son affichage lors de la connexion. Le fichier original sur le serveur sera préservé sous /etc/motd1.
- index.html est une version HTML de la note de rançon conçue pour remplacer la page d’accueil de VMware ESXi. Le fichier initial du serveur doit être sauvegardé sous le nom » index1.html » dans le même répertoire.
- Le crypteur est lancé via un script shell, qui l’appelle avec un ensemble de paramètres en ligne de commande. Ces paramètres incluent le fichier de clé publique RSA, le fichier cible à crypter, les sections de données à conserver intactes, la taille du bloc de cryptage et la taille totale du fichier.
Utilisation: crypter <clé_publique> <fichier_à_crypter> [<pas_crypt>] [<taille_bloc_crypt>] [<taille_fichier>]
Où:
- pas_crypt est le nombre de Mo à sauter lors du cryptage des fichiers
- taille_bloc_crypt est le nombre de Mo dans le bloc de cryptage
- taille_fichier est la taille du fichier en octets (pour les fichiers épars)
- L’initialisation de ce crypteur se fait via le script shell encrypt.sh, qui sert de logique sous-jacente pour l’attaque. À l’initialisation, le script procède aux actions suivantes, brièvement expliquées ci-dessous.
- Le script ransomware ESXi exécute une commande pour modifier les fichiers de configuration des machines virtuelles ESXi (.vmx) en remplaçant les occurrences de « .vmdk » et « .vswp » par « 1.vmdk » et « 1.vswp« , respectivement.
- Par la suite, le script ransomware met fin de force à toutes les machines virtuelles actuellement actives en émettant une commande « kill -9 » pour arrêter les processus contenant le mot « vmx« .
- Le ransomware tente de fermer les machines virtuelles en terminant le processus VMX pour libérer les fichiers verrouillés et les modifier. Cependant, cette fonction ne fonctionne pas de manière cohérente comme prévu, ce qui entraîne le maintien de certains fichiers verrouillés. Après la modification des fichiers VM, les VM deviennent inutilisables.
- Le script procède à la récupération d’une liste des volumes ESXi avec la commande :
esxcli storage filesystem list | grep "/vmfs/volumes/" | awk -F' ' '{print $2}
Avec cette commande, le ransomware analyse ces volumes à la recherche de fichiers portant des extensions de fichier spécifiques.
- Pour chaque fichier découvert, le script génère un fichier correspondant [nom_fichier].args dans le même répertoire. Ce fichier .args contient des paramètres calculés, y compris une étape (généralement « 1 ») et la taille du fichier. Par exemple, si le fichier est » VM01.vmx « , un fichier associé » VM01.vmx.args » est créé. Le logiciel malveillant génère un « argsfile » pour stocker les arguments transmis au binaire crypté, ce qui inclut des informations telles que le nombre de mégaoctets à sauter, la taille du bloc de cryptage et la taille du fichier.
- Ensuite, le script utilise l’exécutable » encrypt » pour crypter les fichiers en fonction des paramètres calculés.
- Après le cryptage, le script remplace le fichier » index.html » d’ESXi et le fichier » motd » du serveur par les notes de rançon mentionnées précédemment.
Il n’y a aucune preuve de transfert de données vers l’extérieur (exfiltration de données). Dans certains cas, le cryptage des fichiers peut seulement partiellement réussir, permettant à la victime de potentiellement récupérer certaines données.
Lorsque l’infection et la modification/cryptage des données sont effectués avec succès, une note de rançon comme celle-ci est affichée sur une page HTML:
« Alerte de sécurité ! Nous avons piraté votre entreprise avec succès.
…
Envoyez de l’argent dans les 3 jours, sinon nous exposerons certaines données et augmenterons le prix. »
- Par la suite, le script effectue des tâches de nettoyage, notamment la suppression des journaux et la suppression d’une porte dérobée Python située à /store/packages/vmtools.py. Il élimine également des lignes spécifiques de certains fichiers :
- /bin/hostd-probe.sh
- /var/spool/cron/crontabs/root
- /etc/rc.local.d/local.sh
- /etc/vmware/rhttpproxy/endpoints.conf
Une note critique est émise, exhortant les administrateurs à vérifier si le fichier « vmtools.py » existe sur l’hôte ESXi. S’il est trouvé, il est conseillé de le supprimer immédiatement.
- Enfin, le script exécute « /sbin/auto-backup.sh » pour mettre à jour la configuration enregistrée dans le fichier « /bootbank/state.tgz » et active SSH.
Il est également apparu que cette vulnérabilité, ainsi que d’autres vulnérabilités dans ESXi, sont activement exploitées par des groupes de ransomwares en dehors d’ESXiArgs.
REMARQUE: Le comportement du ransomware VMware ESXi peut changer avec les versions mises à jour du ransomware et les nouvelles versions de ransomware.
Comment récupérer des données après le ransomware ESXi Args
Il n’y a pas de bugs dans le mécanisme de cryptographie qui pourraient vous permettre de décrypter les fichiers chiffrés. Cependant, l’Agence américaine de cybersécurité et de sécurité des infrastructures (CISA) a créé un script qui peut aider à récupérer les machines virtuelles. La bonne nouvelle est que les fichiers VM, y compris le descripteur de disque virtuel (.vmdk), sont chiffrés, mais le fichier -flat.vmdk (où les données VM sont stockées) ne l’est pas. Cela rend la récupération des VM possible.
La CISA a introduit un script de récupération conçu pour aider les organisations touchées par le ransomware ESXi Args. Ce ransomware cible spécifiquement les serveurs ESXi, chiffre leurs fichiers de configuration et rend potentiellement les machines virtuelles (VM) inopérantes. Bien que l’outil ait été développé en collaboration avec VMware, il n’est pas directement pris en charge par VMware. Si les clients rencontrent des problèmes lors de l’utilisation de cet outil, ils sont encouragés à signaler les problèmes sur GitHub à cette adresse : https://github.com/cisagov/ESXiArgs-Recover/issues.
La CISA s’engage à traiter et résoudre rapidement les préoccupations. Pour plus de détails sur l’utilisation du script, veuillez vous référer à ce lien.
Vous pouvez également télécharger un document PDF avec des instructions.
Si vous constatez des signes qu’un hôte ESXi a été infecté par un ransomware ESXi, envisagez les mesures suivantes:
- Déconnectez l’hôte ESXi infecté du réseau.
- Ne payez pas la rançon. Le paiement de la rançon récompense les criminels informatiques et les encourage à créer plus de ransomware pour gagner plus d’argent. Si vous payez la rançon, il n’y a aucune garantie que les fichiers corrompus par le ransomware VMware ESXi seront récupérés.
- Signaler l’attaque de ransomware. Signaler un ransomware est important car cela permet une réponse rapide, une conformité juridique, une protection des données, une confiance, une atténuation des menaces et une défense collective contre les cyberattaques. Signaler une attaque de ransomware est une partie fondamentale de la gestion des incidents de cybersécurité. Cela aide non seulement les organisations individuelles à se remettre des attaques, mais contribue également à la sécurité et à la résilience globales du système numérique.
- Vérifiez si des outils de récupération ou de décryptage sont disponibles pour la version actuelle du ransomware.
- S’il n’existe pas d’outils de décryptage, restaurer les données à partir d’une sauvegarde (il faut avoir une sauvegarde créée avant une attaque de rançongiciel pour utiliser cette méthode). Parfois, il peut être plus efficace de restaurer des machines virtuelles (VM) à partir d’une sauvegarde. Pensez à une nouvelle installation d’ESXi et à copier les VM restaurées sur ce nouvel hôte ESXi pour s’assurer qu’il n’y a pas de morceaux d’infection de rançongiciel sur l’hôte où les VM restaurées sont placées.
Comment Protéger ESXi contre le Rançongiciel
Suivez les recommandations ci-dessous pour protéger ESXi contre le rançongiciel:
- Mettre à jour vos hôtes ESXi qui présentent des vulnérabilités telles que CVE-2021-21974, CVE-2022-31699, CVE-2021-21995, CVE-2020-3992 et CVE-2019-5544. Si la version de votre ESXi n’est plus prise en charge, envisagez de mettre à jour vers une version majeure qui l’est. Si vous ne pouvez pas mettre à jour ESXi, désactiver le service OpenSLP (Service Location Protocol) sur ESXi. Désactiver un service qui présente une vulnérabilité pour la version concernée d’ESXi aide également.
- Installer les correctifs de sécurité (mises à jour) régulièrement sur l’hôte ESXi pour se protéger contre les dernières menaces.
- Ne mettez pas les hôtes ESXi en contact avec Internet. Si le processus de travail exige que les hôtes ESXi soient accessibles depuis Internet par les employés et les partenaires, configurez un serveur VPN et un pare-feu. Configurez le pare-feu pour autoriser l’accès uniquement à partir d’adresses IP fiables. Se connecter au réseau via VPN pour accéder aux hôtes ESXi est sécurisé dans ce cas.
- Désactivez l’accès SSH si cet accès n’est pas nécessaire ou réglez les délais d’expiration.
- Désactivez SMB v1.0 et les autres anciennes versions de protocoles, en particulier s’ils ne sont pas utilisés.
- Utilisez la segmentation réseau pour les réseaux, y compris le réseau de gestion ESXi.
- Utilisez des mots de passe forts avec au moins 8 caractères, y compris des minuscules, des majuscules, des chiffres et des caractères spéciaux.
- Installez et configurez le monitoring de l’infrastructure pour surveiller le trafic réseau et les charges de serveur. La surveillance vous permet de détecter rapidement toute activité suspecte ou malveillante.
- Former les utilisateurs sur la protection contre les ransomwares et veiller à ce qu’ils sachent quoi faire s’ils soupçonnent qu’une attaque de ransomware ou une tentative d’attaque a eu lieu.
- Configurez une protection anti-malware pour les emails car l’envoi de liens ou de fichiers malveillants par email est une méthode populaire pour infecter les ordinateurs avec des ransomwares. Désactivez les hyperliens actifs dans les messages électroniques.
- Installer un antivirus sur les ordinateurs des utilisateurs et les serveurs. Mettre régulièrement à jour les bases de données antivirus pour le logiciel antivirus.
- Sauvegarder régulièrement vos machines virtuelles et utiliser la stratégie de sauvegarde 3-2-1. N’oubliez pas d’avoir une sauvegarde immuable ou une sauvegarde hors ligne pour vous assurer que cette sauvegarde n’est pas affectée en cas d’attaque de rançongiciel. Avoir une sauvegarde ESXi et une sauvegarde vCenter peut aider à gagner du temps lorsqu’il s’agit de récupérer des données et des charges de travail.
- Préparez un plan de réponse à un incident et faites savoir à tout le monde quoi faire en cas d’attaque de rançongiciel ESXi.
- Créez un plan de reprise après sinistre pour vous assurer que vous pouvez récupérer des données et restaurer des charges de travail dans différents scénarios. Le test de sauvegarde et le test de reprise après sinistre sont importants.
Conclusion
Les ransomwares ESXi peuvent être dévastateurs car vous pouvez perdre de nombreuses VM même si un seul hôte ESXi est infecté. La sauvegarde des données est la stratégie la plus efficace pour éviter la perte de données en cas d’attaques par ransomwares. Suivez les recommandations sur la façon de protéger ESXi contre les ransomwares qui ont été abordées ci-dessus dans cet article de blog. Utilisez NAKIVO Backup & Replication pour sauvegarder les VM résidant sur des hôtes VMware ESXi vers des référentiels immuables. De cette manière, vous pouvez utiliser ces sauvegardes résistantes aux ransomwares pour des récupérations rapides de VM complètes ou de données d’application.