A new Trojan malware program targets point of sale (PoS) terminals, stealing payment card data that can be abused by cybercriminals, according to researchers.
The new malware has been dubbed as PoSeidon by researchers from Cisco’s Security Solutions (CSS) and, like most point-of-sale malwares, PoSeidon scans the RAM of infected terminals for unencrypted strings that match credit card information using memory scraping.
This sensitive information is available in plain text in the memory of a PoS system while it’s being processed by the specialized merchant software running on the terminal.
Security experts have long called for the use of end-to-end encryption technology to protect payment card data from the card reader all the way to the payment service provider, but the number of systems with this capability remains low.
The CSS researchers have identified three malware components that are likely associated with PoSeidon - a keylogger, a loader and a memory scraper that also has keylogging functionality.
The keylogger is designed to steal credentials for the LogMeIn remote access application. It deletes encrypted LogMeIn passwords and profiles that are stored in the system registry in order to force users to type them again, at which point it will capture them.
The CSS researchers believe this keylogger is potentially used to steal remote access credentials that are needed to compromise point-of-sale systems and install PoSeidon.
Past studies have showed that PoS terminals are typically compromised through stolen or brute-forced remote access credentials, as many of them are configured for remote technical support.
Once the PoSeidon attackers get access to a PoS terminal, they install a component known as a loader. This component creates the registry keys needed to maintain the infection’s persistence across system reboots and downloads another file called FindStr from a hard-coded list of command-and-control (C&C) servers.
As its name implies, FindStr is used to find strings that match payment card numbers in the memory of running processes.
“The malware only looks for number sequences that start with: 6, 5, 4 with a length of 16 digits (Visa, Mastercard),” CSS researchers said.
The Trojan then verifies that the captured strings are actually credit card numbers by using an algorithm known as the Luhn formula, and uploads them to one of several command-and-control servers along with other data captured through its key logging functionality.
Unlike other PoS memory scrapers that store captured payment card data locally until attackers log in to download it, PoSeidon communicates directly with external servers and can update itself automatically. It also has defenses against reverse engineering.