En un trabajo conjunto con nuestros colegas de CrySys Lab , hemos descubierto dos mecanismos de infección nuevos de Miniduke que antes se desconocían. Estos nuevos vectores de infección aprovechan vulnerabilidades en Java e Internet Explorer para infectar el equipo de la víctima.
Mientras revisábamos uno de los servidores de comando y control de Minuduke, descubrimos archivos que no estaban relacionados con el código del C&C, pero parecía que estaban preparados para infectar a los visitantes utilizando vulnerabilidades basadas en la red.
La página hxxp://c2_hostname/groups/business-principles.html sirve como un punto de partida para el ataque. Consta de dos marcos, uno para cargar la página web que sirve como carnada desde un sitio web legítimo (copiado desde http://www.albannagroup.com/business-principles.html ), y otro para realizar actividades maliciosas (hxxp://[c2_hostname]/groups/sidebar.html)
Codigo fuente de business-principles.html
Pagina web “carnada” que recién terminada de cargar
La segunda página, “sidebar.html”, tiene 88 líneas, la mayoría de código JavaScript, y funciona como un paquete de exploits primitivo. Su código identifica el navegador de la víctima y utiliza uno de dos exploits. También envía los datos recolectados del navegador a otro script, enviando una solicitud POST a “hxxp://[c2_hostname]/groups/count/write.php”.
Los exploits se encuentran en páginas separadas. Los clientes que utilizan la versión 8 de Internet Explorer reciben “about.htm”, pero el código JavaScript carga “JavaApplet.html” para las otras versiones del navegador y para cualquier otro navegador que pueda ejecutar applets de Java.
Codigo JavaScript dentro de la pagina sidebar.html
Exploit de Java
La página web “JavaApplet.html” carga “JavaApplet.class”, que implementa un exploit de Java para la vulnerabilidad descubierta hace poco CVE-2013-0422. El código del exploit es muy similar al que se publicó en el paquete Metasploit, pero la clase interna que desactiva el administrador de seguridad está codificada de otro modo, posiblemente para evitar su detección. Según los encabezamientos HTTP del servidor, la applet se subió el 11 de febrero de 2013, un mes después de que se publicara el código Metasploit y dos días antes de que Oracle publicara una alerta de seguridad (en inglés) sobre la vulnerabilidad.
HTTP/1.1 200 OK
HEAD /groups/JavaApplet.class HTTP/1.1
Host: [c2_hostname]
Server: Microsoft-IIS/5.0
X-Powered-By: ASP.NET
Date: Fri, 08 Mar 2013 06:18:04 GMT
Content-Type: application/octet-stream
Accept-Ranges: bytes
Last-Modified: Mon, 11 Feb 2013 09:50:31 GMT
ETag: "f794173b3d8ce1:e96"
Content-Length: 52408
El shellcode de Java contiene la carga explosiva completa, un archivo Win32 DLL codificado en hex. Descodifica el binario y lo escribe en un directorio temporal de Java bajo el nombre de “ntuser.bin”. Después copia el archivo del sistema “rundll32.exe” al mismo directorio con el nombre “ntuser.exe” y lo ejecuta con “ntuser.bin” como parámetro, logrando cargar el archivo DLL malicioso. El archivo DLL es el módulo principal de Miniduke, y utiliza la URL http://twitter.com/TamicaCGerald para recibir órdenes.
Tweet con un comando de MiniDuke codificado.
(URL decodificada del commando: hxxp://www.artas.org/web/)
Exploit de Internet Explorer 8
La página web “about.htm” implementa un exploit para Microsoft Internet Explorer 8. Utiliza la vulnerabilidad que se descubrió a finales de diciembre de 2012, CVE-2012-4792. El código también es muy similar a la versión Metasploit del exploit, mientras que la parte del shellcode que escribieron los autores de Miniduke reusa el código de la puerta trasera. El código Metasploit se lanzó el 19 de diciembre de 2012, y la vulnerabilidad se solucionó el 14 de enero de 2013 (MS13-008 ) mientras que la página con el exploit se subió el 11 de febrero de 2013.
HTTP/1.1 200 OK
HEAD /groups/about.htm HTTP/1.1
Host: [c2_hostname]
Server: Microsoft-IIS/5.0
X-Powered-By: ASP.NET
Date: Fri, 08 Mar 2013 06:49:33 GMT
Content-Type: text/html
Accept-Ranges: bytes
Last-Modified: Mon, 11 Feb 2013 09:50:47 GMT
ETag: "b98150443d8ce1:e96"
Content-Length: 3842
El propósito del shellcode es descargar un archivo de imagen GIF desde la URL hxxp://[c2_hostname]/groups/pic.gif . El archivo PE también parece ser una modificación del módulo principal de la puerta trasera de Miniduke que utiliza la misma URL de Twitter que la carga explosiva de Java.
Conclusiones
Hemos descubierto y analizado dos vectores de infección que antes se desconocían y que se utilizaron en los ataques de MiniDuke. Aunque los exploits ya eran conocidos y se habían publicado al momento del ataque, también eran muy recientes y pudieron haber funcionado en contra de los objetivos designados. Como recomendamos antes, actualizar Windows, Java y Adobe Reader a sus últimas versiones es parte esencial para tener un nivel de defensa básico contra los ataques conocidos de Miniduke. Por supuesto, es posible que existan otros vectores de infección que todavía no hemos descubierto; seguiremos controlando la situación y actualizando el blog con nuevos datos cuando se necesite.
Miniduke: vector de infecciones basado en la red