The Microsoft Defender ATP Research Team has begun to discussa polymorphic threat (“Dexphot”) that it has been tracking for over a year.
ATP first picked it up when it attempted to deploy files that changed every 20-30 minutes on thousands of devices. They found that there were layers of obfuscation, encryption and the use of randomized file names hiding the installation process. It then used fileless techniques to run malicious code directly in memory, which makes analysis harder.
Dexphot has as its goal to put a cryptocurrency miner on the victim, along with monitoring services and scheduled tasks that will trigger re-infection if the defenders attempt to remove the malware.
Because of the convoluted activity of the malware, ATP says that behavior-based machine learning models were used to detect and block the threat. Due to the persistence mechanisms, polymorphism, and use of fileless techniques, behavior-based detection was a "critical component."
ATP's telemetry told it that SoftwareBundler:Win32/ICLoader and its variants were the primarily methods used to drop and run the Dexphot installer. There are two URLs used to download the malicious payload, and these are later used to establish persistence, update the malware, and re-infect the device. The URLs used for hosting all follow a similar pattern. The domain address usually ends in a .info or .net TLD, while the file name for the actual payload consists of random characters.
Dexphot halts the infection process immediately if an antivirus product is found running. As time went on, additional products were added to this abort list which shows how the malware changed.
Once installed, the payloads are run by loading them into other system processes via "process hollowing." This is when malware replaces the contents of a legitimate process with malicious code.
ATP found that memory scans could detect and terminate the loading of malicious code hidden by process hollowing -- including the monitoring processes that attempt to update the malware code and re-infect the machine via PowerShell commands.
This is needed since Dexphot regularly checks up on itself. If any of the malware processes are terminated, the monitors immediately identify the situation, terminate all remaining malicious processes, and re-infect the device. These monitors will automatically update all of Dexphot's components, both upon system reboot as well as every 90 or 110 minutes while the system is running.
Dexphot exhibits multiple layers of polymorphism across the binaries it distributes, so a traditional file-based detection approach would not be effective against it.
Dexphot is a great example of the level of complexity and rate of evolution that is happening even in "mundane" threats. These kinds of malware are intent on evading protections and motivated to fly under the radar for the prospect of profit.
— Larry Loeb has written for many of the last century's major "dead tree" computer magazines, having been, among other things, a consulting editor for BYTE magazine and senior editor for the launch of WebWeek.