Software malicioso que secuestra aplicaciones.

A continuación se presenta el análisis de una muestra de software malicioso que lleva por nombre chrome.exe la cual se encontraba propagando a través de un sitio vulnerado, la muestra de software se hacía pasar por la aplicación de Google Chrome.

Las firmas del archivo se muestran a continuación:

MD5: c56f38b3c4adc8ad81829d1f8f56ac9c

SHA256: 9f3e3f76b60dde6255e2402f21e4c21015ce6209ba1b17d3b56248e8cdaef6a8

En un primer análisis se ejecutó la muestra en un ambiente controlado sin salida a internet.

Mediante el uso de la herramienta ExeInfo PE se determinó que la muestra había sido programada en un framework de Microsoft Windows como se muestra a continuación.

El análisis de cadenas solo nos permitió observar el supuesto nombre de la aplicación  y la versión de la misma, las cuales hacen referencia al navegador Google Chrome, de esta forma el software malicioso busca pasar desapercibido en el equipo infectado.

Posteriormente se realizó la ejecución de la muestra, iniciando varios procesos en el sistema como se muestra a continuación.

En general después de haberse iniciado el proceso correspondiente al archivo chrome.exe se inicia otra instancia del mismo proceso (chrome.exe), después se inicia el proceso comhost.exe el cual presenta el mismo comportamiento que el proceso anterior, finalmente se inician los procesos cmd.exe y Wscript.exe. Como se observa la herramienta Wscript.exe ejecuta un archivo de nombre 499799124.vbs, dada la extensión del mismo sabemos que se trata de un archivo programado en Visual Basic.

Mediante el uso de la herramienta Process Explorer se puede observar el siguiente árbol de procesos que se mantiene después de haber ejecutado por primera vez el archivo malicioso. Es importante observar que en la descripción de los mismos estos aparentan ser procesos legítimos de Microsoft y Google.

En cuanto a la modificación en el sistema de archivos se observaron la creación de distintas llaves en la ruta “HKLM\Software\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\

La llave en cuestión generalmente se usa para forzar a un programa ejecutarse bajo un debugger independientemente de como ésta sea iniciada. Se puede usar por ejemplo cuando se necesita depurar una aplicación que es ejecutada por otra aplicación sobre la cual no se tiene control.

Sin embargo también puede ser utilizada con fines maliciosos como es el caso de esta muestra de malware, la cual busca instalarse como debugger para que las aplicaciones especificadas (p.e. wireshark.exe) sean inyectadas con el proceso malicioso.

En la siguiente imagen se muestran enmarcadas en verde los valores agregados a las llaves previamente creadas, asimismo se observa enmarcado en rojo el valor de la llave que permite la ejecución del software malicioso en cada inicio del sistema.

El nombre de los procesos que el software malicioso intenta secuestrar pertenecen a diversas aplicaciones proporcionadas por las soluciones antivirus (avcenter.exe, avguard.exe, egui.exe) o herramientas de seguridad (spybotsd.exe) para la detección de actividades maliciosas en nuestros equipos.

La información del valor que en la siguiente imagen aparece bajo la columna de Datos (nsjw.exe) representa el nombre de la aplicación que va a ejecutarse una vez que se mande a llamar al programa avcenter.exe.

El proceso descrito anteriormente es una técnica que se conoce como “hijack” o secuestro de aplicaciones. Para detectar el secuestro de alguna aplicación es posible utilizar la herramienta Autoruns y seleccionar la pestaña de “Image Hijacks” como se muestra a continuación.

A manera de prueba de concepto, podemos ejemplificar el secuestro de la aplicación TCPView.exe de forma tal que cuando la ejecutemos mande a llamar a una aplicación diferente, en este caso a la calculadora de Windows (calc.exe). Para ello basta con crear la llave “HKLM\Software\Microsoft\WindowsNT\CurrentVersion\ImageFileExecutionOptions\TCPView.exe” y en la opción de valor para “Debugger” poner el nombre de la aplicación a ejecutarse como se muestra en la siguiente imagen.

Finalmente cuando se intente iniciar la aplicación TCPView.exe veremos la ejecución de la calculadora de Windows.

Un aspecto que resulta interesante mencionar es que la herramienta Autoruns no detecta que una aplicación fue secuestrada si se utiliza el nombre de una aplicación de Windows como es el caso de calc.exe, si por ejemplo se utiliza un nombre aleatorio la herramienta detecta este cambio como se muestra a continuación.

Continuando con la modificación en el sistema de archivos se registró la creación de tres archivos de los cuales comhost.exe y 499799124.exe son una copia de la muestra maliciosa chrome.exe.

A continuación se muestran las firmas MD5 de los archivos mencionados.

El archivo “Google.com.url” parecería ser un archivo HTML sin embargo mediante la ayuda del comando “file” podemos determinar que en realidad se trata de un acceso directo en formato URL.

Para ver el contenido del archivo podemos hacer uso del comando “more” como se muestra a continuación.

En la imagen anterior se puede observar que el contenido de la dirección URL en realidad es una referencia al archivo 499799124.exe en la ruta especificada, por tanto cuando el usuario ejecute este acceso directo a internet el navegador ejecutará la muestra de malware.

Resulta interesante que si se intenta abrir el archivo con el bloc de notas para editar su contenido lo que en realidad se estaría viendo es el contenido del archivo ejecutable y no la ruta de la aplicación que se manda a ejecutar, como se muestra a continuación.

Finalmente se registró la modificación de los atributos del archivo malicioso chrome.exe y la creación del directorio donde se encuentra el archivo comhost.exe.

Dado que el archivo chrome.exe no se elimino podemos ver sus atributos mediante el uso del comando “attrib”.

Se observa que los atributos del archivo son SHR, por lo que se trata de un archivo del Sistema (S), oculto (H) y de solo lectura (R), dado estos atributos y ya que por defecto el sistema Windows oculta este tipo de archivos, el usuario es incapaz de verlos.

Para poder visualizar este tipo de archivo basta con ingresar el comando: attrib –S –H chrome.exe, posterior a ello podemos realizar la eliminación del mismo.

Mediante el uso de la herramienta Autoruns se pueden identificar que los archivos comhost.exe, Google.com.url y 499799124.exe son ejecutados en cada inicio del sistema, para ello hacen uso de tres distintos métodos que permiten la ejecución de la aplicación maliciosa. El primero de ellos es utilizando la llave Run, el segundo método consiste en colocar el archivo malicioso en la carpeta de Inicio y finalmente garantizan la ejecución del malware utilizando la llave Load.

Si se hace uso de la herramienta Process Monitor se pueden capturar los eventos correspondientes a la creación de los archivos maliciosos comhost.exe, Google.com.url y 499799124.exe.

Continuando con el análisis de la muestra de software malicioso en un ambiente controlado sin salida a internet, se utilizó la herramienta WinAPIOverride32 para monitorear las llamadas a las funciones que realiza el malware, cabe aclarar que las funciones que se registran son con las que se programo el malware y no las funciones del sistema operativo como es el caso al usar la herramienta Process Monitor.

Como se observa en la siguiente imagen, se mandan a llamar dos funciones que hacen alusión a la empresa antivirus ESET, a saber: eset_you_know_i_love_you() y hello_eset(). En particular la función hello_eset() se manda a llamar múltiples veces con diferentes parámetros los cuales posiblemente son las rutinas que debe de realizar el malware para ejecutarse, por ejemplo Decrypt, Decompress y getDefaultBrowser.

Dentro del análisis realizado se encontró el nombre de dominio “specia---network.com” el cual posiblemente sea utilizado por el malware para la descarga de más archivos maliciosos.

Finalmente se ejecutó la muestra en un ambiente controlado con salida a internet y como se esperaba el malware establece conexión al dominio previamente mencionado en el puerto 55331.

Además mediante el uso de la herramienta Wireshark se capturó el tráfico de red generado por la muestra de malware, observando la siguiente trama de datos.

Como se observa en la imagen anterior los datos se envían codificados en base 64, sin embargo al decodificarlos no se obtiene un mensaje en claro si no una serie de caracteres no imprimibles; este comportamiento se presenta debido a que posiblemente se haya utilizado un algoritmo de cifrado en conjunto con una llave, finalmente el resultado de este proceso se hace pasar a través del método de codificación base64.

Dado que la muestra no descargó ningún archivo adicional no se presentó mayor actividad en el equipo infectado.

A continuación se muestran las estadísticas de detección por parte del sitio Virus Total.

El reporte completo se puede consultar en el siguiente enlace:

https://www.virustotal.com/es/file/9f3e3f76b60dde6255e2402f21e4c21015ce6209ba1b17d3b56248e8cdaef6a8/analysis/