FraudJun 24, 2015

Slave Malware Analysis: Evolving From IBAN Swaps to Persistent Webinjects

Slave is financial malware written in Visual Basic. Since 2015 it has evolved from relatively simple IBAN swapping.

2 min read

[@portabletext/react] Unknown block type "downloadButton", specify a component for it in the `components.types` prop

Slave1 is financial malware written in Visual Basic. Since 2015 it has evolved from relatively simple IBAN swapping of destination bank account numbers to stealthy browser infection, function hooking, and unique webinjects.

Slave conducts its attack by hooking the Internet browser functions and manipulating their code for various fraudulent activities. This manipulation can be used for fraudulent activities such as credentials theft, identity theft, IBAN swapping, and fraudulent fund transfers.

Two weeks before the discovery of Slave, the F5 research team analyzed an unknown malware variant that was used for swapping IBAN numbers—a technique used by fraudsters to swap the destination account number before a funds transfer takes place. Static analysis has shown a strong relationship between the two malware samples, implying that Slave started out with a simple IBAN swap capability and later advanced to more advanced capabilities such as persistency and Zeus-style webinjects.

Upon infection, Slave writes a copy of itself to C:\Documents and Settings\Administrator\ Application Data\startup\. The malware then sets a startup registry key for sys.exe and starts the sys.exe process. To maintain its stealthy browser infection method after each reboot, Slave creates a registry key with a random name, disguised as "Internet Explorer", which will automatically start a complement copy of the malware binary file.

This technique will dynamically change the malware executable file name after each reboot for additional stealth. The malware does not clear its previous entries, so after a couple of reboots, the registry is cluttered with multiple copies of these randomized registry keys.

To see the full version of this article, click "Download" below.

[@portabletext/react] Unknown block type "downloadButton", specify a component for it in the `components.types` prop
Share
Tags:Access,Client,Client-Side Attacks,Credential Stuffing,Cybercrime,Fraud,IBAN swap,Injection,Man in the Middle,Phishing,slave,Threat Research,Threats,Trojan

About the authors

Nathan Jester

Nathan Jester

SOC Analyst | F5

Nathan Jester is a contributing author for F5 Labs.

More research by Nathan Jester
Elman Reyes

Elman Reyes

SOC Analyst | F5

Elman Reyes is a SOC Analyst at F5 and a contributor to F5 Labs.

More research by Elman Reyes
Julia Karpin

Julia Karpin

Principal Security Engineer | F5

Julia Karpin is a senior malware researcher on the F5 security research team. She has been dealing with financial malware and its shenanigans for most of the current decade. Her main interest is Windows and Android malware, reverse engineering and automating every research aspect that can be automated. She has been a speaker at various security conferences, including REcon (@reconmtl), Virus Bulletin (@virusbtn), and OWASP Israel (@OWASPIL).

More research by Julia Karpin
Pavel Asinovsky

Pavel Asinovsky

Malware Researcher | F5

Pavel Asinovsky is a contributing author for F5 Labs.

More research by Pavel Asinovsky