Researchers warn of a new evolution of the PurpleFox botnet, operators included exploits and leverage WebSockets for C2 communication.
Researchers from TrendMicro have documented a recent evolution of the PurpleFox botnet, the experts discovered a new .NET backdoor, dubbed FoxSocket, that is highly associated with the PurpleFox operation.
Its operators have added new exploits and payloads, according to the experts, the new variant leverages WebSockets to implement more secure C2 bidirectional communication.
Currently, the new variant was employed in attacks aimed at users in the Middle East. The analysis of the C2 infrastructure revealed that the most notable activity is in the US, Turkey, UAE, Iraq, and Saudi Arabia.
The attack chain starts with the execution of PowerShell commands that fetch a malicious payload from URLs associated with multiple compromised servers. Most of the servers are located in China and belong to the infrastructure of the PurpleFox botnet.
The payload fetched by the PowerShell targets 64-bit architecture systems, it is a long script consisting of three components:
- Tater (Hot Potato – privilege escalation)
- Embedded exploit bundle binary (privilege escalation)
Upon executing the script, it will check the Windows version of the targeted host and the presence of patches for the following list of vulnerabilities:
- Windows 7/Windows Server 2008 [CVE-2020-1054 (KB4556836, KB4556843), CVE-2019-0808 (KB4489878, KB4489885, KB2882822]
- Windows 8/Windows Server 2012 [CVE-2019-1458 (KB4530702, KB4530730)]
- Windows 10/Windows Server 2019 [CVE-2021-1732 (KB4601354, KB4601345, KB4601315, KB4601319)]
“After selecting the appropriate vulnerability, it uses the PowerSploit module to reflectively load the embedded exploit bundle binary with the target vulnerability and an MSI command as arguments. As a failover, it uses the Tater module to launch the MSI command.” reads the analysis published by TrendMicro. “The goal is to install the MSI package as an admin without any user interaction.”
The MSI package first removes registry keys associated with the old Purple Fox installations if any are present, then it replaces the components of the malware with new ones.
The package also sets two registry values under the key “HKLMSYSTEMCurrentControlSetControlSession Manager” and runs a .vbs script that creates a Windows firewall rule to block incoming connections on ports 135, 139, and 445.
The final backdoor is a DLL file protected by the VMProtect.
The installer also uses a rootkit driver that hides its files, registry keys, and processes, to avoid detection.
This variant outstands for the use of WebSockets for communications.
“Afterward, the client will try to send the property PublicKey, which will be used at the C&C side on another ECDiffieHellmanCng object to generate a shared secret agreement. Eventually, this data will be sent on the WebSocket as the first key exchange message.” continues the analysis. “However, instead of sending it in cleartext, the client deploys a symmetric AES encryption for any communication over the WebSocket for the first exchange, as no shared secret is established yet, and the AES encryption will generate a default key for this first exchange. “
TrendMicro observed the following list of WebSocket commands and highlighted that there are some minor differences between variants across them.
|20||Sends the current date on the victim machine|
|30||Leaks DriveInfo.GetDrives() results info for all the drives|
|40||Leaks DirectoryInfo() results info for a specific directory|
|50||FileInfo()results info for a specific file|
|60||Recursive directory search|
|70||Executes WMI queries – ManagementObjectSearcher()|
|80||Closes the WebSocket Session|
|90||Exits the process|
|100||Spawns a new process|
|110||Downloads more data from a specific URL to the victim machine|
|120||DNS lookup from the victim machine|
|130||Leaks specific file contents from the victim machine|
|140||Writes new content to a specific location|
|150||Downloads data then write to a specific file|
|160||Renegotiates session key for symmetric encryption|
|180||Gets current process ID/Name|
|210||Returns the configuration parameter for the backdoor|
|220||Kills the process then start the new process with a different config|
|230||Kills specific process with PID|
|240||Queries internal backdoor object properties|
|260||Leaks hashes of some specific files requested|
|270||Kills list of PIDs|
|280||Deletes list of files/directories requested|
|290||Moves list of files/directories to another location|
|300||Creates new directory to a specific location|
Researchers from TrendMicro also shared a list of Indicators of Compromise for this threat.
(SecurityAffairs – hacking, PurpleFox botnet)