Como parte de las tareas que llevamos adelante en el Laboratorio de Investigación de ESET Latinoamérica, monitoreamos las amenazas que se propagan por la región para alertar y concientizar a nuestros usuarios. Hoy presentamos el análisis de un código malicioso dedicado a la minería de criptomonedas detectado por las soluciones de ESET como Win32/Crytes.AA.
Como característica particular de esta amenaza, encontramos que la mitad de sus detecciones en los últimos tres meses se concentra en 10 países, y si bien la distribución es bastante diversa, ha afectado a países de Latinoamérica, especialmente a usuarios de Brasil y México, como se puede ver en el siguiente gráfico:
Nuestra investigación comenzó cuando un cliente nos envió archivos que formaban parte de un proyecto de desarrollo web, los cuales eran detectados por los productos de ESET como maliciosos. Sucede que el servidor en el que se alojaba el proyecto, que es un hosting de un tercero, estaba infectado. Por lo tanto, cuando los desarrolladores descargaban los archivos para trabajar en sus máquinas, que sí estaban protegidas, se detectaban como maliciosos. Entonces, en el Laboratorio asumimos la tarea de analizarlos.
Dentro de ellos encontramos una línea de código que contenía un iframe de un tamaño muy pequeño, casi invisible, donde se hacía referencia a un archivo SCR. Por lo tanto, solicitamos ese archivo presente en su sistema para continuar el análisis.
Los objetivos de la amenaza
Crytes es un código malicioso que tiene como principal objetivo abusar de los recursos del sistema que logre infectar para minar criptomonedas. Además, utiliza al menos otras dos técnicas diferentes para seguir propagándose y afectando otros equipos, las cuales veremos más adelante.
Como primera instancia, el malware realiza peticiones a cuatro dominios diferentes para saber si el equipo tiene salida a Internet. Como podemos ver en la siguiente imagen, utiliza el protocolo HTTP y el método GET para este caso:
Como mencionamos antes, el objetivo principal de Crytes es sacar provecho del sistema y para ello, hace uso de un código malicioso detectado por ESET con la firma Win32/BitCoinMiner.BX, que se encuentra embebido en él. Este otro archivo es un ejecutable que se encarga de realizar cálculos matemáticos para obtener un hash, y luego obtener como recompensa dinero digital. Este tipo de software se conoce como bitcoin miner y lo analizamos anteriormente en el artículo Historias de un bitcoin miner en Latinoamérica.
Continuando el análisis, en la siguiente captura tenemos la oportunidad de observar el directorio y el momento en que Crytes crea a esta segunda amenaza. En el primer bloque de instrucciones se establecen el nombre y directorio en donde más adelante, utilizando el método CreateFileA, creará el archivo vacío; en el segundo bloque, escribirá los bytes del binario.
A diferencia de otros, este bitcoin miner busca la recompensa de la criptomoneda Monero. Quizá no sea la más popular, como lo es Bitcoin, pero es lógico que se busque minar otras monedas, ya que cuantas más personas comiencen a hacerlo, la dificultad de encontrar bloques válidos se incrementa automáticamente.
Propagación de Crytes
Al comienzo de la publicación, mencionamos que este código malicioso utiliza al menos dos métodos para propagarse y tratar de afectar otros equipos. El primero de estos métodos consiste en crear copias de sí mismo en los diferentes dispositivos que se encuentren conectados al sistema; para esto hace uso de un bucle for para iterar y comprobar qué letra del abecedario fue asignada a una unidad, y así poder copiarse.
En el segundo método, Crytes busca archivos relacionados a proyectos de desarrollo web y los infecta. Luego de encontrar archivos conocidos, los abre y dentro de ellos, en la última línea del código, crea una etiqueta iframe con el atributo “src”, haciendo referencia al código malicioso. De esta forma, logra afectar a más usuarios.
Esta es la lista de archivos que busca la amenaza para agregar el iframe:
- PHP
- HTM
- XML
- DHTM
- PHTM
- HTX
- MHT
- XHT
- BML
- ASP
- SHTM
Conclusión
El análisis nos permitió comprender que en la infección se encuentran involucradas dos amenazas, Crytes y un bitcoin miner. En primera instancia una crea a la otra y la ejecuta; luego, cada una continúa por su lado. Esto quiere decir que luego de esta primera parte, ninguna depende de la otra. Crytes convierte al equipo en un bot, de manera que extrae información del mismo y procede a ejecutar sus métodos de propagación.
Por otra parte, el bitcoin miner tendrá la tarea de consumir los recursos del sistema para minar una determinada criptomoneda, en este caso Monero.
La propagación de este tipo de códigos maliciosos deja en evidencia el hecho de que hoy en día, cuando hablamos de malware, podemos estar haciendo referencia a un ataque en donde están involucradas varias amenazas, cada una con un objetivo particular. De esta manera, con una misma amenaza, un atacante puede lograr afectar por diferentes vías a sus víctimas, e incluso tener múltiples objetivos o formas de propagarse.
La forma de prevención, naturalmente, es contar con una solución de seguridad confiable, capaz de detectar y bloquear amenazas, y tener todo el software actualizado.