Introducción
Mientras los ciberdelincuentes sigan queriendo ganar dinero, seguirán creando programas maliciosos, y mientras sigan creándolos, nosotros continuaremos analizándolos, publicando informes y proporcionando protección. El mes pasado cubrimos una amplia variedad de temas relacionados con la ciberdelincuencia. PPor ejemplo, publicamos un informe sobre un nuevo malware encontrado en foros clandestinos que llamamos ASMCrypt (relacionado con el cargador DoubleFinger). Pero hay más cosas que están pasando. Así que también publicamos informes sobre nuevas versiones del stealer Lumma y el troyano bancario para Android Zanubis. Este artículo del blog contiene un extracto de estos informes.
Si desea obtener más información sobre nuestro servicio de denuncia de crimeware, escríbanos a crimewareintel@kaspersky.com.
ASMCrypt
Como mencionamos en nuestro anterior artículo en el blog, hacemos un seguimiento de muchos foros clandestinos. En uno de ellos vimos un anuncio que promocionaba una nueva variante de ‘cryptor/loader’, llamada ASMCrypt. La intención de este tipo de malware es cargar la carga útil final sin que el proceso de carga o la propia carga útil sean detectados por el sistema antivirus o de EDR, o similares. En esto se parece mucho al cargador DoubleFinger del que hablamos aquí.
Es más, tras un cuidadoso análisis, creemos con bastante certeza que ASMCrypt es una versión evolucionada de DoubleFinger. Pero ASMCrypt funciona de forma un poco diferente y es más una “fachada” del servicio real que se ejecuta en la red TOR.
¿Cómo funciona todo esto? Primero se obtiene el binario ASMCrypt, que se conecta al servicio backend del malware a través de la red TOR utilizando credenciales codificadas. Si todo es correcto, se muestra el menú de opciones.
El comprador puede elegir entre las siguientes opciones:
- El método de inyección, sigiloso o invisible.
- En qué proceso debe inyectarse la carga útil.
- El nombre de carpeta para la persistencia de inicio.
- El tipo de resultado: un archivo binario que se hace pasar por QuickTime, o una DLL que se distribuye junto con una aplicación legítima.
Tras seleccionar todas las opciones deseadas y pulsar el botón de compilación, la aplicación crea un blob cifrado oculto dentro de un archivo .png. Esta imagen debe subirse a un sitio web de alojamiento de imágenes. También se crea la DLL (o binario) maliciosa del último punto anterior, que los ciberdelincuentes se encargan de distribuir.
Cuando la DLL maliciosa se ejecuta en el sistema de la víctima, descarga el archivo .png, lo descifra, lo carga en memoria y lo ejecuta.
Lumma
El stealer Arkei, escrito en C++, apareció por primera vez en mayo de 2018 y ha sido bifurcado/renombrado muchas veces en el último par de años. Se lo ha visto bajo los nombres de Vidar, Oski, Mars y ahora Lumma, que coincide en un 46% con Arkei. Con el paso del tiempo, la funcionalidad principal de todas las variantes siguió siendo la misma: robar archivos almacenados en caché, archivos de configuración y registros de criptobilleteras. Puede hacerlo actuando como un complemento del navegador, pero también es compatible con la aplicación independiente Binance.
Pero primero analicemos el vector de infección. Lumma, se distribuye a través de un sitio web falso, que finge ser un sitio legítimo de conversión de .docx a .pdf. Cuando se carga un archivo, se devuelve con la doble extensión .pdf.exe.
El propio Lumma apareció en nuestro campo de vista por primera vez en agosto de 2022, cuando detectamos nuevas muestras. Más o menos al mismo tiempo, un entusiasta de la ciberseguridad, Fumik0_, tuitó que Lumma es una “bifurcación / refactorización” de Mars. Desde entonces, Lumma ha experimentado bastantes cambios. Destacaremos algunos a continuación:
- Encontramos una sola muestra (MD5 6b4c224c16e852bdc7ed2001597cde9d), que tenía la funcionalidad de recoger la lista de procesos del sistema. La misma muestra también utilizaba una URL para la comunicación con el C2, diferente de las versiones anteriores (/winsock en lugar de /socket.php).
- También encontramos una muestra (MD5 844ab1b8a2db0242a20a6f3bbceedf6b) que parece ser una versión de depuración. Cuando se alcanzan determinados fragmentos del código, se envía una notificación al C2. A su vez, esta muestra también utiliza una URL diferente (/windbg).
- En una muestra más reciente (MD5 a09daf5791d8fd4b5843cd38ae37cf97) los atacantes cambiaron el campo User-Agent a “HTTP/1.1”. No está claro por qué lo hicieron.
- Mientras que todas las muestras anteriores, incluidas las tres mencionadas, descargaban bibliotecas adicionales del C2 para sistemas de 32 bits, de modo que se pudieran analizar archivos específicos relacionados con el navegador (por ejemplo, contraseñas y similares), MD5 5aac51312dfd99bf4e88be482f734c79 simplemente carga toda la base de datos en el C2;
- MD5 d1f506b59908e3389c83a3a8e8da3276 tiene un algoritmo de cifrado de cadena. Ahora está codificado con hex y cifrado con una clave XOR (los 4 primeros bytes de la cadena).
- Uno de los mayores cambios que vimos fue en MD5 c2a9151e0e9f4175e555cf90300b45c9. Esta muestra admite archivos de configuración dinámicos que se obtienen del C2. La configuración se cifra con Base64 y XOR con los primeros 32 bytes del archivo de configuración.
Zanubis
Zanubis, un troyano bancario para Android, apareció por primera vez alrededor de agosto de 2022, y tiene como blanco instituciones financieras y usuarios de bolsas de criptomonedas en Perú. El principal modo de infección de Zanubis es suplantar aplicaciones Android peruanas legítimas, para después inducir al usuario para que habilite los permisos de Accesibilidad con el fin de tomar el control total del dispositivo.
En abril de 2023 vimos ejemplares más recientes de Zanubis en libertad, que pretenden ser la aplicación Android de la organización gubernamental peruana SUNAT (Superintendencia Nacional de Aduanas y de Administración Tributaria). Indagamos las nuevas funciones y desarrollos de este malware, que parece haber pasado por varias fases de evolución para convertirse en un malware móvil más sofisticado.
El malware está ofuscado con Obfuscapk, un popular ofuscador para archivos APK de Android. Después de que la víctima concede permisos de accesibilidad a la aplicación maliciosa, lo que permite a Zanubis ejecutarse en segundo plano, el malware carga un sitio web legítimo en WebView, que forma parte de los servicios oficiales de la SUNAT y que los clientes legítimos usan para buscar deudas. Zanubis carga la vista web para poder actuar como una aplicación normal, una parte del ecosistema de servicios de la SUNAT, y que el usuario no sospeche nada.
La comunicación con el C2 se establece utilizando WebSockets y la biblioteca Socket.IO. Esta biblioteca permite al malware establecer una conexión persistente con el C2 que ofrece opciones de conmutación por error (de WebSockets a HTTP y viceversa). Otra ventaja es que, de ser necesario, permite al C2 disponer de un entorno escalable en el que todas las nuevas infecciones por Zanubis recibirán órdenes (también llamadas eventos) a escala masiva desde el C2. Una vez que se inicia el malware, el implante llama una función para comprobar la conexión con el C2. Establece dos conexiones con el mismo servidor C2, pero estas dos conexiones realizan diferentes tipos de acciones, y la segunda conexión se establece sólo por iniciativa del C2.
De forma intencional, Zanubis no contiene una una lista predeterminada de aplicaciones objetivo. En los últimos años, los desarrolladores de malware suelen añadir o eliminar nombres de aplicaciones de la lista de objetivos. Para configurar las aplicaciones objetivo en el implante, el C2 emite el evento config_packages. El objeto JSON enviado con el evento contiene una matriz que especifica las aplicaciones que el malware debe monitorizar. El malware analiza la lista de aplicaciones objetivo cada vez que se produce un evento en la pantalla, como la apertura de una aplicación, que el malware detecta mediante la función onAccessibilityEvent. Una vez que se encuentra una aplicación de la lista ejecutándose en el dispositivo, Zanubis lleva a cabo una de las dos acciones siguientes, según las diferentes configuraciones, para robar la información de las víctimas: registra los eventos/pulsaciones de teclas o graba la pantalla.
Ya hemos mencionado la inicialización de la segunda conexión desde el dispositivo infectado, que hace que el C2 pueda realizar aún más acciones. Después de que Zanubis establece esta nueva conexión con el C2, se emite un evento VncInit desde el malware al servidor, informándo que se ha realizado la inicialización del segundo conjunto de funcionalidades, y enviará información sobre el renderizado de la pantalla del usuario (por ejemplo, el tamaño de la pantalla) cada segundo. Se puede suponer que es una manera de que los operadores tomen el control o usen el teléfono infectado como backdoor.
Una característica interesante de este segundo conjunto de funcionalidades es la que lleva a cabo el evento bloqueoUpdate. Esta es una de las acciones más invasivas (y persuasivas) que realiza el malware, ya que simula ser una actualización de Android que bloquea el uso del teléfono. Mientras se ejecuta la supuesta actualización, el teléfono quedará inutilizado de tal forma que bloquearlo/desbloquearlo es casi imposible, ya que el malware monitoriza esos intentos y los bloquea.
Según nuestro análisis, las aplicaciones objetivo son bancos y entidades financieras de Perú. Este hecho, junto con nuestros datos de telemetría, nos lleva a determinar que Zanubis apunta a usuarios de Perú. La lista de aplicaciones objetivo contiene más de 40 nombres de paquetes. Los ejemplares de Zanubis recogidos hasta el momento pueden infectar cualquier teléfono Android, pero todos fueron escritos con la intención de infectar teléfonos que tuvieran configurado el español como idioma del sistema.
Conclusión
Los programas maliciosos están en constante evolución, y el stealer Lumma, que presenta diversas variantes con distintas funcionalidades, es un claro ejemplo de ello. Zanubis también se está convirtiendo en un troyano bancario totalmente armado que podría provocar pérdidas financieras y el robo de información privada de los usuarios de dispositivos móviles. El cambio constante de los códigos maliciosos y de las TTP de los ciberdelincuentes es un reto para los equipos de defensa. Para poder protegerse, una organización necesita conocer las nuevas amenazas en cuanto aparecen. Los informes de inteligencia le permiten conocer las más recientes herramientas maliciosas y las TTP de los atacantes. Si desea mantenerse al día de las últimas TTP utilizadas por los delincuentes, o si tiene alguna pregunta sobre nuestros informes privados, escríbanos a crimewareintel@kaspersky.com.
Indicadores de compromiso (MD5)
Lumma
6b4c224c16e852bdc7ed2001597cde9d
844ab1b8a2db0242a20a6f3bbceedf6b
a09daf5791d8fd4b5843cd38ae37cf97
5aac51312dfd99bf4e88be482f734c79
d1f506b59908e3389c83a3a8e8da3276
c2a9151e0e9f4175e555cf90300b45c9
Zanubis
054061a4f0c37b0b353580f644eac554
a518eff78ae5a529dc044ed4bbd3c360
41d72de9df70205289c9ae8f3b4f0bcb
9b00a65f117756134fdb9f6ba4cef61d
8d99c2b7cf55cac1ba0035ae265c1ac5
248b2b76b5fb6e35c2d0a8657e080759
a2c115d38b500c5dfd80d6208368ff55
Un cifrador, un stealer y un troyano bancario