Security researchers with Juniper Networks’ Threat Labs warn of a new Python-based backdoor targeting VMware ESXi virtualization servers.
The targeted servers were impacted by known security defects (such as CVE-2019-5544 and CVE-2020-3992) that were likely used for initial compromise, but what caught the researchers’ attention was the simplicity, persistence, and capabilities of the deployed backdoor.
As part of the attack, the threat actor modified a total of four files on the target, which the system backs up and restores after reboot, to ensure the persistent execution of a Python script at startup.
The attackers also attempted to hide the backdoor’s presence on the system by modifying file timestamps and by choosing specific files that would raise little suspicion on a virtualization host.
According to Juniper Threat Labs, the Python script can be used on Linux and other UNIX-like systems as well, but it appears to have been designed to target ESXi specifically.
The Python script was designed to launch a simple webserver that can execute remote commands or launch a reverse shell on the host, based on received password-protected POST requests.
The reverse shell, which can bypass firewall restrictions and can be used even if the infected system is not connected to the internet, supports a sequence of piped commands that is meant “to work around limitations in the netcat version available on ESXi.”
According to Juniper Threat Labs, the attackers also modified the configuration of the ESXi reverse HTTP proxy, so that a reverse proxy is instructed to forward to port 8307 specific external requests, which provides the attackers with access to the malicious webserver.
The same as the Python script, the reverse proxy configuration is persistent.
To stay protected, organizations are advised to ensure that their appliances are properly patched and that incoming network connections are restricted to trusted hosts. VMware ESXi users are also advised to check the contents of the four targeted files and to check all persistent system files for any signs of unauthorized modifications.