Security researchers have identified a Mac OS X botnet of thousands of compromised computers.
According to the antivirus company Dr. Web, the botnet is built on the back of the Mac.BackDoor.iWorm malware. As of Sept. 29, 18,519 unique IP addresses were used by infected computers to connect to the botnet.
The malware was developed using C++ and Lua, and the backdoor makes extensive use of encryption in its routines. When Mac.BackDoor.iWorm is initially launched, it saves its configuration data in a separate file and tries to read the contents of the /Library directory to determine which of the installed applications the malware will avoid.
"If 'unwanted' directories can't be found, the bot uses system queries to determine the home directory of the Mac OS X account under which it is running, checks the availability of its configuration file in the directory, and writes the data needed for it to continue to operate into the file," according to researchers at Dr. Web. "Then Mac.BackDoor.iWorm opens a port on an infected computer and awaits an incoming connection. It sends a request to a remote site to acquire a list of control servers, and then connects to the remote servers and waits for instructions."
To get the addresses of the command and control servers, the malware determines the current date and calculates its value in days. The backdoor then applies the MD5 hash function to the value and sends a query to reddit.com. "Here MD5_hash_first8 is the value of the first 8 bytes of the MD5 hash value from the current date," according to Dr. Web's technical analysis of the malware.
"The reddit.com search returns a web page containing the list of botnet C&C servers and ports published by criminals in comments to the post minecraftserverlists under the account vtnhiaovyd. The server list is retrieved repeatedly at five-minute intervals," according to the company's post about the botnet. "In fact, the bot picks a random server from the first 29 addresses on the list and sends queries to each of them. Once a connection is established, Mac.BackDoor.iWorm checks whether the site is on the exceptions list."
None of this is really Reddit's fault, the security researcher Graham Cluley wrote in a blog post. "They've done nothing wrong as such, and even if they shut down the accounts that are communicating with the botnet there would be nothing to stop the hackers behind the campaign [from] creating new accounts or using an alternative service (Twitter, perhaps?) to communicate with the compromised computers," he wrote. "And it's important to stress that Reddit isn't spreading the infection -- it's simply providing a platform that is helping the botmasters communicate with the Mac computers they have managed to infect."
According to Dr. Web, the backdoor is unpacked into the directory /Library/Application Support/JavaW. Using a specially generated p-list file, it disguises itself as the application com.JavaW and sets itself to autostart via /Library/LaunchDaemons/.
"Mac.BackDoor.iWorm uses encryption extensively," according to Dr. Web. "When launched, the backdoor initialises the context (to be used later for encryption) and writes two bytes at zero offset which will later be used as a key for decrypting strings."
The basic backdoor commands for Lua-scripts can be used for a number of actions, including getting the OS type, downloading a file, and executing a nested Lua-script. Most of the infections appear to be in the United States, Canada, and the UK.
"This isn't, of course, the first time that we have seen Mac computers infected by malware and hijacked into a criminal botnet, and it isn't anything like as big so far as the notorious Flashback worm which hit more than 600,000 Mac computers in early 2012," Cluley blogs. "But it is another timely warning that Mac users shouldn't be fooled into thinking they are somehow immune from computer security threats. An anti-virus product should be part of your arsenal, if you value your privacy and the data you store on your Apple computer."