Exploit.Java.CVE-2010-0840.ap

Removal Instructions

If your computer has not been protected with anti-virus software and has been infected with malware, you will need to take the following actions to delete this:

  1. Delete the original trojan file (its location on the infected computer will depend on how the program got onto the computer).
  2. Delete the following files:
    %Temp%\<rnd>.exe
    %Temp%\<rnd>.dll
    

  3. Update Sun Java JRE and JDK to the latest versions.
  4. Clear the Temporary Internet Files directory which may contain infected files (How to delete infected files in the Temporary Internet Files folder?).
  5. Run a full Kaspersky Antivirus scan of the computer with updated antivirus databases (download trial version).


MD5: 025DB82EBAA0E2FFFD47458E90D7807B
SHA1: 90159CCCE0676CBCDEF620887DA733094A205282

Payload

The malicious JAR-archive contains the following files:

MessageStack\ConvertVal.class (1519 bytes)
MessageStack\Copier.class (683 bytes)
MessageStack\QMessage.class (632 bytes)
MessageStack\StringPack.class (1468 bytes)
MessageStack\TextMessage.class (1051 bytes)
Meta-inf\Manifest.mf (71 bytes)
xmlTools\Container.class (3807 bytes)
xmlTools\Env.class (656 bytes)
xmlTools\XmlConstruct.class (2784 bytes)
xmlTools\XMLMaker.class (5356 bytes; detected by Kaspersky Antivirus as "Exploit.Java.CVE-2010-0840.ap")

The trojan is a Java-applet (main applet class – " XMLMaker"), designed to download files from the Internet from redirected links. The applet is launched from an infected HTML-page using the "<APPLET>" tag, for which a string containing an encrypted list of links to downloadable files is transferred in the "prm" parameter. The links in this string are separated by the symbols "::". After launching, the trojan decrypts the links received using the "StringPack" "name" function. When decoding, the following mapping is used for input and output symbols:


Input symbols:

QOn7cZAVmK/G4WuBqfLxj1_tlE8PTrpN2Y3:MUa=&5oRi%y?9DHv-Cgwkh60b.FdeSI#zJXs

Output symbols:
aDLXq-_.mjnWN6fwcsKB?xbITS=CykGvd91Z:%ElR5po0rzA8/JYP72#ue&t4iQFhVU3OMgH

The trojan then checks the name of the OS installed on the infected computer. If the OS is not Windows, the trojan will shut down. Otherwise, it downloads files from the links received. The trojan determines the type of downloadable file (executable file or dynamic-link library) based on the presence of the substrings ".exe" and ".dll" in the unencrypted link. The downloaded files are saved in the current user's temporary file directory as
%Temp%\<rnd>.exe

or
%Temp%\<rnd>.dll

where <rnd> consists of random fractional decimals from 0 to 1. After successfully downloading the next executable file, the file is launched for execution. If downloading a dynamic-link library, this is launched using the system utility "regsvr32.exe":
regsvr32 –s %Temp%\<rnd>.dll

During its implementation, the exploit uses the vulnerability CVE-2010-0840 in the JRE (Java Runtime Environment). This vulnerability appears as a result of an incorrect validation when running preferred methods in JRE, which allows the attacker to execute an arbitrary code using an object that has been modified in a certain way, as a sub-class of the proxy class. This vulnerability allows the trojan to track and use methods which are not available for the Java-applet class which is a sub-class of the unprivileged "Applet" class.

Technical Details

An exploit that uses a vulnerability in the JRE (Java Runtime Environment) to download other malware to an infected computer. It is a JAR-archive containing a set of Java-classes (class-files). 10661 bytes.