#InvisiMole: sorprendente #spyware que se mantuvo encubierto desde 2013

noticias 2

InvisiMole es un spyware muy completo que fue utilizado durante al menos cinco años contra blancos de ataque de gran importancia.

InvisiMole es un spyware muy completo cuyas capacidades le permiten competir con otras herramientas de espionaje activas. El modus operandi de los dos componentes maliciosos de InvisiMole convierten la computadora afectada en una cámara de video permitiendo a los atacantes ver y escuchar lo que sucede en el interior de la oficina de la víctima o del lugar en el que se encuentre el dispositvo infectado. De esta manera, los operadores de InvisiMole acceden al sistema, monitorean sus actividades y roban su información.
Nuestra telemetría indica que los actores detrás de este malware han estado activos por lo menos desde 2013, aunque la herramienta de ciberespionaje nunca había sido analizada hasta que fue detectada por los productos de ESET en computadoras comprometidas en Ucrania y Rusia.
La campaña estuvo dirigida a blancos de ataque específicos, por lo que no es extraño que el ratio de infección haya sido muy bajo, con solo unas doce computadoras afectadas.
InvisiMole presenta una arquitectura modular, comenzando su travesía con una DLL para comprometer el sistema, con características de wrapper, y desarrolla sus actividades utilizando dos módulos adicionales que están embebidos dentro de sus recursos. Ambos módulos están enriquecidos con funcionalidades de backdoor, lo cual les permite recopilar cuanta información sea posible del blanco de ataque.
Para permitir al malware residir dentro del sistema por un largo período de tiempo, los autores tomaron medidas adicionales para evitar captar la atención del usuario comprometido. La forma en que fue propagado el spyware es algo que lo determinarán investigaciones futuras. Aunque todos los vectores de infección son posibles, incluso que hayan sido instalados mediante el acceso físico a la computadora.
Instalación y persistencia
La primera parte del malware que buscábamos es un wrapper DLL compilado con Free Pascal. A partir de nuestra telemetría, observamos que este DLL se aloja en la carpeta de Windows, enmascarado como un archivo de librería mpr.dll legítimo con un valor falso en el parámetro version info.
No hemos visto un wrapper DLL nombrado de forma diferente; sin embargo, insinuaciones en el código del DLL indicarían que podría haber otros con el nombre fxsst.dll o winmm.dll.
La primera alternativa para ejecutar el malware es mediante lanzando la DLL en el boot del sistema operativo. Estando alojado en la misma carpeta como explorer.exe, el wrapper DLL es cargado durante el inicio de Windows en el proceso de Windows Explorer en lugar de la librería legítima ubicada en la carpeta %windir%\system32.
Descubrimos versiones 32-bit como 64-bit del malware, lo cual hace que sea funcional en ambas arquitecturas.
Otros métodos de carga y persistencia son posibles como alternativa a la toma de posesión de DLL. El wrapper DLL exporta una función llamada GetDataLength. Cuando esta función es llamada, el DLL corrobora si el proceso fue cargado por algunos de los siguientes procesos: rundll32.exe, explorer.exe o svchost.exe como proceso principal, y si esto ocurre ejecuta el payload. Esto sugiere otros posibles métodos de persistencia ─mediante la programación de una tarea (en otras palabras, haciendo a svchost.exe como proceso principal) o a través de la instalación en una clave de registro de inicio (siendo el proceso principal explorer.exe).
Independientemente del método de persistencia, el comportamiento del malware y del payload actual es el mismo en todos los casos. El wrapper DLL corre ambos módulos almacenados en sus recursos, nombrados RC2FM y RC2CL, y (si se utilizó la toma de posesión del DLL) finalmente carga la librería legítima en el proceso explorer.exe con el fin de no alterar la operatoria normal de la aplicación y de esta manera mantenerse oculto.
Análisis técnico
Se desconoce la fecha exacta en que el malware fue compilado, ya que las muestras recientes del wrapper DLL fueron manipuladas por el autor del malware asginando manualmente los valores de fecha de compilación del archivo en cero. Sin embargo, durante nuestra investigación encontramos una versión temprana del malware con fecha del 13 de octubre de 2013, con lo cual la fecha de compilación de versiones posteriores seguramente sea más reciente.
Cifrado y descifrado
Para incrementar el grado de sigilosidad, el malware se protege a sí mismo de ser visto por administradores y analistas a través del cifrado tanto de sus strings como de sus archivos internos, datos de configuración y redes de comunicación. Mientras que el módulo RC2FM utiliza una serie de cifrados personalizados, el wrapper DLL y el módulo RC2CL comparten una particular rutina para todos los propósitos, especialmente para descifrar otros módulos del malware embebidos en el wrapper DLL.
Un script que permite extraer los módulos RC2FM y RC2CL embebidos en el wrapper DLL utilizando esta rutina está disponible en el repositorio de investigación de malware de ESET en Github.
Módulo RC2FM
En primer lugar, el módulo RC2FM más pequeño contiene un backdoor que soporta quince comandos. Estos son ejecutados en la computadora afectada cuando los atacantes dan las instrucciones. El módulo está diseñado para realizar varias modificaciones en el sistema, pero también ofrece una serie de comandos para espiar.
Una opción de logueo se implementa en todo el archivo, pero el nombre del archivo de log no está configurado en la muestra analizada. Esto sugiere que solo fue utilizada durante el desarrollo del malware.
Red de comunicación
Este módulo se comunica con los servidores C&C que son hardcodeados en la muestra o actualizados posteriormente por los atacantes.
Además, el modulo es capaz de alcanzar los servidores C&C, incluso si hay un proxy configurado en la computadora infectada. Si fracasa una conexión directa, el módulo intenta conectarse a cualquiera de sus servidores C&C utilizando proxies localmente configurados o proxies configurados para varios navegadores (Firefox, Pale Moon y Opera).
RC2FM puede incluso inspeccionar la lista de aplicaciones recientemente ejecutadas y buscar específicamente ejecutables de navegadores portables:
FirefoxPortable.exe
OperaPortable.exe
Run waterfox.exe
OperaAC.exe
Palemoon-Portable.exe
Si la víctima utiliza uno de estos navegadores portables con un servidor proxy configurado, el malware puede darse cuenta de ello en las preferencias de usuario y utilizar ese proxy para comunicarse con sus servidores C&C.
La comunicación con los servidores C&C consiste en una serie de solicitudes HTTP GET y POST, como se puede ver en la Figura 5. La solicitud cifrada incluye un identificador de PC y timestamp, y opcionalmente algún otro dato. Vale la pena destacar que el módulo RC2FM utiliza varios métodos de cifrado (variaciones de una simple rutina de cifrado XOR), a diferencia de otras partes de InvisiMole.
Luego de registrar satisfactoriamente a la víctima con el servidor C&C, son descargados datos adicionales, los cuales serán interpretados en la computadora local como comandos de backdoor.
Capacidades
RC2FM soporta comandos para crear listas de información básica del sistema y realizar pequeños cambios en el sistema, pero también incluye unas funcionalidades de spyware. Cuando es requerido por el atacante, es capaz de activar remotamente el micrófono de la computadora comprometida y capturar sonidos. Los audios registrados son convertidos en MP3 utilizando una librería legítima, lame.dll, la cual es descargada y manipulada por el malware.
Otra manera en la que el malware puede interferir en la privacidad de la víctima es haciendo capturas de pantalla, utilizando otro de los comandos del backdoor.
El malware también monitorea todos las unidades rígidas o removibles mapeadas en el sistema local. Cuando una nueva unidad es insertada, crea una lista de los nombres de todos los archivos en el disco y los almacena cifrados en un archivo.
Cuando se envía el comando apropiado, todos los datos recolectados pueden en última instancia ser enviados a los atacantes.
Comandos de backdoor
Como se muestra más abajo, soporta quince comandos. La función interpreter del backdoor se visualiza en la Figura 6.
Módulo RC2CL
El módulo RC2CL es también un backdoor con grandes capacidades de espionaje. Es iniciado por el wrapper DLL y lanzado al mismo momento que el módulo RC2FM. Este es más complejo y ofrece funcionalidades para recolectar toda la información posible de la computadora infectada, más que para realizar cambios en el sistema.
Resulta interesante que existe una opción en el módulo RC2CL para desactivar la funcionalidad de backdoor y actuar como proxy. En este caso, el malware desactiva el firewall de Windows y crea un servidor que retransmite la comunicación entre un cliente y el servidor C&C o entre dos clientes.
Comunicación de la red
El malware se comunica con sus servidores C&C a través de un TCP socket. Mensajes enviados por un cliente imitan el protocolo HTTP, pero nótese la inválida expresión “HIDE” HTTP en el ejemplo de la Figura 7.
Estas solicitudes comprenden: un identificador de la computadora comprometida, el tipo de solicitud, y el cifrado de datos que serán enviados al atacante. Es decir, los resultados del comando del backdoor o la solicitud de más instrucciones.
Capacidades
Dependiendo de los comandos recibidos, el backdoor puede llevar a cabo varias acciones en la computadora afectada. Backdoors comunes a menudo soportan comandos como operación de archivos de sistema, ejecución de archivos, manipulación de la clave de registro o activación remota del Shell. Este spyware permite éstas y muchas otras instrucciones más ─sus 84 comandos proveen al atacante con todo lo necesario para observar de cerca a la víctima.
El malware puede inspeccionar la computadora afectada y proveer diversos tipos de datos; desde información de sistema, como por ejemplo, una lista de procesos activos, servicios en ejecución, unidades cargadas o unidades disponibles, hasta información de la red, incluyendo la tabla IP de reenvío y la velocidad de la conexión a Internet.
InvisiMole es capaz de revisar redes inalámbricas habilitadas en el sistema comprometido. Puede grabar información como las direcciones SSID y MAC de los puntos de acceso Wi-Fi visibles. Estos datos pueden luego compararse con la base de datos pública, permitiendo a los atacantes rastrear la geolocalización de la víctima.
Otros comandos pueden proveer información sobre los usuarios de la máquina comprometida, sus cuentas y sesiones previas.
El programa instalado en la computadora comprometida es de especial interés. ¿Qué programas están instalados en el sistema? ¿Cuál de ellos son ejecutados de manera automática en cada inicio del sistema o registro de usuario? ¿Qué programas son usados por un usuario en particular? Si los atacantes están interesados, están a solo un comando de distancia de esta información valiosa.
Al malware se le pueden dar instrucciones para que busque documentos recientemente utilizados u otra clase de archivos interesantes. Puede monitorear directorios específicos y unidades extraíbles, reportar cualquier cambio y filtrar archivos según la elección del atacante.
El malware puede habilitar o deshabilitar el Control de cuentas de Usuario (UAC) o incluso sortear el UAC y trabajar con los archivos en lugares seguros sin tener privilegios de administrador (ver más aquí). Si el malware se está ejecutando como proceso de explorer.exe, el cual es autoelevado, puede crear un objeto COM elevado y utilizarlo para borrar o mover archivos en locaciones que requieren permisos de administración.
Lo que es incluso más perturbador es que puede activar la webcam y el micrófono de la víctima de manera remota y espiar a la víctima tomándole fotos y grabando el sonido del ambiente. La actividad de la pantalla puede monitorearse mediante la captura de impresiones de pantalla. Lo que es particularmente interesante de InvisiMole es que no solo guarda las usuales capturas de pantalla donde se genera una foto de la pantalla, sino que también puede hacer capturas de forma separada para cada una de las ventanas abiertas, lo cual ayuda al atacante a obtener información precisa sin importar que las ventanas estén solapadas.
Además, uno de los comandos del backdoor es utilizado para reemplazar los contenidos de los drivers con los siguientes nombres:
blbdrive.sys
compbatt.sys
secdrv.sys
No hemos observado que los atacantes realmente usen este comando, pero especulamos con que lo utilizan para obtener persistencia adicional en sistemas 32-bit.
Aunque el backdoor es capaz de interferir con el sistema (por ejemplo, desloguear a un usuario, finalizar un proceso o apagar el sistema), en su mayoría proporciona operaciones pasivas. Siempre que sea posible, intenta esconder sus actividades.
Por ejemplo, el malware hurga en lugares interesantes en el sistema, lee documentos recientes o incluso modifica algunos archivos. Como esto deja rastros en el sistema y puede despertar sospechas en la víctima, ya que cada actividad realizada en el archivo deja una evidencia al cambiar la fecha del último acceso o modificación realizado en el archivo,, el malware siempre restaura las fechas del último acceso o modificación.
Otro ejemplo de cómo los autores del malware intentan actuar de forma encubierta se ve en cómo manipulan los rastros que quedaron en el disco. El malware recopila datos sensibles, los cuales son almacenados temporalmente en archivos y eliminados una vez que fueron satisfactoriamente cargados al servidor C&C. Ya que los archivos eliminados pueden ser recuperados por un administrador de sistemas experimentado debido a que algunos pueden quedar en disco, incluso luego de haber sido eliminado ayudando en una investigación del ataque,, el malware InvisiMole tiene la habilidad de auto eliminar todos los archivos, pero primero reescribe los datos en un archivo con ceros y bytes aleatorios y recién ahí se elimina el archivo, haciendo más difícil su recuperación.
Almacenamiento interno
La configuración del backdoor y los datos recopilados son almacenados en uno de dos lugares: en un directorio de trabajo o en llaves de registro del sistema. . Una porción sustancial del conjunto de comandos del backdoor se dedica a manipular estas ubicaciones de almacenamiento y sus contenidos.
La ubicación del directorio de trabajo es determinada por las instrucciones del servidor remoto. El directorio es utilizado como almacenamiento temporal para archivos que contienen datos de la computadora comprometida. Dichos archivos comparten: criterio de nombramiento, algoritmo de cifrado y estructura. Están cifrados por una simple variación del cifrado XOR, el cual es utilizado en todos los componentes del malware. El tipo de archivo puede derivar de la secuencia de control de 4-byte ubicada al inicio del archivo.
A pesar de ser un espacio de almacenamiento para los datos recopilados, el directorio de trabajo es también donde se aloja una copia legitima de la aplicación WinRAR. Esta aplicación es utilizada por los atacantes para comprimir los datos que serán filtrados del equipo de la víctima.
En las llaves de registro se almacenan datos de configuración, así como también una lista de los archivos en el directorio de trabajo. Los datos son empaquetados por intermedio de una rutina Zlib implementada en el binario del malware y cifrados de igual manera que los archivos internos.
Comandos del backdoor
El backdoor cuenta con más de ocho comandos que utilizan el directorio de trabajo y las llaves de registro para almacenar sus resultados intermedios y los datos de configuración. La gráfica de la interpretación del backdoor se muestra en la figura 8.
Aproximadamente, un tercio de los comandos están dedicados a la lectura y actualización de los datos de configuración almacenados en el registro. El resto de los comandos están listados en la tabla que sigue.
Conclusión
InvisiMole es un spyware completamente equipado cuyas capacidades pueden perfectamente competir con otras herramientas de espionaje que se han visto en actividad.
Solo cabe preguntarnos por qué los autores decidieron usar dos módulos con capacidades que se superponen. Se puede pensar que el módulo más pequeño, RC2FM, es utilizado como una herramienta de reconocimiento inicial, mientras que el módulo más grande, RC2CL, es utilizado en los blancos que resultan de interés. Sin embargo, este no es el caso, ya que ambos módulos son lanzados simultáneamente. Otra posible explicación es que los módulos puedan haber sido diseñados por varios autores y luego ensamblados de forma conjunta para ofrecer al operador del malware un rango más complejo de funcionalidades.
Si bien el malware solo utiliza unas pocas técnicas para evadir la detección y el análisis, en los pocos blancos de gran importancia en los que se utilizó logró mantenerse fuera de los radares de detección por al menos cinco años.
Indicadores de Compromiso (IoCs)
Una completa y comprensiva lista de los IoCs, servidores C&C, junto con las claves de registro y valores puede encontrarse en GitHub.

Fuente:

Si te gustó, compartilo:

Para poder comentar ingrese al sitio

Beneficios Socios

Vinaora Nivo SliderVinaora Nivo SliderVinaora Nivo SliderVinaora Nivo SliderVinaora Nivo SliderVinaora Nivo SliderVinaora Nivo SliderVinaora Nivo SliderVinaora Nivo SliderVinaora Nivo SliderVinaora Nivo SliderVinaora Nivo SliderVinaora Nivo SliderVinaora Nivo SliderVinaora Nivo SliderVinaora Nivo SliderVinaora Nivo SliderVinaora Nivo SliderVinaora Nivo SliderVinaora Nivo SliderVinaora Nivo SliderVinaora Nivo SliderVinaora Nivo SliderVinaora Nivo SliderVinaora Nivo SliderVinaora Nivo SliderVinaora Nivo SliderVinaora Nivo Slider

Actividades

ico_jiap.png ico_interjiap.png ico_socios.png
ico_ptu.png ico_claustro.png ico_premiogranato.png
ico_aap.png ico_green.png ico_calidad.png

 

Quién esta en línea

Hay 186 invitados y ningún miembro en línea

Síguenos en:

ico_facebook.png ico_twitter.png ico_linkedin.png ico_YT.png  
IMAGE
IMAGE
IMAGE
IMAGE
IMAGE
IMAGE
IMAGE
IMAGE
IMAGE
IMAGE
IMAGE
IMAGE
IMAGE
IMAGE
IMAGE
IMAGE
IMAGE
IMAGE
IMAGE
IMAGE
IMAGE
IMAGE
IMAGE
IMAGE
IMAGE
IMAGE
IMAGE
IMAGE
IMAGE
IMAGE
IMAGE
IMAGE
IMAGE
IMAGE
IMAGE
IMAGE
IMAGE
IMAGE
IMAGE
IMAGE

Un día como hoy