Complementos para Kodi manipulados para propagar malware de criptominería

Los investigadores de ESET descubrieron que se están utilizando varios complementos para Kodi para distribuir malware de minería de criptomonedas en Windows y Linux.

Si usa Kodi, probablemente ya esté al tanto del hecho de que el popular repositorio holandés de complementos para terceros, XvBMC, se cerró recientemente después de que se le advirtió que no respetara los avisos de infracción de derechos de autor. Luego del cierre, descubrimos que el repositorio era -probablemente sin saberlo- parte de una campaña de criptominería que databa de diciembre de 2017. add-on para Kodi, y la primera campaña de cryptominería que se a través de esta plataforma. El resultado es interesante que esta campaña introduce binarios específicos de Linux y/o Windows en los sistemas operativos de los usuarios de Kodi.

Para aquellos que no están familiarizados con la plataforma Kodi, el popular programa de reproducción multimedia no brinda su contenido, pero los usuarios pueden ampliar las funciones del programa instalando complementos que están disponibles en el repositorio oficial de Kodi y en repositorios de terceros. Algunos complementos de terceros permiten a los usuarios acceder a contenido pirateado, lo que generó cierta controversia en torno a Kodi.

Últimamente, los complementos acusados ​​de infringir derechos de autor también fueron acusados ​​de exponer a los usuarios un malware. Pero más allá de un incidente en el que se agregó un módulo DDoS a un popular complemento de Kodi de un tercero, no había evidencia de la existencia de malware distribuido a través de los complementos de Kodi hasta ahora.

La campaña maliciosa a través de Kodi

De acuerdo a nuestra investigación, el malware que encontramos en el repositorio XvMBC se agregó inicialmente a los populares repositorios de terceros Bubbles y Gaia en diciembre de 2017 y enero de 2018 respectivamente. Desde estas dos fuentes, y mediar rutinas de actualización de propietarios de repositorios imprevenidos de otros complementos de terceras partes y compilaciones de Kodi pre armado, el malware se transmite a través del ecosistema de Kodi.

El malware tiene una arquitectura multietapa y emplea medidas para asegurar que el payload final -el criptominero- no puede ser rastreado hacia el add-on malicioso. El criptominero corre en Windows y Linux y mina la criptomoneda Monero (XMR). Hasta el momento, no hemos visto una versión activa dirigida a dispositivos Android o macOS.

Las víctimas de esta campaña suelen acabar ejecutando el criptominero de alguna de estas formas:

  1. Agregue la URL de un repositorio malicioso al instalador de Kodi para descargar un complemento. El complemento malicioso se instala una vez que se actualizan los complementos de Kodi.
  2. Instale compilaciones de Kodi prearmadas que incluyan la URL de un repositorio malicioso. El complemento malicioso es luego instalado cuando actualizan los complementos de Kodi.
  3. Instale compilaciones de Kodi prearmadas que contengan un complemento malicioso, pero sin un enlace a un repositorio para actualizaciones. Se han cometido desde el principio, aunque no se han recibido actualizaciones para el complemento malicioso. Sin embargo, si el criptominero está instalado, persistirá y recibirá actualizaciones.

Los cinco principales países afectados por esta amenaza, según la telemetría de ESET, son: Estados Unidos, Israel, Grecia, Reino Unido y Holanda, lo cual no es de extrañar si se tiene en cuenta que todos estos países están en la lista de los países con mayor tráfico de accerdo a statisticas de Addon no oficiales de la comunidad de Kodi.

Figura 1: Distribución de las detecciones de criptomineros según ESET.

A partir de esta investigación, los repositorios desde los cuales comenzaron a propagarse el malware dejado de existir (en el caso de Bubbles) o ya no están propagando el código malicioso (Gaia). Sin embargo, aquellas víctimas que loggaron instalar el criptominero en sus dispositivos aún están siendo afectados. Encima de eso, el malware todavía persiste en algunos de los builds de Kodi pre armados, probabilita sin que lo separen sus creadores.

Figura 2 – Línea de tiempo de la campaña

Análisis técnico: ¿Cómo funciona la campaña maliciosa en Kodi?

Después de que la víctima agrega el repositorio malicioso dentro de la instalación de Kodi, el repositorio malicioso coloca un complemento con el nombre script.module.simplejson –; un nombre que coincide con el de un complemento legítimo utilizado por muchos otros complementos. Sin embargo, mientras que otros repositorios solo los tienen script.module.simplejson add-on de la versión 3.4.0, el repositorio malicioso coloca este add-on con el número de versión 3.4.1.

Dado que Kodi se basa en el número de versión para actualizar las detecciones, todos los usuarios con la función de actualización automática habilitada (que comúnmente se configura de forma predeterminada) recibirán automáticamente la versión 3.4.1 de script.module.simplejson del repositorio malicioso.

La parte única de script.module.simplejson de la versión 3.4.1 que presenta modificaciones con respecto a la versión 3.4.0 son sus metadatos – el archivo addon.xml contiene una línea adicional de :

Esto le indica a Kodi que descargue e instale un complemento cuyo nombre es script.module.python.requests, en su versión 2.16.0 o superior. El complemento script.module.python.requests es servido por el repositorio malicioso único. Es una modificación del complemento. script.module.requests legítimo que contiene además unas líneas de código malicioso en Python.

El código en Python descarga y ejecuta según convenga, un binario de Windows o Linux. Este ejecutable es un descargador que llama y ejecuta el payload final: un criptominero ejecutable. Si la instalación del criptominero es exitosa, el código malicioso en Python pasa a una etapa de autoeliminación y es borrado.

Figura 3 – Los programas maliciosos.

Código malicioso en Python

En la muestra que analizamos aquí, el código malicioso ofuscado se coloca en las líneas 846-862 del archivo. script.module.python.requestslibrequestspackagesurllib3connectionpool.py.

Figura 4 – Código malicioso ofuscado en connectionpool.py

Cuando está desofuscado y comentado, el código se vuelve mucho más legible, como se puede apreciar en la Figura 5.

Figura 5. Código malicioso después de la ofuscación (comentario agregado por el investigador)

El código está claramente escrito por alguien con un buen conocimiento de Kodi y de la arquitectura de los complementos. El script detecta qué sistema operativo se está ejecutando (solo es compatible con Windows y Linux), lo conecta a su servidor C&C y descarga e instala un módulo de descarga de archivos binarios adecuado según el sistema operativo.

El binario de Windows es esrito para
:Usuarios[username]AppDataRoamingMicrosoftWindowsMenú InicioProgramasInicioTrustedInstaller.exemientras que el binario de Linux está escrito para /tmp/sistemas/sistemad.

Luego de recuperar y ejecutar el módulo downloader binario, el script en Python – conexiónpool.py – corre la rutina de eliminación. Volviendo a la Figura 4, podemos ver que el código malicioso está entre paréntesis con marcadores especiales #-+- y #-_-#. El código corre luego de que la ejecución exitosa del módulo downloader abra el archivo Python, encuentre estos marcardores especiales y los elimine, así como también todo lo que esté en el medio de ambos. El archivo Python limpio es entonces guardado. Como resultado, la instalación del criptominero no se puede rastrear fácilmente hacia el complemento para Kodi.

Figura 6. Autoeliminación en código Python (comentarios añadidos por el investigador)

ejecutable criptominero

El módulo de descarga (archivo EXE de 64 bits para Windows, ELF de 64 bits para Linux) recuperado por el código Python contiene una configuración encriptada del criptominero y enlaces de descarga para la carga útil de la segunda fase: los archivos binarios reales del criptominero.

El descargador binario entrega la carga útil de la segunda fase apropiada según el sistema operativo (binarios de cryptominer para diferentes GPU y un módulo lanzador/actualizador malicioso) en archivos ZIP protegidos con contraseña. Estos binarios se compilan tanto para Windows de 64 bits como para Linux de 64 bits y se basan en el software de criptominería de código abierto XMRStak.

La configuracion para el criptominero es la siguiente:

{“monero”:{“predeterminado”:{“billetera”:”49WAk6TaCMX3HXN22nWPQAfBjP4J3ReUKg9tu3FoiPugcJs3fsnAvyGdrC41HZ4N6jcHEiwEGvH7z4Sn41PoZtLABFAVjm3″,”contraseña”:””nombre”:””correo electrónico”:””peso ”:1””formato”: {“equipo”:” ”,”dirección”:”%w%.%n%/%e%”,”contraseña”:”%p%”}},”grupos”:[{“host”:”xmr-us-east1.nanopool.org:14444″},{“host”:”xmr-eu1.nanopool.org:14444″},{“host”:”xmr-asia1.nanopool.org:14444″}]}}

¿Mi dispositivo fue comprometido? ¿Cómo lo limpio?

Si está utilizando Kodi en un dispositivo Windows o Linux y ha instalado complementos de repositorios de terceros o una compilación de Kodi armada previamente, es probable que haya sido infectado por esta campaña de criptominería.

Para corroborar si tu dispositivo fue o no comprometido, revísalo con una solución de seguridad confiable. Los productos de ESET detectan y bloquean estos servicios como Win64/CoinMiner.II y Win64/CoinMiner.MK en Windows y como Linux/CoinMiner.BC, Linux/CoinMiner.BJ, Linux/CoinMiner.BK, y Linux/CoinMiner.CU en linux Para Windows puede usar ESET Online y Free Explorer y en Linux la versión de prueba gratuita de ESET NOD32 Antivirus para el escritorio de Linux y de esta manera puede revisar si existe la presencia de esta amenaza en su computadora y eliminar cualquier cosa que se detecte. Quienes cuentan con las soluciones de ESET en sus dispositivos quedan automáticamente protegidos.

Conclusión

Aunque los principales repositorios de complementos que inicialmente introdujeron este malware en el ecosistema de Kodi se han cerrado o eliminado, esto no cambia el hecho de que muchos dispositivos han ejecutado complementos maliciosos. Como puede ver en la Figura 7, varios dispositivos aún están minando Monero en busca de ciberdelincuentes que están detrás de esta campaña.

Figura 7. Pagos recibidos por autores de malware

Según las estadísticas de la billetera Monero de los autores del malware, proporcionadas por Nanopool, al menos 4774 víctimas están actualmente afectadas por el código malicioso y han generado 62.57 XMR (aproximadamente 5700 euros o 6700 dólares estadounidenses) en lo que va de semana.

Además de ser el segundo malware y el primer criptominero distribuido a través de la popular plataforma Kodi, se empleó un interesante compromiso técnico para esta campaña maliciosa. Al utilizar las complejas funcionalidades de código que utilizan los complementos de Kodi, que trabajan entre los sistemas operativos que Kodi soporta (Android, Linux, macOS y Windows) los cibercriminales detrás de esta campaña se dirigieron a Kodi para Windows y Linux.

Probablemente los responsables de esta campaña fueran capaces de atacar dispositivos en más sistemas operativos. Ya sea mediante la construcción de versiones nativas de sus criptomoneros para estos otros sistemas operativos o mediante la creación de payloads alternativos más adecuados a la plataforma (por ejemplo, payloads menos intensos en términos de energía para dispositivos alimentados por batería) podrían haber comprometido más sistemas operativos. que soporta Kodi.

En la medida que se sigan ajustando las disposiciones de seguridad de los sistemas operativos, la búsqueda de oportunidades en aplicaciones del tipo add-on y/o de funcionalidades que estén soportadas por código, como las aquí explotadas, parece que se cambiará en algo cada vez más recurrente por parte de los cibercriminales. Con las macros de Visual Basic en aplicaciones para Microsoft Office hemos visto esto mismo en el pasado y también recientemente. Es posible que los complementos de Jodi no sean "los próximos VBA", pero los pasos que vio aquí podrían ser un indicador de lo que vendrá.

Indicadores de compromiso (IoC)

Complementos maliciosos de Kodi

Dado que los repositorios que originalmente contenían los complementos maliciosos (Bubbles y Gaia) se eliminaron o limpiaron, proporcionamos ejemplos de enlaces a repositorios similares que aún contienen código malicioso, y también enlaces de ejemplo para compilaciones maliciosas seleccionadas de Kodi de manera aleatoria.

Es importante tener presente que es muy probable que los propietarios de estas fuentes secundarias de archivos maliciosos que se detallan a continuación estén propagando estas amenazas sin siquiera saberlo.

Ejemplo de espejo de Bubbles
github[.]com/yooperman17/trailerpark/blob/master/repository/repository.bubbles.3/repository.bubbles.3-4.2.0[.]cremallera
github[.]com/yooperman17/trailerpark/blob/master/repository/common/script.module.urllib.3/script.module.urllib.3-1.22.3[.]cremallera
Ejemplo espejo de Gaia
github[.]com/josephlreyes/gaiaorigin/blob/master/common/script.module.python.requests/script.module.python.requests-2.16.1[.]cremallera
github[.]com/josephlreyes/gaiaorigin/blob/master/common/script.module.simplejson/script.module.simplejson-3.4.1[.]cremallera
Archivos maliciosos previamente disponibles en el repositorio de XvBMC
github[.]com/XvBMC/repository.xvbmc/tree/b8f5dd59961f2e452d0ff3fca38b26c526c1aecb/Dependencies/script.module[.]simplejson
github[.]com/XvBMC/repository.xvbmc/tree/b8f5dd59961f2e452d0ff3fca38b26c526c1aecb/Dependencies/script.module.python[.]peticiones
github[.]com/XvBMC/repository.xvbmc/blob/b8f5dd59961f2e452d0ff3fca38b26c526c1aecb/Dependencies/zips/script.module.python.requests/script.module.python.requests-2.16.3[.]cremallera
github[.]com/XvBMC/repository.xvbmc/blob/b8f5dd59961f2e452d0ff3fca38b26c526c1aecb/Dependencies/zips/script.module.simplejson/script.module.simplejson-3.4.1[.]cremallera
Muestreo de compilaciones maliciosas de Kodi
archivo[.]org/download/retrogamesworld7_gmail_Kodi_20180418/kodi[.]cremallera
archivo[.]org/download/DuggzProBuildWithSlyPVRguideV0.3/DuggzProBuildWithSlyPVRguideV0.3[.]cremallera
ukodi1[.]xyz/ukodi1/construcciones/Testosterona%20construcción%2017[.]cremallera
URL de control y control
servidor abierto[.]eu/ax.php
kodinet.atspace[.]tv/ax.php
kodiupdate.hostkda[.]com/ax.php
kodihost[.]rf.gd/ax.php
Centro de actualización[.]net/ax.php
estearti.atspace[.]eu/ax.php
mastercloud.atspace[.]cc/ax.php
globalregistry.atspace.co[.]es/ax.php
meliova.atwebpages[.]com/ax.php
krystry.onlinewebshop[.]net/ax.php
Módulo de descarga (Windows)
servidor abierto[.]ue/wib
kodinet.atspace[.]tv/wib
kodiupdate.hostkda[.]com/wib
kodihost.rf[.]dios/wib
Centro de actualización[.]red/wib
bitbucket[.]org/kodiserver/plugin.video.youtube/raw/HEAD/resources/lib/wib
gitlab[.]com/kodiupdate/plugin.video.youtube/raw/master/resources/lib/wib
www.dropbox[.]com/s/51fgb0ec9lgmi0u/wib?dl=1&raw=1
Módulo de descarga (Linux)
servidor abierto[.]ue/lib
kodinet.atspace[.]televisión/lib
kodiupdate.hostkda[.]com/lib
kodihost.rf[.]gd/lib
Centro de actualización[.]red/lib
bitbucket[.]org/kodiserver/plugin.video.youtube/raw/HEAD/resources/lib/lib
gitlab[.]com/kodiupdate/plugin.video.youtube/raw/master/resources/lib/lib
www.dropbox[.]com/s/e36u2wxmq1jcjjr/lib?dl=1&raw=1
Binarios de criptominería (Windows)
Centro de actualización[.]red/wub
servidor abierto[.]ue/wub
glocato.atspace[.]ue/wub
oraceur.hostkda[.]com/wub
dilarti.1free-host[.]com/wub
utudict.vastserve[.]com/wub
encelan.atspace[.]cc/wub
Binarios de criptominería (Linux)
Centro de actualización[.]red/lubricante
servidor abierto[.]eu/lub
glocato.atspace[.]eu/lub
oraceur.hostkda[.]com/lub
dilarti.1free-host[.]com/lub
utudict.vastserve[.]com/lub
encelan.atspace[.]cc/lubricante
Hashes de maliciosos complementos
B8FD019D4DAB8B895009B957A7FEBAEFCEBAFDD1
BA50EAA31441D5E2C0224B9A8048DAF4015735E7
717C02A1B040187FF54425A64CB9CC001265C0C6
F187E0B6872B096D67C2E261BE41910DAF057761
4E2F1E9E066D7D21CED9D690EF6119E59CF49176
53E7154C2B68EDBCCF37FB73EEB3E042A1DC7108
FF9E491E8E7831967361EDE1BD26FCF1CD640050
3CC8B10BDD5B98BEA94E97C44FFDFB1746F0C472
389CB81D91D640BA4543E178B13AFE53B0E680B5
6DA595FB63F632EE55F36DE4C6E1EB4A2A833862
9458F3D601D30858BBA1AFE1C281A1A99BF30542
B4894B6E1949088350872BDC9219649D50EE0ACA
79BCC4F2D19A394DD2DB2B601208E1D1EA57565B
AAAEDE03F6C014CEE8EC0D9C0EA4FC7B0E67DB59
C66B5ADF3BDFA87B0731512DD2654F4341EBAE5B
F0196D821381248EB8717F47C70D8C235E83A12E
7CFD561C215DC04B702FE40A199F0B60CA706660

ESET detecta el código malicioso de Python como Python/CoinMiner.W.

Hashes de criptomineros y módulos de descarga (Windows)
08406EB5A8E75F53CFB53DB6BDA7738C296556D6
2000E2949368621E218529E242A8F00DC8EC91ED
5B1F384227F462240178263E8F2F30D3436F10F5
B001DD66780935FCA865A45AEC97C85F2D22A7E2
C6A4F67D279478C18BE67BEB6856F3D334F4AC42
EE83D96C7F1E3510A0D7D17BBF32D5D82AB54EF3

ESET detecta tanto el criptominero como el modulo downloader como Win64/CoinMiner.II y/o Win64/CoinMiner.MK. Nuestra telemetría muestra más de 100 hashes diferentes para los nombres de detección.

Hashes de criptomineros y módulos downloader (Linux)
38E6B46F34D82BD23DEACD23F3ADD3BE52F1C0B6
90F39643381E2D8DFFF6BA5AB2358C4FB85F03FC
B9173A2FE1E8398CD978832339BE86445ED342C7
D5E00FB7AEA4E572D6C7C5F8D8570DAB5E1DD156
D717FEC7E7C697D2D25080385CBD5C122584CA7C
DF5433DC7EB272B7B837E8932E4540B216A056D8

ESET detecta las versiones del criptominero y el módulo downloader para Linux como Linux/CoinMiner.BC, Linux/CoinMiner.BJ, Linux/CoinMiner.BK, y Linux/CoinMiner.CU.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Subir
error: Content is protected !!