Attackers Encrypt VMware ESXi Server With Python Ransomware
A recently observed attack employed a Python-based ransomware variant to target an organization’s VMware ESXi server and encrypt all virtual disks, Sophos reports.
The attack involved the use of a custom Python script that, once executed on the target organization’s virtual machine hypervisor, took all VMs offline.
The attackers, Sophos’ security researchers explain, were rather quick to execute the ransomware: the encryption process started roughly three hours after initial compromise.
For initial access, the attackers compromised a TeamViewer account that did not have multi-factor authentication set up, and which was running in the background on a computer belonging to a user that had Domain Administrator credentials.
The attackers waited 30 minutes past midnight in the organization’s time zone to log in, then downloaded and executed a tool to identify targets on the network, which allowed them to find a VMware ESXi server, Sophos explains.
At around 2am, the attackers fetched an SSH client to log into the server, leveraging the built-in SSH service ESXi Shell that can be enabled on ESXi servers for management purposes.
Three hours after the network was first scanned, the attackers logged into the ESXi Shell, copied the Python script, and then executed it for each datastore disk volume, thus encrypting the virtual disk and settings files for virtual machines.
The script is only 6kb in size, but allows attackers to configure it with multiple encryption keys, as well as with various email addresses and with the file suffix to be appended to encrypted files.
According to Sophos, the script contains multiple hardcoded encryption keys, and a routine for generating even more keys, which led the researchers to the conclusion that the ransomware creates a unique key at each run.
Thus, in this particular attack, because the attackers executed the script separately for each of the three targeted ESXi datastores, a new key was created for each encryption process. The script doesn’t transmit the keys but instead writes them to the filesystem, encrypted with the hardcoded public key.
“Python is pre-installed on Linux-based systems such as ESXi, and this makes Python-based attacks possible on such systems. ESXi servers represent an attractive target for ransomware threat actors because they can attack multiple virtual machines at once, where each of the virtual machines could be running business-critical applications or services,” Andrew Brandt, principal researcher at Sophos, said.