Backdoor:OSX/DevilRobber.A silently installs applications related to Bitcoin-mining; it may also harvest data from the infected machine and listen for additional commands from a remote user.
The following instructions apply to the original version of DevilRobber:
The following instructions apply to the updated version of DevilRobber (DevilRobberV3):
Note: For both versions, subsequently continuing to use the bundled software will reinstall the malware.
The components of this malware are bundled together with (pirated) legitimate programs. At time of writing, these programs were being offered on the popular torrent-hosting website, The Pirate Bay.
Once active, the malware is capable of stealing information from the infected system; it may also run (separate) applications related to Bitcoin mining.
The technical details listed below are for the original DevilRobber version. This version was also discussed in a Labs Weblog post.
An updated version of DevilRobber has been discovered, with minor changes in its distribution and operation. This version was discussed in a Labs Weblog post.
Unlike the original version, the updated one identified as DevilRobberV3 is distributed using the file name PixelMator; in addition, the distributed file does not itself contain the backdoor component, but on installation must download the actual backdoor installer package from a remote FTP server.
On execution, DevilRobberV3 will first drop the file, d_status.cfg, in the same directory where it was executed, then download the installer from the remote server and save it as binary.zip. The contents of the package are then extracted and executed.
In addition to the changed distribution method, DevilRobberV3 has the following changes in its information harvesting script:
The malware's routine of attempting to steal Bitcoin wallet contents remains unchanged.
Upon execution of the bundled software, the malware first checks if the following file is found in the system:
Little Snitch is a Mac OS X firewall program; if this is found, the malware will skip installation and proceed to execute the clean software as is.
If the firewall program is not present, the malware proceeds with creating the following launch point:
Then with copying its files to the~/Library/mdsa1331 folder.
In our analysis, the files created varied slightly between samples, but have generally consisted of the following:
When the malware's main component (msda) is launched, it searches for and add port mapping to UPnP-capable gateway devices, allowing the following ports to be accessed from outside the network:
msda then creates a thread that listen on port 34123 for commands coming from a remote user. The malware allows the following commands:
msda then starts the bundled web proxy, which can be used by a remote user(s) as a staging point for later attacks.
Depending on the sample, msda may also execute the miner.sh script in order to mine Bitcoin, using both GPU and CPU cycles. The malware uses "su.mining.eligius.st" as its mining pool server.
Finally, msda executes the acab.sh script to collect various details from the infected system.
The data collected by acab.sh is stored in a file called "dump.txt". Next, msda will append additional information to this file, then archive and upload it to a remote FTP server. The specific server used varies between samples. This data retrieval routine is repeated on a fixed interval, which also differs between samples.
The data collected may vary between malware samples, but generally consists of the following:
The following information is appended by msda to the "dump.txt" file:
During analysis, the msda component in some samples were observed dumping the Keychain of the infected system to a file called "s_dump.txt".