Introducción
njRAT es una herramienta de administración remota, RAT por sus siglas en ingles (Remote Administration Tool). Muchos las relacionan con troyanos (por las técnicas que utilizan los ciberdelincuentes para lograr la instalación, ya que suelen ser incrustadas dentro de ficheros aparentemente inofensivos (como podría ser una hoja de Excel, un documento de Word o un ejecutable legal a modo de plantilla). Este tipo de herramientas representan una gran amenaza para usuarios finales como también para grandes, pequeñas y medianas empresas; independientemente de que sean consideradas simples “juguetes” de entrenamiento en el mundo del hacking. Estas herramientas siguen siendo un eslabón importante dentro de la cadena de ataque. Dentro de las facilidades que ofrecen estas herramientas, se encuentra la simplicidad frente a su utilización (al no requerir de conocimientos técnicos avanzados para su utilización). Por otra parte, el acceso que estás proporcionan al atacante, es total (en las máquinas comprometidas y obviamente dependiendo del nivel de privilegio con el cual fueron desplegadas). Cabe anotar que, durante los últimos años las RAT han sido pieza fundamental de muchos ataques coordinados y bien estructurados. Presentándose mayoritariamente durante las etapas de entrega y detonación; para así, dar paso al verdadero ataque. Las RAT pueden robar la información confidencial y enviarla a los ciberdelincuentes. También pueden descargar otro malware y darle acceso de puerta trasera a las máquinas comprometidas e incluso moverse en toda la red, luego de haber robado las credenciales de acceso en las máquinas comprometidas. njRAT apareció hace varios años y aún sigue vigente como: “carga inicial” en muchos ataques. Se encontró por primera vez en junio de 2013, con algunas variantes rastreadas hasta noviembre de 2012. Fue creada por una organización de ciberdelincuentes de diferentes países, llamada Sparclyheason y a menudo se usaba contra objetivos en el Medio Oriente. Es considerada por Microsoft como una amenaza “Severa” y se puede utilizar para controlar redes de zombies (Botnets).
Funcionalidades
- Escritorio Remoto y Ventana activa.
- Conocer toda la información de configuración de la máquina víctima.
- Ejecución remota de archivos.
- Manipulación de archivos.
- Abrir shell de manera remota, permitiendo la ejecución de comandos.
- Abrir administrador de procesos.
- Manipular el registro de Windows.
- Utilizar la cámara y el micrófono de la máquina comprometida.
- Registro de pulsaciones del teclado (keylogger).
- Robar las contraseñas almacenadas en los navegadores u otras aplicaciones.
- Ransomware.
Entre muchas otras más. Es de resaltar que, a este tipo de herramientas se les puede incorporar módulos diseñados a la medida, los cuales aumentan su lesividad.
Por todo lo anterior, njRAT debe ser considerada como pieza clave de un ataque sofisticado y potencialmente dirigido; sin descartar que pueda ser fruto de un ataque proveniente de una “Amenaza Persistente Avanzada – APT”. Todo esto, cimentado en las tácticas, técnicas y procedimientos (TTP); utilizadas por los ciberdelincuentes y los objetivos en los cuales han puesto su atención.
Metodología seguida
La metodología seguida para la investigación completa sobre la amenaza es la siguiente:
- Análisis Estático
- Individualización y Clasificación
- Análisis Dinámico
- Extracción de IOC
- Análisis de Memoria
- Mirando al interior de los procesos
En el presente artículo será analizado la primera fase de la metodología (Análisis Estático). En siguientes artículos serán mostradas las siguientes fases de esta.
Análisis Estático
La operación comienza con la recepción de la muestra o en su defecto “la cacería” de la misma. Para este ejercicio vamos a utilizar una muestra identificada con el hash MD5 0707e1f3e9ccdfc49b328eea82a0a28a, cuyo nombre de archivo es: ImagnPjgYOPERUTB9293290912001 ImagnPjgYOPERUTB9293290912002.UUE.
Nota: Como el objeto de este articulo no está relacionado con la cacería del malware, vamos a obviar esa parte e irnos directamente a lo plasmado en la metodología (ése será tema de otro artículo más adelante;).
Una vez tenemos la muestra de malware en nuestro poder, debemos comenzar por el principio; que no es otro que realizar el análisis estático. El cual consiste en analizar el binario sin ejecutarlo, con la finalidad de extraer la mayor cantidad de información posible.
Esta parte de la operación es más fácil de realizar y nos va a permitir extraer los metadatos asociados con el fichero malicioso. Esta etapa puede no revelar toda la información que necesitamos, pero suele proporcionar información interesante y valiosa; que nos ayudará a determinar “dónde enfocar los esfuerzos más adelante”. En síntesis, esta valoración inicial nos permitirá tomar una determinación “consciente” sobre el camino que deseamos tomar frente a todas las etapas siguientes de la operación.
Individualización y Clasificación
Lo primero que debemos hacer es validar el tipo de archivo que vamos a analizar:
Como se puede observar en la imagen, se trata de un fichero RAR v5; el cual posee la extensión UUE. Si es una extensión desconocida para nosotros, procedemos a indagar sobre la misma y esto lo podemos hacer en nuestra biblioteca personal, motor de búsqueda preferido, etc.
¿Qué encontramos sobre UUE?
UUE es un archivo codificado con uuencode, un programa que convierte archivos binarios a un formato de texto. Almacena la representación textual codificada de un archivo binario y primero debe decodificarse para abrir el archivo original. Se usa principalmente para enviar documentos por correo electrónico de forma segura, evitando la corrupción de datos en el proceso de envío. La extensión se derivó de uuencode. El formato de archivo UUE es nativo del sistema Unix y la codificación y decodificación de archivos UUE se puede hacer fácilmente con sus herramientas integradas uuencode y uudecode. Pero, si desea utilizar archivos UUE en Windows, necesitará una utilidad de compresión adicional como Winzip, 7zip, etc.
Ahora todo está más claro para mi, ¿Y para ustedes?
Les pregunto: ¿A partir del tipo de archivo que podríamos inferir sobre la muestra?
Tenemos que pensar como si fuésemos los malos, es decir, como un sombrero negro…
Así esta mejor 😉
Ya con el sombrero puesto y recordando nuestros años de juventud, cuando administrábamos antivirus, antispam, appliances de seguridad y toda esa parafernalia tan costosa; se me ocurre lo siguiente:
- Evasión de filtros a nivel de antispam.
- Evasión de filtros a nivel de ENP (EndPoint).
- Evasión de la detección por firma.
- Al tener un nombre de archivo tan grande se pueden evadir reglas de restricción creadas a partir de expresiones regulares.
- Incremento de las probabilidades de éxito en la entrega de la carga inicial y por consiguiente en la etapa de detonación.
Podrían ser más, pero por ahora así esta bien.
¡Ahora sí! Metiéndole ganas y mucho optimismo, vamos a decodificar el fichero esperando que resulte en un buen corte.
¡Lo dicho! Tenemos un archivo codificado en UUE, el cual tiene un peso original de 703.488 bytes y codificado de 222.661 bytes: Que fue modificado por última vez el 26/06/2019 a las 11:13 con un valor para comprobación de redundancia cíclica de 8A04E5D2 (sirve para detectar alteración en los datos). Una vez decodificado, luce así:
Lo primero que debería llamarnos la atención es que posee un icono correspondiente a Microsoft PowerPoint y como dato interesante podemos observar que, no es posible ver a simple vista el tipo de extensión del archivo. Esto es posible porque han utilizado una táctica para ocultar la extensión, la cual consiste en utilizar un nombre de archivo de más de 50 caracteres (en este caso utilizaron 75). En esta imagen se puede apreciar la extensión del archivo y la longitud del nombre del mismo:
¡Baia, baia!
¡Así es, huele a rata!
Debemos repetir el proceso de individualización y clasificación del binario decodificado. Aquí comenzamos a obtener información importante para la clasificación de la muestra, podemos evidenciar que se trata de un PE32 ejecutable para MS Windows. Sin embargo, vamos a necesitar más información:
En la imagen anterior se puede ver con más claridad las características del binario, dentro de las cuales encontramos la siguiente información:
- Hash MD5 c5ed80d32ed1ae84e57659ef0a38cd34
- Fecha de compilación (2019/05/21) a las 00:11:47.
- Tiene una sección sospechosa dentro de la estructura PE (.reloc).
- Probablemente empaquetado.
- Posee tres recursos (2 de iconos y uno HTML).
.reloc es una sección de uso limitado y sirve para la reubicación de la base, que es un ajuste a una instrucción o variable no inicializada. De lo contrario, la información no es necesaria y se ignora.
El malware se puede clasificar a través de una técnica que conocida como Section Hashing, la cual consiste en hashear las secciones del binario, esto nos va a ayudar a identificar muestras relacionadas, se puede evidenciar el hash de la sección aquí:
Referencias de la muestra en Internet
Ahora con una simple búsqueda vamos a poder validar si existe información que haga referencia a nuestra muestra (la idea es identificar la clase de RAT con la que vamos a lidiar).
Si accedemos al resultado obtenido por totalhash.cymru a través de la ruta https://totalhash.cymru.com/analysis/?38e2c801203dbe0310377ecb574b48dc2dd50d4a podemos ver información relacionado a dicho IoC asociado a la sección.
Si realizamos una búsqueda del hash anterior en VirusTotal descubrimos que este tiene presencia en dicha plataforma. La muestra es enviada a VT el 15 de noviembre de 2013 siendo un PE ejecutable para MS Windows. Si prestamos atención al recuadro en rojo de la imagen inferior, podemos ver que la firma de Microsoft categoriza la amenaza como Backdoor:MSIL/Bladabindi. En el siguiente enlace puede consultarse información relativa al hash: https://www.virustotal.com/gui/file/d6206813f9eeff3d833e3a19ecc49ab2e5c8ca3259e57ccfb8762d8302b16e81
Búsqueda de Información del Malware en Fuentes Públicas
Ahora vamos a validar qué información existe sobre nuestra muestra, exactamente en google. Aquí podemos obervar que sólo nos arroja un resultado, una url que nos llevará a Any.run
Una vez accedemos al recurso ofrecido por Any.run se podrá apreciar en la esquina superior derecha, la fecha en que fue enviada la muestra a la sandbox; lo que quiere decir que existen más actores interesados en el análisis de la muestra; como también información cronológica sobre la campaña y el incremento de probabilidades sobre la existencia de más víctimas impactadas.
Referencias de la muestra en VirusTotal
En la esquina superior derecha se puede evidenciar la fecha de envío de la muestra y en los cuadros resaltados en color rojo se puede apreciar el nombre de la firma para la detección del malware.
Conclusiones
Después de realizar el análisis estático podemos obtener las siguientes conclusiones:
Rastreamos muestras similares a partir del 2 de diciembre de 2013
Logramos identificar la fecha de compilación: (2019/05/21) Martes 21 de mayo a las 00:11:47 lo que nos dice que es la campaña del segundo trimestre de 2019.
Encontramos una muestra idéntica, quemada en anyrun el 28 de junio de 2019 a las 04:19 lo que evidencia que entre la fecha de compilación y la fecha de ejecución en el servicio de publico de sandbox, hay 39 días.
La ultima vez que fue analizada la muestra en VirusTotal fue el 4 de julio de 2019 (7 días después del análisis en AnyRun).
La muestra posee una sección de reubicación sospechosa, la cual ha sido utilizada en malware de la misma familia (Bladabindi) desde junio 22 de 2014.
Tenemos un punto de apoyo para el análisis dinámico (el registro de ejecución de la muestra en el servicio de AnyRun.
A pesar de que tenemos fuertes indicios de que se trata de njRAT, aún no hemos hecho nuestra comprobación manual por firma.
Tenemos pendiente la extracción de strings y la correlación de información, para luego pasar al análisis dinámico.
En el siguiente artículo continuaremos con la segunda fase de la metodología aplicada a la investigación sobre njRAT, en este caso el análisis dinámico. 4sec 😉