McAfee malware researcher Carlos Castillo posted an interesting article on the measured increase in cross-platform java-based malware strains that seek to infect machines running both Windows and Mac operating systems.
IncognitoRAT is an example of this creative approach to botnet malware development that has been detected in the wild, according to Catillo.
Though evidence has yet to show the exploit has infected machines other than those running Windows, theoretically the malware is designed with the intent to also pose a threat to those running the Mac OSX.
Multi-platform malware is not entirely new, but with the increasing popularity of Apple products in the marketplace, there is an incentive for malware authors to save time and resources by developing strains that are capable of infecting multiple operating systems.
The original propagation vector of IncognitoRAT is a Windows executable, but apparently it was created using the tool JarToExe, which includes, among other features, the ability to convert .jar files into .exe files, to add program icons and version information, and protect and encrypt Java programs. The victim’s machine has to have the Java Runtime Environment installed and must be online. As soon as the file is executed, it starts downloading a ZIP file with a pack of Java-based libraries to perform several remote activities:
- Java Registry Wrapper: Used to access the Windows Registry and create an entry in Software\Microsoft\Windows\CurrentVersion\Run to execute the malware every time the computer starts
- Java Remote Control: To view and take remote control (keyboard and mouse) of an infected machine
- JLayer – MP3 Library: To remotely play an MP3 file on the infected machine
- RNP-VideoPlayer: To play videos remotely
- JavaMail: Optional Java package to send stolen information to an email account
- Freedom for Media Java: Open-source alternative to the official Java Media Framework; used by the malware to watch and record images from a remote webcam
In additional to those libraries, the downloader drops the following .jar components:
- JavaUpdater.jar: Decrypts the directory (full path) that will be created by the malware to place all the components on the infected machine. It implements TripleDES encryption and decryption methods. Finally, the component executes the principal malware, server.jar, using the common instructions to run Java applications in Windows (java -jar %malwarepath%/Server.jar).
- Server.jar: Runs in the background collecting keystrokes using a DLL designed to hook the keyboard on the infected machine. Also waits for commands sent from the control server to use the libraries described above and perform other actions, such as sending the captured keystrokes in a text file to an FTP server or an email account, viewing and recording the remote webcam, performing distributed denial –of-service attacks, taking remote control of the machine, etc.
Once the malware has successfully been deployed on a target machine, the malicious code will allow attackers control of the system via remote access, as well as the ability to harvest sensitive information and authentication credentials.