Infranus es un spyware que ha evolucionado rápidamente, convirtiéndose en un código malicioso con características de troyano bancario. Las soluciones de seguridad de la marca ESET, lo han identificado como MSIL/Infranus.A, desde finales de octubre de 2023 hasta septiembre de 2024, y hemos notado un aumento considerable en su actividad durante los meses de junio y agosto de 2024.

La gran parte de las víctimas son habitantes de México y provienen de sectores como la construcción, la educación y la venta de autopartes, aunque también hay señales de que ha tenido un impacto en usuarios domésticos.

Dada la diversidad de sectores a los que pertenecen las víctimas, que a primera vista no parecen estar relacionadas, se puede suponer que los cibercriminales podrían estar utilizando el envío de correos electrónicos engañosos como técnica de acceso inicial.

Algunas partes del código malicioso están redactadas en portugués, especialmente la información que se envía a los servidores controlados por los cibercriminales. Dado que la mayoría de las víctimas son hispanoparlantes, podríamos inferir que los cibercriminales son lusoparlantes.

Los ciberdelincuentes han realizado varias alteraciones en el código, lo que indica que aún no se ha llegado a una versión estable. Además, las variaciones podrían depender del tipo de información sensible que intentan obtener, como las credenciales de cuentas de Google.

Las diversas versiones que han surgido en un corto periodo revelan que los cibercriminales están decididos a descubrir un código malicioso que se ajuste a sus objetivos. Es posible que en el futuro aparezcan nuevas versiones, o que los cibercriminales empleen técnicas más avanzadas de ofuscación para eludir soluciones de seguridad o complicar la labor de un analista.

Actividades Dañinas.

Este código malicioso presenta características tanto de spyware como de troyano bancario. Entre estas características se incluye la modificación del contenido del portapapeles de la víctima y la suplantación de entidades bancarias en México. La información robada es posteriormente enviada a un servidor controlado por los cibercriminales.

Durante el análisis llevado a cabo por ESET, se puede notar que este malware utiliza una leve ofuscación gracias a la herramienta Eazfuscator, lo que complica el análisis del código o permite evadir la detección de seguridad.

En la siguiente captura de pantalla, a la izquierda y resaltado en rojo, se pueden observar las instrucciones añadidas por el ofuscador, mientras que a la derecha se muestra la misma funcionalidad sin la capa de ofuscación:

Imagen 1.

Comparación del código malicioso ofuscado a la izquierda y a la derecha el mismo código malicioso desofuscado.

Al ejecutarse, este código malicioso inicia creando un Mutex llamado “NopDups5”, que se utiliza para prevenir que el código se ejecute varias veces al mismo tiempo. A continuación, hace uso de la API de Windows GetVolumeInformationA para obtener el número de serie del disco de la máquina de la víctima, el cual se cree que los cibercriminales utilizan para identificar a sus objetivos. Además, este identificador se envía en una solicitud HTTP a un servidor controlado por los cibercriminales, como se muestra a continuación.

https://images.cdn-css.xyz/api.php?hwid=ID_VICTIMA&sec=a03kd

A continuación, procede a la inicialización de diversas variables y componentes. Estas variables se emplean para diferentes propósitos, por ejemplo:

  • Establecer comunicación con un servidor controlado por los cibercriminales.
  • Punteros a objetos para engancharse o interceptar el teclado de la víctima.
  • Valores booleanos para, por ejemplo, controlar el mouse o teclado de la víctima.

En lo que respecta a los componentes, el código malicioso tiene la capacidad de generar botones, encabezados de texto y ventanas emergentes a través del marco Windows Forms del framework Microsoft .NET. Además, se crean cinco temporizadores, que se describen a continuación en la tabla siguiente.

#@#download_widget language=’1′ id=’1411’#@#

Basado en la información presentada en la tabla anterior, el uso de estos temporizadores permite que el código malicioso continúe ejecutándose en la máquina de la víctima, estableciendo una comunicación activa con el servidor malicioso y aguardando que la víctima navegue o acceda a una página web de interés para los cibercriminales.

A continuación, detallamos algunas de las palabras empleadas por el código malicioso en la lista del temporizador «2»:

  • Banamex
  • Citibanamex
  • Santander M
  • Banca Santander
  • HSBC G
  • Scotiabank M
  • SEL – Scotia en L
  • Afirme
  • BajioNet
  • CIBanco
  • MIFEL
  • Multiva
  • Bitso
  • BBVA

En relación con la comunicación establecida hacia el servidor, este código malicioso se conecta a la IP 172.86.106.192, empleando el puerto 9393 y el protocolo TCP. No hemos observado el uso de ningún tipo de cifrado avanzado para el envío de la información.

El código malicioso emplea la secuencia de caracteres “<!¡>” como un delimitador entre las diferentes cadenas de texto que se envían al servidor malicioso. Esta misma secuencia se utiliza también para separar la información que el servidor recibe.

La siguiente captura de pantalla destaca un ejemplo de la información que puede ser enviada al servidor malicioso.

Imagen 2.

Ejemplo de información enviada hacia el servidor controlado por los cibercriminales.

Como se ilustra anteriormente, el código malicioso en este caso envía al servidor controlado por los cibercriminales el título de la ventana activa que la víctima está visualizando en ese momento. Las primeras letras que se muestran, “AW”, probablemente provienen del inglés “Active Window” o “Ventana Activa”.

Por otro lado, al establecer la comunicación con el servidor malicioso, el código malicioso incluye una lógica que recibe información del servidor y lleva a cabo diversas acciones maliciosas en la máquina de la víctima. Para esto, el código malicioso cuenta con una funcionalidad de hashing que se utiliza para calcular un hash basado en la primera cadena de caracteres recibida del servidor.

A partir de la información recibida del servidor malicioso y del resultado de la funcionalidad de hashing mencionada, el código malicioso determina qué acción debe realizar.

La siguiente captura presenta en pseudocódigo la funcionalidad de hashing utilizada por el código malicioso.

Imagen 3.

Pseudocódigo de la funcionalidad del hashing utilizada en el código malicioso.

A continuación, se detallan las acciones maliciosas que puede llevar a cabo el código perjudicial:

  • Crear una pantalla de bloqueo o que necesite la interacción de la víctima mediante la introducción de información sensible, haciéndose pasar por alguna entidad bancaria que opera en México, algunos ejemplos son:
    • Scotia Bank
    • BanBajio
    • Banamex
    • BBVA
    • Vepormas
    • Santander
    • Afirme
    • Banregio
  • Modificar el contenido del portapapeles de la víctima.
  • Transferir la información de la máquina de la víctima al servidor controlado por los cibercriminales.
    • Nombre del equipo y nombre del usuario
    • Nombre del sistema operativo
    • ID de la víctima
  • Activar o desactivar el Administrador de Tareas de Windows mediante la modificación de los registros de Windows.
  • Activar o desactivar la función de Restaurar el Sistema de Windows ajustando los registros de Windows.
  • Activar o desactivar la consola de comandos de Windows mediante la manipulación de los registros de Windows.
  • Reiniciar el sistema de la víctima
  • Bloquear el ratón y el teclado de la computadora de la víctima utilizando la API de Windows BlockInput.
  • Capturar pantallas de la computadora de la víctima.
  • Obtener la resolución que se utiliza en la máquina de la víctima.
  • Desplazar el puntero del ratón en la computadora de la víctima.
  • Pulsar teclas del teclado de la víctima
  • Apagar/Prender el monitor de la máquina de la víctima
  • Desinstalar el código malicioso de la máquina de la víctima
  • Cerrar la sesión activa de Windows de la máquina de la víctima [FT1]
  • Enviar al servidor malicioso, la información contenida de un archivo llamado Dbg2.txt

Durante la fase de análisis, hemos descubierto que este código malicioso tiene la capacidad de crear un archivo llamado note.dll en la carpeta %APPDATA%. Además, puede escribir información en este archivo y enviar su contenido a un servidor controlado por los cibercriminales. Debido a la falta de información suficiente sobre este archivo, no es posible determinar con precisión el propósito de su creación o su funcionalidad.

Por otro lado, hemos observado que si ocurre un error durante la ejecución del código malicioso que genere alguna excepción, este error se registrará en un archivo llamado Dbg2.txt. El contenido de este archivo podría ser enviado a los cibercriminales. Esto es poco habitual, ya que generalmente, los cibercriminales realizan múltiples pruebas en su código malicioso antes de difundirlo entre sus víctimas.

Las imágenes a continuación presentan ejemplos de pseudocódigo relacionado con diversas acciones maliciosas.

Imagen 4.

Pseudocódigo de la lógica utilizada en el código malicioso para realizar capturas de pantalla de la máquina de la víctima.

Imagen 5.

Pseudocódigo de las funcionalidades utilizadas en el código malicioso para cerrar la sesión del usuario o desinstalar el código malicioso en la máquina de la víctima.

Una característica interesante de este código malicioso es que no incluye las imágenes utilizadas para suplantar a las diversas entidades bancarias. En su lugar, estas imágenes se encuentran alojadas en internet y el código solo descarga aquella que necesita utilizar.

Las siguientes capturas de pantalla muestran distintos ejemplos de las pantallas utilizadas por el código malicioso para empersonar entidades bancarias.

Imagen 6.

Ejemplo de imagen que puede ser descargada y utilizada por el código malicioso impersonando una entidad bancaria de México.

Imagen 7.

Ejemplo de imagen que puede ser descargada y utilizada por el código malicioso impersonando una entidad bancaria de México.

Imagen 8.

Ejemplo de imagen que puede ser descargada y utilizada por el código malicioso impersonando una entidad bancaria de México.

Análisis de diversas versiones.

Durante el análisis de este código malicioso, encontramos versiones anteriores que presentaban características maliciosas menores o diferentes. Por ejemplo, en una de las versiones se observó que el código incluía imágenes almacenadas en sus recursos, las cuales eran utilizadas para suplantar la pantalla de inicio de sesión de Google. Además, identificamos algunas versiones que contenían imágenes para impersonar entidades bancarias, aunque la cantidad de entidades a las que se hacía referencia era inferior a la de la muestra analizada en la sección anterior.

A su vez, se observó que la cantidad de acciones maliciosas a realizar en la máquina de la víctima variaba. Por ejemplo, en algunos casos no se detectó la misma lógica que intentaba suplantar diversas entidades bancarias como en la muestra analizada. Sin embargo, se notó una lógica en esta versión antigua que permitía ejecutar comandos o código PowerShell llamando directamente al intérprete powershell.exe.

La captura de pantalla a continuación presenta una imagen que se encuentra en los recursos de una versión antigua de este código malicioso, que tiene el hash 4ECCFEF5DE65D790CEA93DFFA6FB6547C63747ED y que fue utilizada para suplantar a Google.

Imagen 9.

Ejemplo de una imagen alojada dentro de los recursos de una versión vieja del código malicioso.

La siguiente imagen presenta, a la izquierda, la lógica empleada por las versiones más recientes del código malicioso al iniciarse en la máquina de la víctima, y a la derecha, la misma función pero correspondiente a versiones más antiguas de dicho código malicioso.

Imagen 10.

Comparación del método Form1_Load entre diferentes versiones del código malicioso.

Conclusión.

Infranus es un spyware que ha evolucionado rápidamente, convirtiéndose en un código malicioso con características de troyano bancario. Esto le permite recopilar información sensible de diversas categorías sobre sus víctimas.

Las diversas versiones que hemos observado en tan poco tiempo demuestran que los cibercriminales están decididos a encontrar un código malicioso que se ajuste a sus objetivos. Esto sugiere que podríamos ver nuevas versiones en el futuro o que empleen técnicas más sofisticadas de ofuscación, con el fin de eludir soluciones de seguridad o complicar la labor de un analista.

A pesar de que el código malicioso parece estar muy presente en un solo país, la variedad de sectores afectados y la falta de una relación evidente entre las víctimas sugieren que los cibercriminales podrían estar empleando correos electrónicos con algún tipo de engaño como técnica de acceso inicial.

Por último, se han identificado algunas cadenas de texto en portugués en el código malicioso, especialmente al enviar información al servidor controlado por los cibercriminales. Si tenemos en cuenta que las víctimas objetivo de este malware son personas de habla hispana, especialmente en México, esto podría interpretarse como un débil indicio de que los cibercriminales son hablantes de portugués.

Hashes.

Hashes de las muestras analizadas

  • F1328CCB9196EE7BFC9B1148506F7E570FB06D60 – MSIL/Infranus.A
  • AE3C41D5A01867BD942B68E8E7D148F1A7623FBC – MSIL/Infranus.A
  • 4ECCFEF5DE65D790CEA93DFFA6FB6547C63747ED – MSIL/Infranus.A
  • 76B43B03BE590341C43B41F0CCF1B0C741FD5197 – MSIL/Infranus.A
  • DFC940C1B6B107FD6B176C1AACE911B7F1FAF39A – MSIL/Infranus.A
  • C63BF9A4F83297086986F985E810A4AB71C6B16A – MSIL/Infranus.A
  • DE5F66A9B25622C13BBC0047E7EB7001FCA443B0 – MSIL/Infranus.A

Técnicas del MITRE ATT&CK.

A continuación, se presentan las técnicas de MITRE ATT&CK observadas en las muestras analizadas:

Táctica

Técnica (ID)

Nombre

Resource Development

Develop Capabilities: Malware

Execution

Command and Scripting Interpreter: PowerShell

Native API

Defense Evasion

Hide Artifacts: Hidden Window

Modify Registry

Obfuscated Files or Information

Collection

Input Capture: Keylogging

Input Capture: Credential API Hooking

Screen Capture

Command and Control

Non-Standard Port

Data Encoding: Standard Encoding

Impact

System Shutdown/Reboot

Data Manipulation

Exfiltration

Exfiltration Over C2 Channel

Fuente web: https://www.welivesecurity.com/es/investigaciones/infranus-troyano-bancario-distribuyendose-mexico/