Investigadores de ESET descubrieron un actor de amenazas que viene llevando adelante campañas maliciosas enfocadas en usuarios corporativos de Argentina distribuyendo un conocido troyano de acceso remoto (RAT, por sus siglas en inglés) para espiar en los equipos de sus víctimas. Podemos afirmar, con un alto nivel de confianza, que este actor malicioso no es muy sofisticado y que es del mismo país que las organizaciones apuntadas.

Decidimos llamarlo LuxPlague, ya que tras un exhaustivo análisis de distintas muestras de malware utilizadas pudimos determinar que, según los datos de nuestra telemetría, este actor de amenazas es el responsable del mayor porcentaje de detecciones de NjRAT en Argentina, un popular troyano que suele ser utilizado por otros actores maliciosos como plantilla de malware.

Lectura recomendada: njRAT: un troyano de acceso remoto ampliamente utilizado por distintos cibercriminales

A partir del análisis de las muestras que recolectamos del malware, las URL y las direcciones IP asociadas de los servidores de C&C utilizados para controlar remotamente los equipos comprometidos de sus víctimas, creamos un mapa bastante completo de las actividades de este actor malicioso, la cual se remonta al menos a 2018 y se mantenía en actividad a fines de 2021.

Cadena de infección de LuxPlague

Cuando un actor malicioso comienza a enfocarse en un objetivo en particular y utiliza ciertas temáticas específicas resulta más fácil detectar una campaña activa y atribuirla a un determinado grupo. Y esto fue precisamente lo que sucedió con LuxPlague.

Si bien al momento de escribir este artículo este operador se mantiene en actividad, describimos el comportamiento que ha tenido sobre la base de una campaña que hemos descubierto y que comenzó en septiembre 2020. La misma incluía el envío masivo de correos de phishing que pretendía engañar a las potenciales víctimas haciéndole creer que se trataba de una notificación de la Administración Federal de Ingresos Públicos (AFIP) de Argentina.

Imagen 1. Cadena de infección de la campaña de septiembre 2020.

Los correos que hemos detectado contenían como adjunto un archivo comprimido en formato ZIP que contiene un archivo .vbs con un script que descarga un falso archivo JPG de un servicio web de hosting de archivos.

La falsa imagen JPG es en realidad un script Powershell que contiene al troyano codificado en base64. Una vez decodificado lo ejecuta dinámicamente utilizando funciones de .NET framework, por lo que el script no almacena al troyano en el disco directamente.

Imagen 2.Codigo PowerShell que decodifica el malware y luego lo ejecuta.

Como adelantamos, el malware que utiliza LuxPlague es una variante de NjRAT, un troyano de código abierto que se cree fue desarrollado originalmente en Medio Oriente y cuyo código después se filtró. La variante utilizada por LuxPlague fue creada por el mismo actor que desarrollo LimeRAT, una versión más poderosa de NjRAT que ha sido utilizada por otros cibercriminales en múltiples campañas a lo largo del mundo.

Capacidades del RAT distribuido por LuxPLague:

  • Conexión al servidor C&C vía Sockets TCP en tiempo real
  • Realizar capturas de pantalla en el equipo comprometido
  • Realizar captura de imágenes a través de la cámara web
  • Registrar pulsaciones de teclado (Keylogging)
  • Ampliar sus capacidades mediante plugins
  • Enumeración de ventanas
  • Establecer persistencia modificando el Registro de Windows y desinstalación automática del malware
  • Actualizarse
  • Modificar el registro de Windows
  • Descargar archivos comprimidos en formato GZIP, extraer su contenido y ejecutarlo
  • Descargar archivos ejecutables desde un servidor web y ejecutarlos

Este RAT está configurado para resolver la IP de la URL avastsecure32.publicvm[.]org, la cual utiliza para conectarse vía TCP por el puerto 3040.

Imagen 3. Código que se encarga de establecer los valores predeterminados de configuración en el troyano. Resaltado: URL del servidor C&C y el número del puerto.

Tras un análisis de las IP asociadas con las distintas URL que identificamos en las muestras creamos una lista bastante completa de varios de los servidores C&C asociados a este actor malicioso:

• avastsecure32.publicvm[.]com
• daleriamz.ddns[.]net
• framework.ddns[.]net
• defenderup64.ddns[.]net
• winup.publicvm[.]com
• pepito1337.hopto[.]org
• updatesvchost.ddns[.]net
• searchwin.ddns[.]net
• microupdate32.ddns[.]net
• owned123.linkpc[.]net
• saynomore.ddns[.]net
• riamz.ddns[.]net
• menem.ddns[.]net
• olala.ddns[.]net
• jamaica123.ddns[.]net

De la fantasía a la realidad

De acuerdo a la campaña que analizamos creemos que el envío de correos de phishing para distribuir la amenaza comenzó con el compromiso de un equipo de una organización gubernamental Argentina. Una vez logrado esto el actor recolectó una base de datos que contenía direcciones de correo de proveedores de todo tipo de industrias, así como de otras organizaciones gubernamentales, para luego utilizar un programa para el envío masivo de malspam.

Si bien el actor de amenazas detrás de LuxPlague no se caracteriza por ser muy sofisticada y esto se observa también en algunas fallas de seguridad presentes en su accionar, vale la pena mencionar que ha continuado probando herramientas para ofuscar binarios y diseminando esta variante de NjRAT a lo largo de todo 2021, por lo que no sabemos cómo utilizará este operador los equipos comprometidos o si habrá algún giro en el objetivo de sus campañas.

Los productos de ESET detectan la variante utilizada por LuxPlague como MSIL/Blandabindi.

Consejos para estar protegido

Considerando que se distribuye a través de correos de phishing, recuerde:

  • No abrir correos si duda de que sean verdaderos
  • Revisar atentamente la dirección del remitente y si es legítima o no
  • No abrir enlaces ni descargar archivos adjuntos en correos enviados por desconocidos
  • Revisar la extensión de los archivos adjuntos para ver si el formato verdadero está oculto
  • Tener una solución de seguridad instalada en su equipo que detecte el adjunto malicioso

Hashes de la campaña de septiembre de 2020

Hash SHA1 Nombre de archivo Nombre de detección de ESET
A4E02E1C136641A37A1BEE0A23E1732B17326996 Notificacion_AFIP.vbs VBS/TrojanDownloader.Agent.UIS trojan
BFF251CE126CCA54613BA50E1B4815424B186518 kzlsh1rsoz84.jpg PowerShell/Injector.AU
581873910CB22EE82D16B263DB10F02A4FC4CA2E MSIL/Bladabindi.AZ trojan

Tabla de MITRE ATT&CK con algunas técnicas que se han utilizado en variantes de njRAT.

Tecnica ( ID) Nombre Descripción
T1071 0.001 Application Layer Protocol: Web Protocols njRAT  has used HTTP for C2 communications.
T1010 Application Window Discovery njRAT  gathers information about opened windows during the initial infection.
T1547 .001 Boot or Logon Autostart Execution: Registry Run Keys / Startup Folder njRAT has added persistence via the Registry key HKCU\Software\Microsoft\CurrentVersion\Run\ and dropped a shortcut in %STARTUP%.
T1059 .003 Command and Scripting Interpreter: Windows Command Shell njRAT  can launch a command shell interface for executing commands.
.001 Command and Scripting Interpreter: PowerShell njRAT has executed PowerShell commands via auto-run registry key persistence.
T1555 0.003 Credentials from Password Stores: Credentials from Web Browsers njRAT has a module that steals passwords saved in victim web browsers.
T1132 0.001 Data Encoding: Standard Encoding njRAT uses Base64 encoding for C2 traffic.
T1005 Data from Local System njRAT can collect data from a local system.
T1568 0.001 Dynamic Resolution: Fast Flux DNS njRAT has used a fast flux DNS for C2 IP resolution.
T1041 Exfiltration Over C2 Channel njRAT has used HTTP to receive stolen information from the infected machine.
T1083 File and Directory Discovery njRAT can browse file systems using a file manager module.
T1562 0.004 Impair Defenses: Disable or Modify System Firewall njRAT has modified the Windows firewall to allow itself to communicate through the firewall.
T1070 Indicator Removal on Host njRAT is capable of deleting objects related to itself (registry keys, files, and firewall rules) on the victim.
T1105 Ingress Tool Transfer njRAT can download files to the victim’s machine.
T1056 0.001 Input Capture: Keylogging njRAT  is capable of logging keystrokes.
T1112 Modify Registry njRAT can create, delete, or modify a specified Registry key or value.
T1106 Native API njRAT has used the ShellExecute() function within a script.
T1571 Non-Standard Port njRAT has used port 1177 for HTTP C2 communications.
T1027 Obfuscated Files or Information njRAT has included a base64 encoded executable.
0.004 Compile After Delivery njRAT  has used AutoIt to compile the payload and main script into a single executable after delivery.
T1120 Peripheral Device Discovery njRAT will attempt to detect if the victim system has a
T1057 Process Discovery njRAT can search a list of running processes for Tr.exe.
T1012 Query Registry njRAT can read specific registry values.
T1021 0.001 Remote Services: Remote Desktop Protocol njRAT has a module for performing remote desktop access.
T1018 Remote System Discovery njRAT can identify remote hosts on connected networks
T1091 Replication Through Removable Media njRAT can be configured to spread via removable drives
T1113 Screen Capture njRAT can capture screenshots of the victim’s machines.
T1082 System Information Discovery njRAT enumerates the victim operating system and computer name during the initial infection.
T1033 System Owner/User Discovery njRAT enumerates the current user during the initial
T1125 Video Capture njRAT can access the victim's webcam.