viernes, 18 de enero de 2019

El pasado siempre vuelve y no todos reaccionan bien.


Durante este mes se procedió a realizar un análisis forense, con la intención de encontrar un proceso que generaba demasiado ruido en la red, pero que termino convirtiéndose en un análisis de malware.

NOTA: Hubo clonado de disco duro para no perjudicar en nada al usuario y así poder trabajar en un entorno controlado, es decir, se tomaron las medidas necesarias en todo análisis forense, quitando la presencia del notario.

Tras arrancar el sistema clonado en un entorno controlado, se pudo ver que por problemas de permisos no se podía continuar, por lo que antes de obtener las credenciales se decidió introducir un pendrive con la esperanza de que se infectara, ya que desde un primer momento se considero la probabilidad de que estuviéramos ante un malware.

¡Y así fue!

Se pudo observar que el antivirus instalado en el disco duro clonado detecto los “enlaces directos” creados por el pendrive. No así un archivo de nombre: Update.js, que poseía atributos: S (sistema) y H (oculto), y que fue descubierto al observar el listado obtenido como consecuencia de ejecutar el comando: attrib.

A partir de este punto, se tomó la determinación de trabajar con el archivo encontrado, y descartar la petición de las credenciales.

Al abrir el documento con la aplicación: notepad, se visualizó el siguiente contenido.

Código encontrado.

Como se pudo observar, dicho código contenía alguna que otra técnica para dificultar su análisis.  Entre las cuales se encontró el uso de códigos de caracteres ASCII, como se pudo apreciar por el uso de la función: String.fromCharCode(<número>)

Por lo que se paso a realizar labores de traducción, obteniendo cadenas del estilo: WScript.Shell, Sys, Wow64, etc. Entre dichas cadenas, las más importante e interesante se encontró al final del documento.

Líneas de código de interés.
Estas líneas tras traducirlas decían:

Líneas traducidas.
De lo cual se deduce que:

1.- Se ejecutará la variable global: s_67950390018

2.- La variable global anterior contendrá información contenida dentro de la variable: s_74911521688, que viene determinada por la siguiente ejecución: Chrw(Ascw(Mid(s_74911521688,i,1))Xor(Eval((50*3)105)))

Por lo tanto, el archivo: Update.js, no es más que un lanzador de código embebido en el propio archivo.

Para extraer el código embebido, contenido en la variable: s_67950390018, se modificó el archivo: Update.js, introduciendo el siguiente:

msgbox(s_67950390018)
Set of=createobject("Scripting.FileSystemObject")
Set at=of.OpenTextFile("CodigoMalware",8,true)
at.WriteLine s_67950390018

Este código graba sobre el archivo: CodigoMalware, el contenido de la variable: s_67950390018

NOTA: msgbox (s_67950390018), muestra por pantalla, como mucho, 256 caracteres del contenido de la variable, por lo que nos sirve como control de ejecución.

En definitiva, el archivo: Update.js, en sus últimas líneas contendrá el siguiente código.

Últimas líneas del archivo: Update.js

Tras su ejecución, se pudo observar  el contenido del archivo; CodigoMalware

Líneas iniciales del malware encontrado

A partir de aquí se analizo el código obtenido, llegando a las siguientes conclusiones:

1.- Se replica como si fuera un gusano a través de las unidades de red y/o pendrives.

2.- Envía información hacía un servidor remoto que hace a su vez las funciones de C&C.
               
Concretamente el dominio es: hkp7oo.no-ip.biz
                Puerto de comunicación: 77

3.- Recaba información del sistema que es enviada en archivos con extensión: .jpg, aunque internamente es un archivo con formato: xml, codificado en base64

NOTA: Este punto sólo lo realiza durante el proceso de infección.
 
4.- Se debe de catalogar como: troyano, ya que posee persistencia , además de que se queda a la espera de recibir instrucciones desde su C&C.
               
Entre los comandos que espera, se encuentran:

Comandos utilizados por el troyano

Mientras se realizaba la investigación se remitió el archivo: Update.js, al proveedor antivirus para su evaluación y generación de vacuna.

El proveedor, nos confirmo que conocían la existencia desde el 2016, y que su detección ya no se realizaba debido a que no se incluía, ya, en los patrones de búsqueda

CONCLUSIÓN

Con eliminar el troyano del disco duro infectado, se solventa la infección.

En cuanto a la labor de la casa antivirus … NO HAY COMENTARIOS (aunque es obvia mi opinión)

Aludiendo a esto, si esto mismo ocurre con otras casas de antivirus, se puede decir abiertamente que nos encontramos desprotegidos aún teniendo un antivirus instalado.

En cualquier caso …

Lo que hagas con la información es cosa tuya, no mía ... pero ten conciencia.












No hay comentarios:

Publicar un comentario