A short while ago, SafenSoft reported a new family of malware, named ‘Ploutus’, that targeted a number of ATMs in Mexico (http://www.safensoft.com/archiv/n/774/1778). The malware was installed when “criminals acquired access to the ATM’s CD-ROM drive and inserted a new boot CD into it.” Many ATMs use a simple lock that is easily picked, which is likely how the attackers gained physical access to the machines. I recently acquired two copies of the Ploutus malware. In this blog post, I’ll go into some of the details of the malware and explain some of the steps I took to reverse engineer it.
Upon execution, the malware will hook the keyboard and attempt to look for certain key combinations. Specifically, if the following key combination is input into the victim device, something amazing happens:
If the attacker types this into a machine with Ploutus loaded, he or she is presented with the following:
It’s always nice when the bad guys give us a GUI. The large buttons and the drop-down menus make it appear as though this malware may have been designed for a touch screen, however, we don't know that for sure. As you can see, the bulk of the GUI is in Spanish, not surprising since the malware targeted ATMs in Mexico. To save some of you a trip to Google Translate, I’ve translated a few of the words for you below.Generar ID : Generate ID
Activar ATM : Activate ATM
Dispensar : Dispense
Salir : Exit
Billetes : Bills
Codigo De Activacion : Activation Code
With the GUI enabled, the malware allows us to execute the following key shortcuts:
F1 – Generate ID
F2 – Activate
F3 – Dispense
F4 – Disable GUI
F5 – Key Up
F6 – Key Down
F7 – Key Right
F8 – Key Left
The malware requires an activation code (as seen in the GUI screenshot above). This activation code is generated based on the month and day along with a randomized 4-digit value. We can see the activation check below:
If we follow the simple algorithm that is employed, we can successfully activate Ploutus like so:
Once it's activated, Ploutus has the ability to dispense money from the victim ATM allowing the attacker to specify the denomination and number of bills dispensed.
Overall it’s a pretty interesting sample, if only because ATM malware is somewhat rare. That’s not because it’s necessarily difficult to write. I suspect the reason ATM malware is rare is because it’s difficult to install because an attacker typically requires physical access to the machine to do so (as we saw in this situation where the attackers gained access to the ATM's CD-ROM drives). That being said, it’s still very much a real threat, and should not be taken lightly.
If you are a bank or the owner/operator of ATMs in Mexico, you will want to examine your machines for evidence of tampering. Call Trustwave for incident response services if during your examination you discover anything suspicious. Banks and ATM owner/operators outside of Mexico could also benefit from an inspection of their ATMs. Examples of targeted malware like Ploutus serve as a reminder of the importance of a thorough security review of ATMs and the back-end systems connected to them. Learn more about Trustwave's ATM security offerings here or here.