Un échantillon du chiffreur VMware ESXi du groupe de ransomwares Qilin a été trouvé et il pourrait s'agir de l'un des chiffreurs Linux les plus avancés et personnalisables jamais vus à ce jour.
Les entreprises se tournent de plus en plus vers des machines virtuelles pour héberger leurs serveurs, car elles permettent une meilleure utilisation des ressources disponibles en matière de processeur, de mémoire et de stockage.
En raison de cette adoption, presque tous les gangs de ransomwares ont créé des chiffreurs VMware ESXi dédiés pour cibler ces serveurs.
Alors que de nombreuses opérations de ransomware utilisent le code source divulgué de Babuk pour créer leurs chiffreurs, quelques-unes, comme Qilin, créent leurs propres chiffreurs pour cibler les serveurs Linux.
Qilin cible VMware ESXi
Le mois dernier, un chercheur en sécurité Équipe MalwareHunter a trouvé un chiffreur Linux ELF64 pour le gang de ransomware Qilin et l'a partagé avec BleepingComputer pour analyse.
Bien que le chiffreur puisse être utilisé sur les serveurs Linux, FreeBSD et VMware ESXi, il se concentre principalement sur le chiffrement des machines virtuelles et la suppression de leurs instantanés.
Le chiffreur de Qilin est construit avec une configuration intégrée spécifiant l'extension des fichiers cryptés, les processus à terminer, les fichiers à crypter ou exclure et les dossiers à crypter ou exclure.
Cependant, il inclut également de nombreux arguments de ligne de commande permettant une personnalisation approfondie de ces options de configuration et de la manière dont les fichiers sont chiffrés sur un serveur.
Ces arguments de ligne de commande incluent des options pour activer un mode de débogage, effectuer une exécution sans chiffrer aucun fichier ou personnaliser la manière dont les machines virtuelles et leurs instantanés sont chiffrés.
La liste complète des options de ligne de commande est répertoriée ci-dessous :
OPTIONS:
-d,--debug Enable debug mode (logging level set to DEBUG, disables backgrounding)
--dry-run Perform scan for files to be processed, do not modify them
-h,--help This help
-l,--log-level Set logging level. Values are from 0 for FATAL up to 5 for DEBUG
--no-df Ignore configured white-/black- lists of directories
--no-ef Ignore configured white-/black- lists of extensions
--no-ff Ignore configured white-/black- lists of files
--no-proc-kill Disables process kill
-R,--no-rename Disables rename of completed files
--no-snap-rm Disables snapshot deletion
--no-vm-kill Disables VM kill
-p,--path Specifies top-level directory for files search
--password Password for startup
-r,--rename Enables rename of completed files (default)
-t,--timer Enabled timed delay before encryption (seconds)
-w,--whitelist Use whitelists for inclusion instead of blacklists for exclusion (later is default behavior)
-y,--yes Assume answer 'yes' on all questions (script mode)
Dans l'échantillon analysé par BleepingComputer.com, le chiffreur est configuré par défaut avec les exclusions et critères de ciblage suivants :
Processus à ne pas terminer :
"kvm", "qemu", "xen"
Répertoires à exclure du chiffrement :
"/boot/", "/proc/", "/sys/", "/run/", "/dev/", "/lib/", "/etc/", "/bin/", "/mbr/", "/lib64/", "/vmware/lifecycle/", "/vdtc/", "/healthd/"
Fichiers à exclure du chiffrement :
"initrd", "vmlinuz", "basemisc.tgz", "boot.cfg", "bootpart.gz", "features.gz", "imgdb.tgz", "jumpstrt.gz", "onetime.tgz", "state.tgz", "useropts.gz"
Extensions de fichiers à exclure du chiffrement :
"v00", "v01", "v02", "v03", "v04", "v05", "v06", "v07", "v08", "v09", "b00", "b01", "b02", "b03", "b04", "b05", "b06", "b07", "b08", "b09", "t00", "t01", "t02", "t03", "t04", "t05", "t06", "t07", "t08", "t09"
Répertoires à cibler pour le chiffrement :
"/home", "/usr/home", "/tmp", "/var/www", "/usr/local/www", "/mnt", "/media", "/srv", "/data", "/backup", "/var/lib/mysql", "/var/mail", "/var/spool/mail", "/var/vm", "/var/lib/vmware", "/opt/virtualbox", "/var/lib/xen", "/var/opt/xen", "/kvm", "/var/lib/docker", "/var/lib/libvirt", "/var/run/sr-mount", "/var/lib/postgresql", "/var/lib/redis", "/var/lib/mongodb", "/var/lib/couchdb", "/var/lib/neo4j", "/var/lib/cassandra", "/var/lib/riak", "/var/lib/influxdb", "/var/lib/elasticsearch"
Fichiers à cibler pour le chiffrement :
"3ds", "3g2", "3gp", "7z", "aac", "abw", "ac3", "accdb", "ai", "aif", "aiff", "amr", "apk", "app", "asf", "asx", "atom", "avi", "bak", "bat", "bmp", "bup", "bz2", "cab", "cbr", "cbz", "cda", "cdr", "chm", "class", "cmd", "conf", "cow", "cpp", "cr2", "crdownload", "cs", "csv", "cue", "cur", "dat", "db", "dbf", "dds", "deb", "der", "desktop", "dmg", "dng", "doc", "docm", "dot", "dotm", "dotx", "dpx", "drv", "dtd", "dvi", "dwg", "dxf", "eml", "eps", "epub", "f4v", "fnt", "fon", "gam", "ged", "gif", "gpx", "gz", "h264", "hdr", "hpp", "hqx", "htm", "html", "ibooks", "ico", "ics", "iff", "image", "img", "indd", "iso", "jar", "java", "jfif", "jpe", "jpeg", "jpf", "jpg", "js", "json", "jsp", "key", "kml", "kmz", "log", "m4a", "m4b", "m4p", "m4v", "mcd", "mdbx", "mht", "mid", "mkv", "ml", "mobi", "mov", "mp3", "mp4", "mpa", "mpeg", "mpg", "msg", "nes", "numbers", "odp", "ods", "odt", "ogg", "ogv", "otf", "ova", "ovf", "pages", "parallels", "pcast", "pct", "pdb", "pdf", "pds", "pef", "php", "pkg", "pl", "plist", "png", "pptm", "prproj", "ps", "psd", "ptx", "py", "qcow", "qcow2", "qed", "qt", "r3d", "ra", "rar", "rm", "rmvb", "rtf", "rv", "rw2", "sh", "shtml", "sit", "sitx", "sketch", "spx", "sql", "srt", "svg", "swf", "tar", "tga", "tgz", "thmx", "tif", "tiff", "torrent", "ttf", "txt", "url", "vdi", "vhd", "vhdx", "vmdk", "vmem", "vob", "vswp", "vvfat", "wav", "wbmp", "webm", "webp", "wm", "wma", "wmv", "wpd", "wps", "xhtml", "xlsm", "xml", "xspf", "xvid", "yaml", "yml", "zip", "zipx"
Configurer une liste de machines virtuelles qui ne doivent pas être chiffrées est également possible.
Lors de l’exécution du chiffreur, un acteur malveillant doit spécifier le répertoire de départ du chiffrement et un mot de passe spécifique lié au chiffreur.
Une fois exécuté, le ransomware déterminera s'il s'exécute sur un serveur Linux, FreeBSD ou VMware ESXi.
S'il détecte VMware ESXi, il exécutera ce qui suit esxcli et esxcfg-advcfg commandes, que nous n'avons pas vues dans d'autres chiffreurs ESXi dans le passé.
for I in $(esxcli storage filesystem list |grep 'VMFS-5' |awk '{print $1}'); do vmkfstools -c 10M -d eagerzeroedthick $I/eztDisk > /dev/null; vmkfstools -U $I/eztDisk > /dev/null; done
for I in $(esxcli storage filesystem list |grep 'VMFS-5' |awk '{print $1}'); do vmkfstools -c 10M -d eagerzeroedthick $I/eztDisk; vmkfstools -U $I/eztDisk; done
for I in $(esxcli storage filesystem list |grep 'VMFS-6' |awk '{print $1}'); do vmkfstools -c 10M -d eagerzeroedthick $I/eztDisk > /dev/null; vmkfstools -U $I/eztDisk > /dev/null; done
for I in $(esxcli storage filesystem list |grep 'VMFS-6' |awk '{print $1}'); do vmkfstools -c 10M -d eagerzeroedthick $I/eztDisk; vmkfstools -U $I/eztDisk; done
esxcfg-advcfg -s 32768 /BufferCache/MaxCapacity
esxcfg-advcfg -s 20000 /BufferCache/FlushInterval
Expert VMware Mélissa Palmer a déclaré à BleepingComputer que ces commandes avaient probablement été copiées à partir des bulletins de support VMware pour résoudre un problème. bug connu d'épuisement du tas de mémoire VMware et augmenter les performances lors de l'exécution de commandes ESXi sur le serveur.
Avant de chiffrer les machines virtuelles détectées, le ransomware mettra d'abord fin à toutes les machines virtuelles et supprimera leurs instantanés à l'aide des commandes suivantes :
esxcli vm process list
vim-cmd vmsvc/getallvms
esxcli vm process kill -t force -w %llu
vim-cmd vmsvc/snapshot.removeall %llu > /dev/null 2>&1
Tous les fichiers ciblés seront ensuite cryptés et l'extension configurée sera ajoutée au nom du fichier.
Dans chaque dossier, une demande de rançon nommée [extension]_RECOVER.txt sera créé et contiendra des liens vers le site de négociation Tor du gang de ransomwares et les informations de connexion requises pour accéder à la page de discussion de la victime.
BleepingComputer a reçu des demandes de rançon allant de 25 000 $ à des millions de dollars.
L’opération du rançongiciel Qilin
L'opération de ransomware Qilin a été initialement lancée sous le nom d'« Agenda » en août 2022. Cependant, en septembre, elle a été rebaptisée Qilin, qu'elle continue d'exploiter à ce jour.
Comme d'autres opérations de ransomware ciblant les entreprises, Qilin violera les réseaux d'une entreprise et volera des données à mesure qu'elles se propageront latéralement vers d'autres systèmes.
Une fois la collecte des données terminée et l’obtention des informations d’identification de l’administrateur du serveur, les acteurs malveillants déploient le ransomware pour chiffrer tous les appareils du réseau.
Les données volées et les fichiers cryptés sont ensuite utilisés comme levier dans des attaques de double extorsion pour contraindre une entreprise à payer une demande de rançon.
Depuis son lancement, l’opération ransomware a connu un flux constant de victimes, mais a connu une activité accrue vers la fin de 2023.
Une récente attaque de Qilin visait le géant des pièces automobiles Yanfeng.