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

Se trata de un troyano de acceso remoto (RAT) que data de hace varios años y que sigue siendo ampliamente utilizado en sus distintas variantes creadas a partir de la versión original.

Se trata de un troyano de acceso remoto (RAT) que data de hace varios años y que sigue siendo ampliamente utilizado en sus distintas variantes creadas a partir de la versión original.

njRAT es un troyano de acceso remoto (RAT, por sus siglas en inglés); es decir, un programa malicioso que permite a un atacante controlar remotamente un equipo comprometido y realizar diversas acciones. Las primeras detecciones de njRAT se registraron en el Medio Oriente en 2012, probablemente el lugar donde fue creado , junto a otra variante de este troyano conocida como njw0rm, también desarrollada por el mismo autor. Los productos de ESET detectan esta amenaza como MSIL/Bladabindi.

¿njRAT o njw0rm?

Aunque algunas publicaciones se refieren a los dos como el mismo malware, en algunos casos se describe a njw0rm como una variante que se cree fue desarrollada posteriormente por el autor de njRAT, incorporando funcionalidad para reproducirse automáticamente a través de unidades USB extraíbles. A diferencia de este, njRAT no puede reproducirse automáticamente.

njRAT utilizado como plantilla de malware

El código fuente junto con el programa que lo configura se filtró en foros de la dark web alrededor del año 2013, aunque algunos desarrolladores de malware ya lo estaban utilizando para crear nuevas versiones mejoradas o modificadas bajo otros nombres. Algunas de estas variantes se han utilizado tanto para campañas masivas como en ataques dirigidos a individuos u organizaciones por parte de cibercriminales y grupos de APT.

Un ejemplo fue Operación Spalax, una campaña dirigida a instituciones gubernamentales y empresas en Colombia en la cual se utilizó la versión 0.7.3 de este RAT, también conocida como Lime, la cual incluye funcionalidades como DDoS o cifrado de ransomware.

Desde su filtración la popularidad de njRAT como plantilla de malware no ha mermado y se ha convertido probablemente en el troyano de acceso remoto más prevalente y accesible dada la cantidad de información y tutoriales que existen en la web. Por todo esto es que se suele hablar de njRAT como un RAT commoditie.

Hemos visto varios códigos maliciosos que reutilizan código de njRAT, especialmente sus funcionalidades para recibir y enviar información a sus servidores de Control & Comando y de keylogging, las cuales si bien no son particularmente sofisticadas, son fáciles de utilizar para cualquier desarrollador.

Un caso interesante se dio en una reciente campaña de malware que investigadores de ESET nombraron Janeleiro. Se trata de un troyano bancario que está siendo utilizado en campañas dirigidas a usuarios corporativos en Brasil y cuyo malware principal es una adaptación en .NET del código fuente de NjRAT. Lo interesante de este caso es que Janeleiro comparte con varios troyanos bancarios de América Latina que hemos analizado previamente su principal característica: el uso de ventanas emergentes falsas para suplantar la identidad del banco que la víctima estaba intentando visitar. Sin embargo, a diferencia de los troyanos bancarios que tradicionalmente operan en la región, todos están desarrollados en el lenguaje de programación Delphi.

Lectura Relacionada: Janeleiro:  otro troyano bancario que apunta a usuarios corporativos en Brasil

Es muy común que cuando se reporta que njRAT fue utilizado para algún tipo de ataque o compaña en realidad se esté haciendo referencia a una variante modificada, y que en muchos casos no presente ninguna característica notable (a diferencia del caso de Janeleiro, por ejemplo) que sea valiosa documentar o apartar para un tipo de detección en particular, por lo tanto, se suele utilizar el nombre Bladabindi o njRAT genéricamente para este tipo de variantes. 

Características principales del troyano njRAT

Estas son algunas de las características principales del njRAT original:

  • Desarrollado en el lenguaje de programación C#
  • Captura de pantalla, captura de cámara y audio
  • Captura de pulsaciones de teclado (keylogging)
  • Persistencia en el registro de Windows
  • Manipulación, descarga, extracción, y ejecución de archivos
  • Manipulación del registro de Windows
  • Robo de credenciales
  • Agrega una excepción en el Firewall de Windows para poder comunicarse
  • Conexión al servidor de C&C via Socket TCP y datos codificados en Base64

Complementariamente, la siguiente tabla de MITRE ATT&CK lista algunas técnicas que se han utilizado en variantes de njRAT.

Tecnica ( ID)  NombreDescripción
T10710.001Application Layer Protocol: Web ProtocolsnjRAT  has used HTTP for C2 communications.
T1010Application Window DiscoverynjRAT  gathers information about opened windows during the initial infection.
T1547.001Boot or Logon Autostart Execution: Registry Run Keys / Startup FoldernjRAT has added persistence via the Registry key HKCU\Software\Microsoft\CurrentVersion\Run\ and dropped a shortcut in %STARTUP%.
T1059.003Command and Scripting Interpreter: Windows Command ShellnjRAT  can launch a command shell interface for executing commands.
.001Command and Scripting Interpreter: PowerShellnjRAT has executed PowerShell commands via auto-run registry key persistence.
T15550.003Credentials from Password Stores: Credentials from Web BrowsersnjRAT has a module that steals passwords saved in victim web browsers.
T11320.001Data Encoding: Standard EncodingnjRAT uses Base64 encoding for C2 traffic.
T1005Data from Local SystemnjRAT can collect data from a local system.
T15680.001Dynamic Resolution: Fast Flux DNSnjRAT has used a fast flux DNS for C2 IP resolution.
T1041Exfiltration Over C2 ChannelnjRAT has used HTTP to receive stolen information from the infected machine.
T1083File and Directory DiscoverynjRAT can browse file systems using a file manager module.
T15620.004Impair Defenses: Disable or Modify System FirewallnjRAT has modified the Windows firewall to allow itself to communicate through the firewall.
T1070Indicator Removal on HostnjRAT is capable of deleting objects related to itself (registry keys, files, and firewall rules) on the victim.
T1105Ingress Tool TransfernjRAT can download files to the victim’s machine.
T10560.001Input Capture: KeyloggingnjRAT  is capable of logging keystrokes.
T1112Modify RegistrynjRAT can create, delete, or modify a specified Registry key or value.
T1106Native APInjRAT has used the ShellExecute() function within a script.
T1571Non-Standard PortnjRAT has used port 1177 for HTTP C2 communications.
T1027Obfuscated Files or InformationnjRAT has included a base64 encoded executable.
0.004Compile After DeliverynjRAT  has used AutoIt to compile the payload and main script into a single executable after delivery.
T1120Peripheral Device DiscoverynjRAT will attempt to detect if the victim system has a
T1057Process DiscoverynjRAT can search a list of running processes for Tr.exe.
T1012Query RegistrynjRAT can read specific registry values.
T10210.001Remote Services: Remote Desktop ProtocolnjRAT has a module for performing remote desktop access.
T1018Remote System DiscoverynjRAT can identify remote hosts on connected networks
T1091Replication Through Removable MedianjRAT can be configured to spread via removable drives
T1113Screen CapturenjRAT can capture screenshots of the victim’s machines.
T1082System Information DiscoverynjRAT enumerates the victim operating system and computer name during the initial infection.
T1033System Owner/User DiscoverynjRAT enumerates the current user during the initial
T1125Video CapturenjRAT can access the victim's webcam.

Newsletter

Discusión