Infranus es un spyware que ha ido evolucionando en poco tiempo hasta convertirse en un código malicioso con características de troyano bancario. Ha sido detectado por nuestras soluciones de seguridad como MSIL/Infranus.A, desde finales de octubre 2023 hasta septiembre 2024, y observamos un aumento significativo de su actividad en  junio y agosto de 2024

La gran mayoría de las víctimas son residentes de México y pertenecen al rubro de construcción, educación, venta de autopartes, aunque hay indicios de que también afectó a usuarios hogareños.

Dado los distintos rubros a los que pertenecen las víctimas que, a simple vista, no tienen una relación entre ellas, nos lleva a pensar que los cibercriminales podrían estar utilizando como técnica de acceso inicial, el envío de correos electrónicos con algún tipo de engaño.

Algunas cadenas del código malicioso están escritas en portugués -particularmente la información que se envía al servidos que controlan los cibercriminales- y, considerando que las víctimas mayoritariamente son hispanoparlantes, podríamos suponer que los cibercriminales son lusoparlantes.

Los ciberdelincuentes han realizado diversas modificaciones al código, lo que sugiere que aún no se ha alcanzado una versión estable y que las variaciones podrían depender del tipo de información sensible que buscan extraer, como credenciales de cuentas de Google.

Las distintas versiones en poco tiempo que se han visto nos muestran que los cibercriminales están determinados en encontrar un código malicioso que pueda cumplir con sus expectativas. Podrían aparecer nuevas versiones en el tiempo o los cibercriminales podrían utilizar técnicas más complejas de ofuscación para evadir soluciones de seguridad o dificultar el trabajo de un analista.

En el siguiente gráfico se puede ver cómo es la distribución por países para la detección MSIL/Infranus.A, desde que comenzó a verse en nuestros sistemas de telemetría interna hasta principios de septiembre del 2024. El mismo demuestra la fuerte presencia de esta amenaza en México.

Actividades Maliciosas

Este código malicioso posee características de spyware y troyano bancario. Algunas de estas características son modificar el contenido del portapapeles de la víctima e impersonar entidades bancarias de México.  La información robada es envíada luego hacia un servidor controlado por los cibercriminales.

NOTA: En análisis detallado a continuación se realizó sobre la muestra con hash F1328CCB9196EE7BFC9B1148506F7E570FB06D60.

Durante nuestro análisis, hemos visto que este código malicioso presenta una leve ofuscación con la herramienta Eazfuscator para complejizar el análisis del código o evadir una detección de seguridad.

En la siguiente captura de pantalla puede verse a la izquierda, y remarcado en rojo, instrucciones agregadas por el ofuscador, y a la derecha la misma funcionalidad sin la capa de ofuscación:

Ilustración 2: 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 comienza con la creación de un Mutex con nombre “ NopDups5” el cual es utilizado para evitar que el código malicioso se ejecute múltiples veces de forma simultánea. Luego, procede a obtener mediante la API de Windows GetVolumeInformationA el número de serie del disco de la máquina de la víctima, el cual creemos que es utilizado por los cibercriminales para identificar a sus víctimas. A su vez, ese identificador es utilizado en una solicitud HTTP hacia un servidor controlado por los cibercriminales como se puede ver a continuación.

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

Acto seguido, comienza con la inicialización de diferentes variables y componentes. Estas variables son utilizadas para distintos fines, por ejemplo:

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

En el caso de los componentes, el código malicioso es capaz de crear botones, títulos de texto y ventanas emergentes utilizando el marco Windows Forms perteneciente al framework Microsoft .NET. A su vez, crea cinco Timers o temporizadores los cuales son descriptos a continuación en la siguiente tabla.

#@#download_widget language='1' id='1411'#@#

En base a lo descripto en la tabla anterior, el uso de estos Timers le permite al código malicioso mantener una ejecución en la máquina de la víctima comunicándose activamente contra el servidor malicioso y esperando que la víctima navegue o visite una página web que sea del interés de los cibercriminales.

A continuación, enumeramos algunas de las palabras utilizadas por el código malicioso en el listado mencionado en el temporizador “2”:

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

Con respecto a la comunicación que se establece hacia el servidor, este código malicioso se conecta hacia la IP 172.86.106.192, utilizando el puerto 9393, y el protocolo TCP. No hemos visto que se utilice algún tipo de cifrado sofisticado para él envió de la información.

A su vez, el código malicioso utiliza la siguiente secuencia de caracteres “<!¡>” como un separador entre las distintas cadenas de caracteres que se envían hacia el servidor malicioso. Esta misma secuencia es utilizada para separar la información recibida por el servidor.

La siguiente captura de pantalla muestra resaltado, un ejemplo de la información que puede ser enviada hacia el servidor malicioso.

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

Como se puede ver en la ilustración anterior, el código malicioso en este caso envía hacia el servidor controlado por los cibercriminales, el título de la ventana activa que la víctima está viendo en ese momento. Las primera letras que aparecen “AW” es muy probable que provengan del inglés “Active Window” o “Ventana Activa”.

Por otro lado, al establecerse la comunicación hacia el servidor malicioso, el código malicioso contiene una lógica encargada de recibir información del servidor y realizar distintas acciones maliciosas en la máquina de la víctima. Para ello, el código malicioso posee una funcionalidad de hashing la cual es utilizada para calcular un hash en base a la primer cadena de caracteres recibida del servidor.

En base a la información recibida desde el servidor malicioso y el resultado de la funcionalidad de hashing mencionada anteriormente el código malicioso determina que acción debe ejecutarse.

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

Ilustración 4: Pseudocódigo de la funcionalidad del hashing utilizada en el código malicioso.

A continuación se mencionan las acciones maliciosas que el código malicioso es capaz de hacer:

  • Crear una pantalla bloqueante o que requiera interacción de la víctima ingresando algún tipo de información sensible, impersonando alguna entidad bancaria utilizada en México, algunos ejemplos son:

o   Scotia Bank

o   BanBajio

o   Banamex

o   BBVA

o   Vepormas

o   Santander

o   Afirme

o   Banregio

  • Modificar el contenido del portapapeles o clipboard de la víctima
  • Enviar información de la máquina de la víctima hacia el servidor controlado por los cibercriminales

o   Nombre del equipo y nombre del usuario

o   Nombre del sistema operativo

o   ID de la víctima

  • Activar o Desactivar el administrador de Tareas de Windows manipulando los registros de Windows
  • Activar o Desactivar la opción de Restaurar el Sistema de Windows manipulando los registros de Windows
  • Activar o Desactivar la consola de comandos de Windows manipulando los registros de Windows
  • Reiniciar la máquina de la víctima
  • Bloquear el mouse y el teclado de la máquina de la víctima por medio de la API de Windows BlockInput
  • Realizar capturas de pantalla de la máquina de la víctima
  • Obtener la resolución utilizada en la máquina de la víctima
  • Mover el cursor del mouse de la máquina 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 etapa de análisis hemos visto que este código malicioso puede crear un archivo llamado note.dll sobre la carpeta %APPDATA%, así como también puede escribirle información y enviar su contenido hacia el servidor controlado por los cibercriminales. Al no haber tenido información suficiente de este archivo, no se puede determinar con exactitud el motivo de su creación o usabilidad.

Por otro lado, hemos visto que si se llega a producir un error durante la ejecución del código malicioso que produzca alguna excepción, este error va a ser guardado en un archivo Dbg2.txt, y el contenido de este archivo puede ser enviado a los cibercriminales. Esto es algo no común de ver ya que por lo general los cibercriminales suelen hacer varias pruebas en sus códigos malicioso antes de propagarlos sobre sus víctimas.

Las siguientes capturas de pantalla muestran ejemplos del pseudocódigo del código malicioso sobre diferentes acciones maliciosas.

 

Ilustración 5 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.

Ilustración 6 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 caracteristica interesante de este código malicioso, es que el mismo no posee las imágenes que son utilizadas para impersonar las diferentes entidades bancarias, sino que las mismas están alojadas en internet y solo descarga aquella imagen que vaya a utilizar.

NOTA: La muestra analizada utiliza el siguiente dominio para alojar las estas imágenes images.cdn-css.xyz.

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

Ilustración 8: Ejemplo de imagen que puede ser descargada y utilizada por el código malicioso impoersonando una enteidad bancaria de México

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

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

Análisis de diferentes versiones

Durante la etapa de análisis de este código malicioso, hemos encontrado versiones antiguas del mismo las cuales poseían menores o diferentes características maliciosas. Por ejemplo en una versión se vio que el código malicioso si contenía imágenes alojadas en los recursos del mismo, pero en ese caso eran imágenes para impersonar el inicio de sesión de Google. También hemos visto algunas versiones que tenían en sus recursos imágenes para impersonar entidades bancarias pero la cantidad de entidades a impersonar era menor a la de la muestra analizada en el apartado anterior.

A su vez, se vio también que la cantidad de acciones maliciosas a ejecutar en la máquina de la víctima era diferente, por ejemplo, en algunos casos no se detectó que haya una lógica buscando impersonar la misma cantidad de entidades bancarias como en la muestra analizada, pero si se vio una lógica en esta versión antigua que permitía ejecutar comandos o código PowerShell invocando directamente al interprete powershell.exe.

La siguiente captura de pantalla muestra una imagen alojada en los recursos de una versión vieja de este código malicioso con hash 4ECCFEF5DE65D790CEA93DFFA6FB6547C63747ED, utilizada para impersonar a Google.

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

La siguiente captura de pantalla muestra a la izquierda la lógica utilizada por las versiones más nuevas del código malicioso cuando se empieza a ejecutar el mismo en la máquina de la víctima y a la derecha la misma función pero en versiones más antiguas del mismo código malicioso.

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

Conclusión

Infranus es un spyware que ha ido evolucionando en poco tiempo hasta convertirse en un código malicioso con características de troyano bancario permitiéndole así obtener información sensible de su víctima de diferente índole.

Las distintas versiones que se han visto en el poco tiempo nos muestran que los cibercriminales están determinados en encontrar un código malicioso que pueda cumplir con sus expectativas indicándonos que pueden llegar a aparecer nuevas versiones en el tiempo o, que utilicen técnicas más complejas de ofuscación buscando evadir soluciones de seguridad o dificultar el trabajo de un analista.

A su vez, si bien el código malicioso se lo ve muy activo en un solo país, dado los distintos rubros vistos sobres las víctimas y que a simple vista no haya una relación entre las mismas, nos hace pensar que los cibercriminales pueden estar utilizando como técnica de acceso inicial, el uso de correos electrónicos con algún tipo de engaño sobre sus víctimas.

Por último, se han detectado algunas cadenas de caracteres dentro del código malicioso en portugués, particularmente cuando se envía información al servidor controlado por los cibercriminales. Si consideramos que las víctimas objetivo de este código malicioso son personas de habla hispana particularmente ubicadas en México entonces, esto podría ser tomado como un vago indicador de que los cibercriminales son lusoparlantes.

Hashes

Hashes de 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 MITRE ATT&CK

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

Táctica

Técnica (ID)

Nombre

Resource Development

T1587.001

Develop Capabilities: Malware

Execution

T1059.001

Command and Scripting Interpreter: PowerShell

T1106

Native API

Defense Evasion

T1564.003

Hide Artifacts: Hidden Window

T1112

Modify Registry

T1027

Obfuscated Files or Information

Collection

T1056.001

Input Capture: Keylogging

T10564.004

Input Capture: Credential API Hooking

T1113

Screen Capture

Command and Control

T1571

Non-Standard Port

T1132.001

Data Encoding: Standard Encoding

Impact

T1529

System Shutdown/Reboot

T1565

Data Manipulation

Exfiltration

T1041

Exfiltration Over C2 Channel