02 Dec 2012 08:51 AM
The Websense® ThreatSeeker® Network has detected a malicious spam campaign that tries to exploit customers of major mobile phone companies. Specifically, we have detected thousands of emails claiming users have received MMS content via email localized to Australian and German carriers late last week:
Because mobile phone use is an everyday activity, users could be tricked into opening and running attachments, especially those that appear to come from their carriers. Once the malware is launched, it connects to a list of remote servers to download more malicious binaries. What is interesting about these samples is that they are heavily encrypted and have many anti-debug tricks. Unlike other malware, this sample deploys several decryption phases before finally executing its malicious function. Even more interesting, it implements all its tricks, like decryption and patching, only in memory.
The decryption process includes three phases. In the first phase, the malware copies itself as “C:\Documents and Settings\All Users\svchost.exe”, and registers itself as autorun by creating a Registry Key. As a result, when Windows boots up, the malware starts automatically. In one example:
Telstra-picture:656 “C:\Documents and Settings\All Users\svchost.exe" Run\SunJavaUpdateSched HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\SunJavaUpdateSched
The malware then decrypts itself, and rewrites the memory image of itself. This way, the malware does not need to create a new PE file on the disk, and the original malware becomes a totally different one in memory, even the PE header and code entry point, thus leading us to the next phase. The phase two file is encrypted too, and implements many anti-debug tricks.
Taking a dive into the anti-debug measures that modern malware uses, we see that this one detects all the running processes in the system, and tries to find “VmwareService.exe”, ”VmwareUser.exe”, ”wireshark.exe”, and other monitors or antivirus processes. It does not use plain text strings to find all the process names. Instead, it uses some self-defined hash algorithm to calculate the name of a process into a HEX string, which is commonly used in shellcode to locate all the needed APIs.
This sample also queries the registry value of “HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\disk\enum”, checking this local disk value and whether the 8-12 character of disk name references “awmw” or “xobv” or “umeq”. In other words, the malware checks to see if it's been run under VMware, VirtualBox, and QEMU (an open source processor emulator). If it has, the malware stops infecting the computer. **Notice the malware creator's typo on "awmw"; it should be "awmv".
After carefully checking its environment, the malware continues to the next phase of decrypting itself. Instead of modifying the Windows Update Agent service “wuauclt.exe” file on the disk, or trying to find the process memory of “wuauclt.exe” and inject malicious code into it, the malware maps an image of "wuauclt.exe" into memory using the “Section” kernel object. It then injects all the malicious code into the memory page, and finally executes “wuauclt.exe”.
Because the malware does not modify the Windows Update Agent on the hard disk and instead patches the process in memory using the “Section” kernel object, some monitors that hook APIs like “OpenFile” or “CreateFile” fail to catch this injection. Also, because the malware does not call “WriteProcessMemory”, it is hard for AV monitors to catch this memory injection.
This patched “wuauclt.exe” with the push-return above performs the real malicious function. It connects to several remote servers and downloads extra malicious binaries from some of them. Some of the website servers it connects to and many of the URLs are hosted at the same IP address:
It downloads malicious binaries from these remote servers:
During our analysis, some of the remote servers were still available, and the malicious binary files were still downloadable. Websense customers are protected from these and other threats by Websense ACE (Advanced Classification Engine) in multiple stages: from the very first arrival of the malicious emails to all the "phone home" C&C URLs and malicious binaries.
Don't miss our Websense® 2013 Security Predictions to read about this prediction, among others: Cybercriminals will become more "virtually aware" and find modern bypass methods to avoid detection.