Es usual escuchar sobre los diferentes tipos de malware de criptominería y las acciones que estos realizan. Si bien a simple vista estos pueden parecer ser muy diferentes entre sí, al analizarlos en profundidad comienzan a emerger patrones y similitudes, revelando que gran parte de estas amenazas utilizan las mismas herramientas y protocolos. Uno de los puntos en común entre los distintos tipos de mineros suele ser la utilización de XMRig, un minero de código abierto que es cada vez más utilizado por los cibercriminales para añadir funcionalidades de criptomineria a su malware.
En este artículo explicaremos las características de XMRig y las principales razones que lo vuelven tan atractivo para los cibercriminales, al punto de llegar ser utilizado por hasta el 73% del malware dedicado a la minería de criptomonedas en América Latina para ciertas plataformas.
Malware para minar criptomonedas: un atractivo para los cibercriminales
En la actualidad, con el continuo desarrollo del cibercrimen y su implacable búsqueda por monetizar al máximo sus actividades maliciosas, es usual encontrar cada vez más familias de malware vinculadas con la criptominería. Adicionalmente, más allá de cómo son detectados algunos códigos maliciosos, existen muchas aplicaciones potencialmente no deseadas (PUAs) que también realizan estas acciones sin advertirle claramente al usuario. Estos fenómenos no serían posibles sin la gran expansión que ha sufrido el mercado de las criptomonedas en los últimos años, logrando atraer no solo la atención de los cibercriminales, sino también de muchos desarrolladores que han implementado sus propios algoritmos de minería de código abierto sin tener relación alguna con actividades maliciosas.
Este incremento repentino en la oferta de mineros de código abierto facilita enormemente la tarea de los desarrolladores de malware, permitiendo integrar rápidamente sus funcionalidades con las del código malicioso e incluso modificarlos para dificultar su detección y que se adapten correctamente a las demás actividades maliciosas realizadas por el cibercriminal.
Por otra parte, resulta imposible hablar de malware y criptominería sin mencionar a Monero, una criptomoneda cuyo diseño y características de privacidad la transforman en la opción predilecta de los cibercriminales. La existencia de este tipo de criptomonedas contribuye a la existencia del malware de minería, ya que representa una vía difícil de rastrear mediante la cual transferir y retirar las ganancias generadas por las víctimas, algo que explicaremos más adelante en este artículo.
Esta combinación de factores presenta un caldo de cultivo ideal para la proliferación de nuevas familias de malware con capacidades de criptominería.
¿Qué es XMRig?
Dentro de los diferentes software de minería se destaca XMRig, una tecnología de código abierto creada para facilitar el acceso a la criptominería pero que desafortunadamente ha venido cobrando cada vez mayor relevancia en el ambiente del malware al ser adoptada por los cibercriminales como parte de sus campañas maliciosas. Esta tendencia se da nivel mundial e incluso desde los comienzos de XMRig, siendo utilizado para fines maliciosos desde fechas cercanas a su lanzamiento hasta en campañas recientes y sofisticadas. Como es esperable, Latinoamérica no es la excepción a este comportamiento e incluso se han registrado fuertes incrementos de su presencia en amenazas que afectan a esta región. Tal es el caso de botnets como VictoryGate, especialmente dirigidas a países de la región, o botnets como Phorpiex, presentes en todo el mundo; las cuales distribuyen este minero en todos equipos que infectan. Cabe destacar que XMRig no es utilizado únicamente con propósitos maliciosos, ya que es empleado de forma legítima por una gran comunidad de mineros cuyo único objetivo es obtener un redito económico.
Con el objetivo de analizar esta tendencia en la adopción de XMRig por parte de los cibercriminales a lo largo de los últimos años, hemos seleccionado las 15 principales variantes de CoinMiner con mayor número de detecciones registradas por los productos de ESET en Latinoamérica durante 2017, 2018 y 2019, para sistemas con Windows y arquitecturas de 32 y 64 bits, e identificado cuales de ellas están relacionadas a éste. A continuación, puede observarse en los gráficos cómo las variantes más frecuentes fueron variando año a año y, junto con estas, la proporción entre aquellas que están relacionadas a XMRig y aquellas que no.
Como se aprecia en la Imagen 1, el 20% de las variantes más relevantes de CoinMiner para Win32 durante el año 2017 están asociadas a XMRig, mientras que en el año 2018 este número se duplica (40%) y finalmente, en el año 2019 aumenta al 73%.
Para el caso de plataformas Win64, en el año 2017 el 26% de las variantes más relevantes están asociadas a XMRig, mientras que en el año 2018 se corresponde el 60% y finalmente, en el año 2019 se reduce ligeramente al 53%.
Importante crecimiento de las detecciones de XMRig en América Latina
Lo primero que se percibe al observar los gráficos es el gran impacto que ha tenido –y tiene- XMRig en la región a lo largo de los últimos años. Esto queda en evidencia a través de los porcentajes, alcanzando actualmente el 53% y el 73% según la plataforma, con lo cual este minero ejerce una dominación muy marcada sobre los demás en cuanto a su adopción por parte de cibercriminales. Si bien solo hemos realizado un muestreo de las 15 variantes de Coinminer más frecuentes para cada año, esta cantidad representa más del 80% de las detecciones totales y por lo tanto es suficiente para tener una noción de la tendencia en el nivel de adopción y de cómo varía la misma.
En el caso de sistemas operativos Windows de 32bits se puede observar claramente una tendencia ascendente, donde en tan solo dos años se registró un aumento del 20% al 73%, es decir, casi cuadruplicando la cantidad de variantes asociadas a XMRig. Por lo tanto, es esperable que este número continúe en ascenso, aunque de forma más gradual, dado que actualmente algunos cibercriminales también utilizan otras tecnologías equivalentes a XMRig y podrían no estar dispuestos a cambiarlas.
En cuanto al caso de sistemas operativos Windows de 64bits, puede observarse una curva con un pico en el año 2018, habiendo pasado de la cuarta parte de las detecciones (26%) en el 2017 al 60% en 2018 y descendiendo nuevamente a un poco más de la mitad (53%) en 2019. Esto demuestra que no ha presentado un ascenso absoluto como en el caso de Win32. Sin embargo, esto no quiere decir que la tendencia no vaya a ser ascendente en el corto plazo, ya que aun habiendo descendido en 2019, sigue teniendo una participación muy alta y mucho mayor a la que tenía en el 2017.
Cabe destacar que esta reducción no implica que la cantidad de detecciones haya disminuido, sino que la adopción de este minero en particular es menor entre las variantes más relevantes. De hecho, los niveles de detecciones en 2019 han aumentado casi un 12% con respecto al año anterior para las plataformas Win64. Este fenómeno deja en evidencia que, si bien ha disminuido ligeramente su adopción, XMRig continúa siendo tan relevante como siempre e incluso estos números podrían tentar a nuevos cibercriminales a utilizarlo.
En conclusión, es esperable que el uso de XMRig frente a otras tecnologías de minería de código abierto continúe en ascenso durante el 2020, aunque a un ritmo menos marcado, ya que se encuentra en un punto de adopción muy alto. Adicionalmente, siguiendo la tendencia observada en los últimos años, también puede preverse un aumento en la cantidad de infecciones asociadas a este minero, especialmente en sistemas Win64.
¿Por qué los cibercriminales prefieren utilizar Monero?
Como mencionamos anteriormente, con el transcurso de los años hemos visto que cada vez más cibercriminales prefieren desarrollar su malware para minar Monero, por encima de otras criptomonedas.
El motivo radica en dos cuestiones fundamentales. Por un lado, Monero provee mayor anonimato para los ciberdelincuentes, ya que las transacciones que se realizan desde las billeteras electrónicas son más difíciles de rastrear. Por otro, es una criptomoneda pensada para favorecer los procesadores comunes por encima de las tarjetas de video (GPU), el hardware dedicado (ASIC) y el hardware programable en campo (FPGA), esto también favorece a los ciberdelincuentes, ya que la mayoría de los equipos que comprometen con su malware son computadoras y dispositivos comunes, por ende, las características de monero los vuelven más competitivos dentro de la red.
1. Anonimato - CryptoNote:
Los factores que vuelven anónimo a Monero son una combinación de técnicas criptográficas que veremos a continuación. Monero está basado en el protocolo CryptoNote que establece los siguientes mecanismos:
- Ring Signature: Los Ring Signatures protegen la identidad de quien envía dinero en una transacción. Es una técnica mediante la cual varios nodos firman una transacción, elegidos al azar dentro de la red. Una de estas personas es quién realmente envía el dinero mientras que el resto actúan como decoys – o señuelos. Debido al hecho de que por cada transacción hay múltiples firmas de distintos usuarios no es posible determinar exactamente quién fue el que envió el dinero ni vincular a una billetera con una transacción, lo máximo que se puede llegar a saber es que fue una de las personas que pertence al grupo. A nivel red, quien recibe el dinero no sabe quién se lo envió. La transacción puede ser completada ya que los mineros en la red validan una imagen de la llave de uso único que está asociada a esa transacción en particular.
- Stealth Addresses: Las stealth addresses protegen la identidad de quien recibe dinero en la transacción. Todas las billeteras electrónicas están conformadas por 96 caracteres que representan una public view key y una public spend key. Cuando alguien quiere realizar una transacción a esta billetera, utilizará estas dos claves públicas, sumados a algunos datos aleatorios, para generar una nueva clave de uso único de destino con la que se firmará la transacción en el blockchain. Cualquier nodo en el blockchain sabe que se agregó una transacción nueva y, de hecho, pueden ver el valor de esta clave única de destino, pero esta información no les permite determinar quién es el dueño de la billetera, solo el dueño, con su clave de lectura privada, puede confirmar que la transacción le corresponde a él, aunque para que esto sea posible, deberá escanear (y computar) cada key en el blockchain completo.
- Ring CT: Esta es una técnica matemática que favorece la privacidad del monto de las transacciones realizadas. Los mineros validan que los inputs y outputs del bloque coincidan, pero no se puede determinar el monto de cada una de las transacciones.
- Enrutador I2P: Cuando se realiza una transacción en la red, el nodo debe notificar a toda la red enviando un broadcast de dicha transacción. En otras criptomonedas, la información enviada puede incluir, por ejemplo, la dirección IP de quién está realizando la transacción, estos metadatos pueden ser utilizados para correlacionar transacciones. Monero utiliza una capa de red sobre TCP en la que cada nodo es un enrutador I2P denominado Kovri. Permite generar un túnel ECIES que encripta la comunicación de punto a punto utilizando cifrado AES-256, agregando una capa de seguridad adicional a la red de Monero.
2. Favoreciendo procesadores comunes - RandomX:
Recientemente Monero ha adoptado un hard-fork que ha cambiado el algoritmo que utiliza para la minería, optando por la utilización de RandomX por sobre CryptoNight como algoritmo de Prueba de Trabajo (PoW). RandomX es un algoritmo único en su tipo, está cuidadosamente pensado para favorecer la minería en CPU multipropósito comunes y corrientes y hacer que la utilización de cualquier otro tipo de hardware resulte sea antieconómico.
Le prestamos especial atención a este algoritmo ya que será el que defina el curso de la utilización de Monero en campañas maliciosas en el futuro cercano. Según los desarrolladores de Monero, éste es el último intento que van a realizar para tratar de quitar a los ASIC y FPGA de la red. Si fallan, adoptaran otro algoritmo similar al que utiliza la red de Bitcoin. Esto es relevante, ya que Monero, con su algoritmo actual, favorece ampliamente a los cibercriminales. Esto se debe a que la mayoría de los equipos que infectan y controlan en sus botnets usan CPU comunes. Un nuevo cambio en el algoritmo podría desalentar a desarrollar malware de este tipo, forzarlos a mudarse a otras criptomonedas o reducir sus ganancias.
¿Por qué los cibercriminales eligen XMRig?
XMRig es tan solo uno de los tantos mineros de criptomonedas disponibles para Monero; sin embargo, es claramente el más utilizado por cibercriminales. A continuación, analizamos las razones que podrían explicar esta tendencia:
Últimamente, la mayoría de los navegadores más populares han tomado medidas contra el “drive-by” crypto jacking. Esto está provocando que más y más cibercriminales se inclinen por la utilización de mineros binarios y botnets para sus actividades maliciosas, lo cual explica la caída en la popularidad del uso de Coinhive para dar paso a XMRig. En este sentido, XMrig es uno de estos mineros binarios disponibles que proporciona a los actores maliciosos los siguientes beneficios:
Los desarrolladores de XMRig favorecen aún más la privacidad, quizás indirectamente, a través de la utilización de un Stratum Proxy llamado XMRig Proxy. La principal función que provee es hacer que la minería sea más eficiente cuando se controlan muchos mineros de forma simultánea. Sin embargo, agrega una capa de indirección que hace aún más difícil poder establecer, tanto el pool de minería del cual los mineros obtienen su trabajo o el usuario para el cual están minando. Asimismo, esta configuración se almacena en el servidor del atacante al cual como analistas rara vez tenemos acceso. El uso de este proxy lo hemos observado en varias campañas de malware que afectan a LATAM, como es el caso de HoudRat o VictoryGate.
Por otro lado, tanto XMRig como XMRig Proxy son totalmente de código abierto y los cibercriminales pueden modificarlos según sus necesidades. Esto es un punto importante para entender por qué se elige este minero y no alguna de las muchas otras opciones disponibles. El hecho de que el código esté disponible para los cibercriminales favorece que veamos versiones troyanizadas del minero de forma activa distintas campañas.
XMRig utiliza el protocolo de comunicación Stratum que está basado en mensajes JSON-RPC para comunicarse tanto con el servidor proxy como con el pool de minería. Su principal función es la distribución de trabajo a los mineros. Esta comunicación suele producirse en texto claro y, por ende, es posible, en la mayoría de los casos, configurar indicadores de compromiso (IOC) en dispositivos de seguridad para detectar esta actividad en nuestra red.