Malware utilizado para generar dinero electrónico – Bitcoins

El uso de software malicioso para la minería de bitcoins ha ido en aumento, se han reportado casos donde el software se propaga a través del servicio Skype, aunque no están limitados a dicho servicio los equipos se pueden infectar por distintos medios, ya sea a través de sitios web o por el uso de dispositivos USB infectados.

Bitcoin es dinero electrónico que habilita a cualquiera para realizar transferencias de manera descentralizada.  Su aceptación como medio de pago en distintos servicios ha ido aumentando considerablemente, algunos proveedores de servicio permiten realizar el cambio de bitcoins a su valor equivalente en dinero. Esto resulta ser atractivo para la compra de distintos servicios o productos en el mercado negro.

A continuación se muestra la validación del tipo de archivo y la firma md5 del mismo.

Después de ejecutar el archivo malicioso se levantaron los siguientes procesos en el orden en que se muestra en la siguiente imagen.

Una vez que el último árbol de procesos se ejecutó, el proceso shell.exe y macromedia.exe establecen conexión con el servidor 54.215.X.X en el puerto 3333.

Después de establecer conexión a los servidores mencionados el equipo presentó una notable disminución en el rendimiento del mismo. Por tanto mediante el uso de la herramienta ProcessExplorer se observó el modo de ejecución de dichos procesos, como se observa a continuación.

Proceso cmd.exe

Proceso cscript.exe

Proceso shell.exe

Proceso macromedia.exe

En las imágenes anteriores se muestran en rojo dos factores a considerar, el primero de ellos es la ruta “C:\Documents and Settings\Administrador\Datos de programa\WindowsPID” desde la cual se ejecutan los programas, el segundo factor es el modo de ejecución de los procesos iniciados.

También se pudo observar la carga de CPU que estaban realizando ambos procesos. En la siguiente imagen se observa como el proceso macromedia.exe estaba consumiendo casi el 100% del procesador mientras que el proceso shell.exe presentaba mayor actividad respecto a la transferencia de datos (I/O).  Este comportamiento es el que se presenta cuando se ocupa el equipo para la minería de bitcoins.

Es importante notar el modo de ejecución de los procesos, ambos reciben como parámetros un nombre de dominio asociado al puerto 3333, así como los parámetros –u y –p, los cuales corresponden al usuario y contraseña utilizados para autenticarse al servidor.

La actividad de red muestra que el equipo local se conecta al dominio stratum.x.x mediante el método mining.subscribe.

Posteriormente el equipo infectado se identifica en el servidor con el usuario y contraseña que se muestra en la siguiente imagen en la opción “params”, después de autenticarse el equipo comienza a enviar datos al servidor.

En cuanto al sistema de archivos, se observó la creación del directorio WindowsPID en la ruta “C:\Documents and Settings\Administrador\Datos de programa\” dentro del mismo directorio se observó una gran cantidad de archivos creados, 909 en total como se muestra a continuación.

 En la imagen anterior se observa que se agregó el archivo skype.lnk al directorio “C:\Documents and Settings\Administrador\Menú Inicio\Programas\Inicio\”, de esta forma el archivo malicioso asegura su ejecución en cada inicio del sistema. En la siguiente imagen se puede observar que el archivo es un acceso directo el cual apunta al archivo usf_ext.exe.vbs.

En el momento en que se ejecutó la muestra y durante el tiempo en que se levantaron los procesos no se registró actividad de red, sin embargo dada la cantidad de archivos ejecutables iniciados lo más probable era que estos se encontraran contenidos en el archivo miner.exe. Un análisis del archivo miner.exe con la herramienta ExeInfoPE determinó que se había empaquetado utilizando el formato RAR.

Los archivos contenidos dentro del mismo se muestran a continuación.

Mediante la herramienta ProcessMonitor se observaron las llaves de registro WinRAR SFX, las cuales se crean a partir de la ejecución de la muestra, con ello se corrobora que la muestra de malware es un archivo autoextraíble. La creación de archivos ejecutables mediante el uso de herramientas de compresión es relativamente fácil, además permite a los creadores de malware configurar el proceso de ejecución de los archivos contenidos.

Se puede consultar más información en el siguiente enlace http://www.winrar.es/soporte/manual/HELPArcSFX

Un análisis del log de la herramienta ProcessMonitor revela que el primer archivo ejecutado fue el  script put.vbs (vbs – visual basic script) a partir de la aplicación wscript.exe (Windows-based script) la cual viene instalada por defecto en los sistemas operativos Windows y permite ejecutar archivos con extensión .wsf, .vbs, .js.

A continuación se describe el análisis de los archivos que se agregaron al sistema en el orden en que estos se ejecutan, los cuales también se obtuvieron al descomprimir el archivo miner.exe.

Análisis del archivo put.vbs

La primera línea de código crea un objeto “oShell” de tipo “Wscript.shell” los cuales se pueden utilizar cuando se requiera ejecutar un programa localmente, manipular los contenidos de registro, crear accesos directos o acceder a directorios del sistema.

La siguientes dos líneas pertenecen a la declaración de una variable (strku4kagataga) a la cual se le asigna la cadena que contiene el comando a ejecutar (cmd /c kill.bat).

Finalmente “oShell.Run” se utiliza para ejecutar una instrucción en este caso se pasa como primer parámetro la variable que contiene el comando a ejecutar, el segundo parámetro (0) establece que el programa se ejecute sin mostrar ninguna ventana pasando desapercibido para el usuario, finalmente el parámetro “false” ejecuta el comando sin esperar a que el proceso que se levante termine completamente.

Análisis del archivo kill.bat

La primera línea ejecuta el comando “taskkill” el cual viene por defecto en los sistemas Windows y es utilizado para terminar uno o más procesos, la opción “/im” que recibe se utiliza para que termine el proceso que tiene el nombre de imagen recibido.

Posteriormente se cambia al directorio “min”, hace la llamada a un programa batch el cual tiene por nombre “compile.bat”, posteriormente renombra el archivo “miner.dll_part1” a “miner.dll”, una vez renombrado dicho archivo lo mueve al directorio padre.

El proceso anterior se realiza para los archivos que se encuentran en el directorio “shell” y “macro”. Finalmente se observa la ejecución repetitiva del comando “taskkill” con la opción “/f” para forzar la terminación de los procesos que lleven por nombre: wscript.exe, cscript.exe, macromedia.exe y shell.exe.

Después se ejecuta el comando “ping” con la opción de “–n 5” con ello se asegura que el número de peticiones a enviar sea igual a 5, su uso radica en que proporciona el tiempo suficiente para que los procesos mandados a llamar con “taskkill” terminen dentro de ese lapso.

Análisis del archivo usft_ext.exe.vbs

Finalmente se ejecuta el archivo “usft_ext.exe.vbs” a través del programa cscript.exe el cual es una versión en línea de comandos del programa wscript.exe, este mismo archivo es el que se manda a llamar en cada inicio del sistema. En este archivo es donde se define el nombre de dominio, puertos, el nombre de usuario y contraseña a utilizar para establecer conexión. Además se define un ciclo que continuamente va a intentar establecer comunicación con el servidor stratum.x.x en caso de que los procesos no se hayan levantado correctamente.

 

Los archivos “compile.bat” que se hallaron en los directorios shell, macro y miner se muestra a continuación.

En ellos se observa que se realiza una copia de todas las partes de  los archivos extraídos con la opción “/b” la cual es utilizada para copiar archivos binarios. Después de haberse ejecutado el archivo “compile.bat” respectivo a cada uno de los directorios mencionados se generan los archivos ejecutables que observamos durante el proceso de ejecución de la muestra.

Es importante mencionar que cuando el equipo se reinicia y la muestra maliciosa se ejecuta, ésta establece conexión a una dirección IP distinta conservando el mismo nombre de dominio.

La firma md5 de cada uno de los archivos se muestra a continuación.

b324f971c2357f5d0ebcf585473e8596 *macromedia.exe

b324f971c2357f5d0ebcf585473e8596 *shell.exe

e4ffa50d2d55d86e7c14c49962d269ea *usft_ext.exe.vbs

8bdf872a5d2253f0d1dffd4e5c4fb2a1 *miner.exe

 

Como se observa la firma md5 de los archivos macromedia.exe y shell.exe validan que se trata del mismo archivo, cabe hacer notar que durante su ejecución cada uno recibe distintos parámetros.

La detección que realizan las soluciones antivirus de estos archivos se muestra a continuación.