La Anatomía de Flashfake – Segunda Parte

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)

TECNOVIRUS – Este artículo ha sido traducido del original en inglés, posteado en Securelist.com por Alexander Gostev  y Sergey Golovanov, expertos analistas de Kaspersky Lab Russia. El post corresponde a la segunda parte del artículo.

En la primera parte de nuestro análisis observamos los mecanismos de distribución e infección empleados por el programa malicioso Flashfake (o Flahsback, como se conoce en algunas partes) el cual para finales de abril de 2012 ha infectado 748 mil computadoras Mac con el Sistema Operativo OS X. En esta segunda parte veremos sus otras funciones y como los cibercriminales detrás de Flashfake están ganado dinero gracias a la botnet que crearon.

Librería Dinámica
El programa malicioso Flashfake está compuesto por múltiples módulos, así como por una librería dinámica que es inyectada en los procesos de navegadores. Esta librería dinámica es implementada como un módulo inyector para el código malicioso (ver el diagrama a continuación):

Cartilla de operación de Flashfake.

Nuestra base de datos (Kaspersky Lab) incluye dos modificaciones de esta librería, conocida comúnmente como libmbot.dylib. Esta librería dinámica es un pack Mach-O estándar para sistemas de 32 y 64 bits, con un peso aproximado de 400 KB.
La operación de la librería comienza con la función estándar _dylibmain, la cual acepta un entero como su input. Por defecto, para que la payload sea activada, el entero debe poseer el valor 7.

Pseudo-código para lanzar la funcionalidad inicial de la librería dinámica.

Luego de chequear el parámetro de input, la librería comienza a desencriptar el bloque de configuración, definiendo toda la carga (payload) maliciosa de la misma. La desencriptación es realizada usando el algoritmo RC4 con decodificación base64. El bloque de configuración es una tabla en la que cada una de sus entradas consiste de una ID (identificación), tipo de entrada y el valor de la entrada. Toda la actividad subsecuente de la librería deriva de la instrucción relevante a la ID en este bloque.

LEA ESTO . . .  Bitdefender Mobile Security. Promoción gratis por 1 año
Muestra del bloque de configuración para la librería dinámica del Flashfake malicioso.

Este bloque contiene los siguientes tipos de entradas, las cuales definen funcionalidad:

• Función para actualizar e infectar navegadores via DYLD_INSERT_LIBRARIES (descritas en la primera parte de nuestro análisis).
• Lista inicial de dominios actuando como servidores C&C para la librería dinámica.
• Función para generar nombres de dominios en las zonas ‘org’, ‘com’, ‘co.uk’, ‘cn’, e ‘in’ para buscar servidores C&C.
• Función para generar dominios de tercer nivel para los dominios ‘.PassingGas.net’, ‘.MyRedirect.us’, ‘.rr.nu’, ‘.Kwik.To’, ‘.myfw.us’, ‘.OnTheWeb.nu’, etc.
• Una función para buscar los servidores C&C mediante la generación de pedidos de búsqueda para la versión móvil de Twitter.
• Función para inyectar el código externo dentro del contexto de sitios visitados por el usuario.

Mecanismo de inyección

Por defecto la librería, una vez localizada en el contexto de ejecución del navegador, rastrea todos los requisitos del usuario al enganchar las funciones send, recv, CFReadStreamRead y CFWriteStreamWrite. Cuando detecta que un sitio mencionado en el bloque de configuración es accesado, la librería inyecta el JavaScript siguiente desde el servidor hacia el contexto del navegador.

JavaScript inyectado en la ejecución de contexto de un navegador.

El valor del (DOMINIO) campo es tomado de la lista de servidores C&C iniciales, por ejemplo:
googlesindication.com, gotredirect.com, dotheredirect.com, adfreefeed.com, googlesindications.cn, googlesindications.in, instasearchmod.com, jsseachupdates.cn.

Por defecto, este JavaScript es ejecutado siempre que el navegador accesa google.com. no obstante, el bloque de configuración contiene una lista de 321 dominios para los cuales el JavaScript no tiene permiso de ejecutarse cuando son mencionados en las solicitudes de búsqueda. Al igual que los motores de búsqueda, la lista incluye redes sociales, sitios de noticias, tiendas online y bancos. Estos dominios se encuentran en la lista probablemente para minimizar el tráfico hacia el servidor de los cibercriminales.

LEA ESTO . . .  Kaspersky crea soluciones de seguridad para Android
La lista de dominios que son excluidos de la inyección JavaScript.

Auditoría de la versión
La funcionabilidad de la librería dinámica incluye un mecanismo de auto-actualización. Los creadores han agregado un mecanismo que verifica servidores C&C para actualizar las firmas usando el algoritmo RSA. En la actualidad se encuentran dos versiones de la librería maliciosa. Desafortunadamente, la fecha que enlaza a los archivos maliciosos es 1 de enero de 1970, lo cual evita que creemos (Kaspersky) un timeline exacto para la liberación de las librerías. No obstante, las diferencias en las funciones incluidas en las librerías pueden permitirnos a nosotros establecer cuando fue que aparecieron.
Basados en nuestros análisis, las características de la versión 1.0 (MD50x8ACFEBD614C5A9D4FBC65EDDB1444C58), la cual estuvo activa hasta marzo de 2012, son nombres al azar de librería, enganchados a las funciones CFReadStreamRead y CFWriteStreamWrite, y su instalación sería en la carpeta /Users/Shared/.svcdmp. El JavaScript malicioso es además incluido en el cuerpo del mismo programa malicioso. Las únicas diferencias en la versión 1.1 son los cambios en la lista inicial de servidores C&C, y el algoritmo para generar nuevos nombres de dominios.
En la versión 2.0 (MD5 434C675B67AB088C87C27C7B0BC8ECC2 – activa desde marzo 2012) un algoritmo de búsqueda que funciona a través de twitter.com fue añadido. El JavaScript malicioso fue movido hacia el bloque de configuración, y soporte fue añadido a las funciones send y recv para interceptar el tráfico y hacer spoofing. Un nombre fijo para la librería maliciosa (libmbot.dylib) fue añadido en la nueva versión, además de loaders adicionales y un chequeo en el parámetro de input para activar la mayor parte del programa malicioso. La versión 2.1 incluye un nuevo algoritmo para buscar servidores C&C via twitter. La última versión de la librería que conocemos – la 2.2 – es de interés primordialmente porque es el primer add-on para Mozilla Firefox.

LEA ESTO . . .  60 millones de accesos infructuosos reciben webs porno

 

Add-on de Firefox
En esta versión de la librería dinámica todas las maquinaciones con las peticiones de búsqueda del usuario en Google son realizadas (por defecto) tras enlazar las funciones send, recv CFReadStreamRead, y CFWriteStreamWrite. Esto es un acercamiento universal para todos los navegadores en Mac OS X, pero requiere de un extra esfuerzo cuando se crea el código para decodificar el tráfico del usuario. Por consiguiente parece que un add-on para Mozilla Firefox llamado AdobeFlashPLayer11.1 ha aparecido en el bloque de configuración para así minimizar las posteriores modificaciones a la versión 2.2.

Imagen del add-on falso para Mozilla Firefox.
Y este es el add-on original para Firefox.

Este add-on tiene la misma funcionalidad que las versiones anteriores del JavaScript malicioso.

Conclusión
Flashfake es actualmente el programa malicioso mas propagado para computadoras con Mac OS X. Esto se debe a la negligencia de Apple para actualizar sus sistemas operativos así como la habilidad de los cibercriminales para conjugar todas las tecnologías malware en el juego: vulnerabilidades en cero-días, chequeo de la presencia de soluciones antivirus en un sistema, medidas de auto-protección, algoritmos criptográficamente fuertes para comunicarse con servidores C&C, y hacer el uso de servicios públicamente disponibles para manejar botnets. Todas estas tecnologías son capaces de atacar a sistemas Mac y Windows por igual. Mediante la interferencia con la actividad del usuario en Google, los autores de Flashback creado una fuente constante de ganancias que es capaz de generar miles de dólares por día. No se sabe que program partner esta suministrando los enlaces para los resultados falsos de búsqueda y quien es exactamente el (o los) cómplice(s) que ayudan a los cibercriminales a esparcir el programa.
Esto significa que volveremos con mas de este tópico…

 

Fuente: Kaspersky Lab.

Por Ruben Portelles

Abogado, Especialista en Derecho de las TI, Seguridad Informática, Escribiendo sobre virus, antivirus, hackers, consejos y alertas en Seguridad Informática, #ciberguerra, Ciberespionaje #Kaspersky #ESET #Bitdefender. CEO en TECNOVIRUS, C.A. Búscame como:@ rubenportelles 0212-714.2020

Dejar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *