September 06, 2012, 9:33 AM — When malware infects a machine it usually goes after the system software. But in a rare case worked on by SpiderLabs, researchers found a Trojan that had been infected by a virus, leaving both still functioning as normal.
The two pieces of attack code were found on a single point-of-sale machine owned by a client of SpiderLabs, which removed them and put the machine back into use.
IN PICTURES: The 10 worst tech screwups of 2012 (so far)
An investigation is ongoing into how the malware got there in the first place, says John Miller, a malware research manager at SpiderLabs, which is run by security vendor TrustWave.
The virus in question is a variant of the Sality family known as Win32/Sality or alternatively W32.HLLP.Sality - a well-known virus that most anti-virus platforms can detect and remove.
Win32/Sality is a polymorphic virus that infects Win32 PE portable executable files and has been around since 2003, according to a technical description of it that was posted by Symantec in August.
It replicates and infects other machines and can be used to create peer-to-peer botnets and can receive URLs from which it can download additional malicious files, Symantec says.
The second piece of malware was a banking Trojan placed on the machine to steal credit card information. Because of its placement within the point-of-sale machine system and because it was an executable, it was targeted by Sality. According to the Symantec description, Sality inserts viral code at the last section of the host file, and that viral code executes when the host is called upon to execute.
The banking Trojan was discovered because of its behavior - looking for credit card information - not through malware signature scanning, Miller says. But when it was scanned, it came up classified as a variant of Sality. But stealing credit card data was something Sality had never been seen to do, according to a SpiderLabs blog post detailing the case.
"That being said, there was one thing that this malware shared with the first one, both samples dropped the same library file (DLL) in the system32 directory, and proceeded to load it with a specific export name during runtime," the post says. In other words, the banking Trojan was acting just like Sality. It turns out that's because it had been infected by Sality, and Sality was behaving as it normally does in a host file.