The combination of the Smoke Loader backdoor and the PROPagate injection technique has shown up again in a new campaign.
As first noted by FireEye earlier this month, the injection technique allows attackers to create a Monero mining operation. (See RIG Exploit Kit Injects Code That Creates Monero Miner.)
Now, however, a new campaign detected by Cisco Talosfinds that that attackers are using the same building blocks to carry out mischief, but in a different way.
The attack starts off with a Microsoft Word document purporting to be an invoice that contains a poisoned attachment which has an embedded macro inside of it.
The macro will then download the Trickbot trojan, which then installs five additional Smoke Loader plugins. Smoke Loader avoids having to do the usual slog through the process lists to find injectable targets by calling the Windows API GetShellWindow to get a handle to the shell's desktop window, and then calling GetWindowThreadProcessId to get the process ID of Explorer.exe.
This technique also makes it easier to use the PROPagate technique to inject code into Internet Explorer.
Talos researchers found that that each plugin is given its own Explorer.exe process to execute in, and the malware uses older techniques to inject each plugin into these processes. Each Explorer.exe process is created with the option "CREATE_SUSPENDED," the shellcode is injected, then executed using ResumeThread.
Talos calls this "noisy," but it ends up with six Explorer.exe processes running on the infected machine.
Trickbot loading Smoke Loader is a reversal of the order in which things usually happen. Talos researchers think that this occurs this way because the campaign is likely an example of malware-as-a-service, with a botnet operator charging money to install third-party malware on infected computers.
The executed plugins are thought to steal information from the victim and explicitly target any stored credentials as well as sensitive information that may be transferred over a browser session.
The first plugin is the largest with approximately 2,000 functions.
Talos researches note that it contains a statically linked SQLite library for reading local database files. It targets stored information for Firefox, Internet Explorer, Chrome, Opera, QQ Browser, Outlook, and Thunderbird. The plugin also recursively searches for files named logins.json which it parses for hostname, encryptedUsername and encryptedPassword.
The second plugin looks through directories for files to parse and steal.
The third one injects into browsers to intercept credentials and cookies as they are transferred over HTTP and HTTPS, while the fourth one attempts to steal credentials for ftp, smtp, pop3, and imap. The last one tries to steal credentials from TeamViewer.exe.
There isn't a lot that Talos researchers can say to mitigate this situation.
In their report, Talos researchers note:
We strongly encourage users and organizations to follow recommended security practices, such as installing security patches as they become available, exercising caution when receiving messages from unknown third parties, and ensuring that a robust offline backup solution is in place. These practices will help reduce the threat of a compromise, and should aid in the recovery of any such attack.
All of that is good advice, mind you, but it covers almost any sort of attack. It seems to come down once again to "don't click it if you don’t know it."
— Larry Loeb has written for many of the last century's major "dead tree" computer magazines, having been, among other things, a consulting editor for BYTE magazine and senior editor for the launch of WebWeek.