Os addons Kodi são usados ​​para distribuir mineradoras de criptografia

Se você estiver usando o Kodi, poderá ter notado que o popular repositório de complementos holandês XvBMC foi fechado devido a uma violação de direitos autorais. Depois disso, descobrimos que o repositório foi usado secretamente em uma campanha de mineração de criptografia que começou em dezembro de 2017. Este é o segundo incidente conhecido relacionado à disseminação de malware através dos complementos Kodi e o primeiro caso de mineração de criptografia usando esta plataforma. Curiosamente, os binários correspondentes ao sistema operacional usado (Windows ou Linux) são enviados aos usuários do Kodi.



Para aqueles que não estão familiarizados com a plataforma Kodi: o media player não entrega conteúdo; os usuários expandem independentemente a funcionalidade do produto instalando complementos do repositório oficial e de sites de terceiros. Alguns complementos não oficiais permitem acessar conteúdo pirateado, e é por isso que o Kodi é ambíguo pelo público.

A violação de direitos autorais da Kodi já foi vinculada à disseminação de malware, mas, com exceção do incidente com o módulo DDoS como parte do complemento popular, nenhuma evidência foi apresentada.

A campanha


Descobrimos que o malware encontrado no XvMBC apareceu pela primeira vez nos populares repositórios Bubbles e Gaia em dezembro de 2017 e janeiro de 2018, respectivamente. Desses, além de atualizar outros repositórios e compilações prontas, o malware se espalhou por todo o ecossistema Kodi.

Malvar tem uma arquitetura de vários estágios. Os autores tomaram medidas para que a origem da carga final (cryptominer) não pudesse ser atribuída a um complemento malicioso. O minerador trabalha com Windows e Linux e minerador Monero (XMR). As versões para Android ou macOS ainda não foram observadas na natureza.

A infecção foi realizada de acordo com um dos três esquemas:

1. A vítima adicionou o URL de um repositório malicioso ao Kodi para fazer o download de alguns complementos. Um complemento malicioso é instalado ao atualizar os complementos do Kodi.

2. A vítima instalou uma compilação Kodi pronta que inclui a URL de um repositório malicioso. Um complemento malicioso é instalado ao atualizar os complementos do Kodi.

3. A vítima instalou uma versão Kodi pronta com um complemento malicioso, mas sem um link para o repositório para atualização. O computador está comprometido, embora o complemento de malware não seja atualizado. No entanto, se um cryptominer estiver instalado, ele será armazenado no sistema e poderá receber atualizações.

De acordo com a telemetria da ESET, os 5 principais países com o nível mais alto de atividade de ameaças são os EUA, Israel, Grécia, Reino Unido e Holanda. É lógico, já que esses países estão entre os líderes em termos de volume de tráfego nos complementos Kodi. Outra explicação possível é a popularidade nesses países de assemblies com um repositório malicioso (como o XvBMC na Holanda).


Figura 1. Distribuição do minerador de criptografia

Atualmente, os repositórios dos quais a distribuição do minerador de criptografia começou, não funcionam (Bubbles) ou não distribuem mais códigos maliciosos (Gaia). No entanto, as vítimas cujos dispositivos estão infectados com um minerador de criptografia ainda estão em risco. Além disso, o malware ainda está presente em outros repositórios Kodi e em alguns assemblies prontos, cujos autores provavelmente não têm conhecimento disso.

Linha do tempo


17 de dezembro de 2017 - O repositório Bubbles publica sua primeira atualização maliciosa
4 de janeiro de 2018 - a primeira atualização maliciosa no repositório Gaia
14 de janeiro - o primeiro complemento malicioso no repositório Bubbles
Meados de janeiro - Repositório de bolhas fechado, usuários redirecionados para Gaia
28 de janeiro - ESET descobre um minerador de criptografia
28 de janeiro - meados de abril - o minerador de criptografia recebe regularmente atualizações
11 de fevereiro - 6 de março - 21 de março - atualizações de complemento de malware
26 de abril - O repositório Gaia exclui todo o conteúdo, a nova versão não distribui mais um complemento malicioso.
Meados de agosto - mensagem sobre o fechamento do repositório XvBMC - a segunda fonte de complementos maliciosos

Análise técnica


Como isso funciona?


Quando uma vítima adiciona um repositório mal-intencionado ao Kodi, ele (o repositório) armazena o script.module.simplejson - corresponde ao nome do complemento legítimo usado por muitos outros complementos. A diferença é que em outros repositórios existe apenas o script.module.simplejson versão 3.4.0 e o malicioso - versão 3.4.1.

O Kodi usa o número da versão para detectar atualizações, para que todos os usuários com o recurso de atualização automática ativado (ativado por padrão) obtenham script.module.simplejson versão 3.4.1 do repositório malicioso.

A única parte do script.module.simplejson versão 3.4.1 que foi alterada da versão 3.4.0 são os metadados. O arquivo addon.xml contém uma linha adicional:



Ela informa ao Kodi sobre a capacidade de baixar e instalar o complemento script.module.python.requests versão 2.16.0 e superior. O complemento é processado apenas por um repositório malicioso. Esta é uma modificação do complemento legítimo script.module.requests , que contém código Python malicioso adicional.

Esse código carrega o arquivo binário do Windows ou Linux, se necessário, e o executa. O executável é um carregador de inicialização que extrai e executa a carga final - o cryptominer. Se a instalação do minerador for bem-sucedida, o código Python continuará na fase de auto-remoção e se removerá.


Figura 2. Fluxograma de execução de malware

Código Python


Na amostra analisada, o código malicioso ofuscado estava localizado no script.module.python.requests\lib\requests\packages\urllib3\connectionpool.py , linhas 846-862.


Figura 3. Malware ofuscado em connectionpool.py

Após a desobstrução e com comentários, o código parece mais legível, conforme mostrado na figura abaixo.


Figura 4. Código malicioso após desofuscação (com comentários dos analistas)

O autor do código está claramente familiarizado com o ecossistema Kodi e a arquitetura de complementos. O script determina qual sistema operacional funciona (apenas Windows e Linux são suportados, Android e macOS ainda são ignorados), se conecta ao servidor C&C e executa o arquivo binário correspondente - o módulo do carregador de inicialização.

O arquivo binário do Windows é gravado em C:\Users\[username]\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\TrustedInstaller.exe , Linux em /tmp/systems/systemd .

Após extrair e executar o módulo binário do carregador de inicialização, o script Python - aqui connectionpool.py - inicia o procedimento de auto-remoção. Como pode ser visto na Figura 4, o código malicioso é destacado com marcadores especiais # - + - e # -_- #. A execução do código após a execução bem-sucedida do arquivo binário do carregador de inicialização abre o arquivo, localiza esses marcadores e os exclui, além de tudo o que estiver no meio. O arquivo limpo é salvo. Como resultado, a instalação de um cryptominer é problemática para rastrear esse complemento do Kodi.


Figura 5. Auto-remoção no código Python (com comentários dos analistas)

Cryptominer executável


O módulo do carregador de inicialização (um arquivo EXE de 64 bits para Windows, um arquivo ELF de 64 bits para Linux), extraído usando o código Python, contém uma configuração criptografada do cryptominer e links de download para a carga útil do segundo estágio - arquivos binários do cryptominer.

O carregador de inicialização binário extrai a carga útil do segundo estágio do sistema operacional (um arquivo binário de criptografia para GPUs diferentes e um módulo malicioso de inicialização / atualização) em um arquivo ZIP protegido por senha. Os binários são compilados para Windows e Linux de 64 bits, e são baseados no software de mineração XMRStak de código aberto.

A configuração do mineiro é a seguinte:

{"monero":{"default":{"wallet":"49WAk6TaCMX3HXN22nWPQAfBjP4J3ReUKg9tu3FoiPugcJs3fsnAvyGdrC41HZ4N6jcHEiwEGvH7z4Sn41PoZtLABFAVjm3","password":"","name":"","email":"","weight":1,"format":{"rig":"","address":"%w%.%n%/%e%","password":"%p%"}},"pools":[{"host":"xmr-us-east1.nanopool.org:14444"},{"host":"xmr-eu1.nanopool.org:14444"},{"host":"xmr-asia1.nanopool.org:14444"}]}}

Como detectar uma infecção


Usuários do Kodi media player para Windows ou Linux que instalaram complementos de repositórios de terceiros ou montagens prontas podem participar da mineração em favor dos operadores desta campanha.

Para verificar se há comprometimento no dispositivo, é necessário digitalizá-lo com software antivírus. No Windows, você pode usar o ESET Online Scanner gratuito, para Linux, o software de avaliação gratuito do ESET NOD32 Antivirus para Linux Desktop .

Os usuários das versões atuais dos produtos ESET já estão protegidos. Os produtos ESET detectam ameaças como Win64 / CoinMiner.II e Win64 / CoinMiner.MK no Windows, Linux / CoinMiner.BC, Linux / CoinMiner.BJ, Linux / CoinMiner.BK e Linux / CoinMiner.CU no Linux.

Conclusões


A maioria dos repositórios que originalmente distribuíram o minerador no ecossistema Kodi é fechada ou removida. No entanto, muitos dispositivos ainda estão infectados. Como você pode ver na figura abaixo, os operadores da campanha continuam a ganhar.


Figura 6. Lucros dos operadores de mineradoras de criptografia

De acordo com as estatísticas da carteira Monero-operator fornecida pela Nanopool, no momento da redação do post, pelo menos 4.774 computadores estavam infectados e 62,57 XMRs foram extraídos (5.700 euros ou 6.700 dólares).

O incidente é interessante porque é o segundo malware e o primeiro minerador de criptografia que se espalha pelo ecossistema Kodi. Além disso, a campanha usou uma técnica incomum de compromisso. Os autores usam o sistema complementar Kodi, compatível com a maioria dos sistemas operacionais, para direcionar malware no Linux e Windows.

Provavelmente, os operadores poderiam comprometer mais o sistema operacional. Como alternativa, eles poderiam criar suas próprias versões do minerador para essas plataformas ou fornecer cargas úteis adaptadas (por exemplo, menos intensivas em energia para dispositivos com pouca bateria).

À medida que as medidas de segurança do sistema operacional diminuem, as adições ao software popular se tornarão um alvo mais popular para os cibercriminosos. Já vimos incidentes semelhantes anteriormente com macros do Visual Basic em aplicativos do Microsoft Office. Não é fato que os complementos da Kodi se tornem "novos VBAs", mas esse incidente aponta para esse desenvolvimento.

Indicadores de compromisso


Complementos maliciosos de Kodi


Como os repositórios originais com complementos mal-intencionados (Bubbles e Gaia) já foram removidos, abaixo há links para cópias espelhadas de repositórios que ainda contêm código minerador, além de exemplos de montagens Kodi mal-intencionadas selecionadas aleatoriamente.

É importante observar que os proprietários de repositórios provavelmente distribuem complementos maliciosos sem o saber.

Bolhas espelhadas
github[.]com/yooperman17/trailerpark/blob/master/repository/repository.bubbles.3/repository.bubbles.3-4.2.0[.]zip
github[.]com/yooperman17/trailerpark/blob/master/repository/common/script.module.urllib.3/script.module.urllib.3-1.22.3[.]zip


Gaia espelhado
github[.]com/josephlreyes/gaiaorigin/blob/master/common/script.module.python.requests/script.module.python.requests-2.16.1[.]zip
github[.]com/josephlreyes/gaiaorigin/blob/master/common/script.module.simplejson/script.module.simplejson-3.4.1[.]zip


Arquivos maliciosos anteriormente disponíveis no repositório XvBMC
github[.]com/XvBMC/repository.xvbmc/tree/b8f5dd59961f2e452d0ff3fca38b26c526c1aecb/Dependencies/script.module[.]simplejson
github[.]com/XvBMC/repository.xvbmc/tree/b8f5dd59961f2e452d0ff3fca38b26c526c1aecb/Dependencies/script.module.python[.]requests
github[.]com/XvBMC/repository.xvbmc/blob/b8f5dd59961f2e452d0ff3fca38b26c526c1aecb/Dependencies/zips/script.module.python.requests/script.module.python.requests-2.16.3[.]zip
github[.]com/XvBMC/repository.xvbmc/blob/b8f5dd59961f2e452d0ff3fca38b26c526c1aecb/Dependencies/zips/script.module.simplejson/script.module.simplejson-3.4.1[.]zip


Exemplos de compilações maliciosas do Kodi
archive[.]org/download/retrogamesworld7_gmail_Kodi_20180418/kodi[.]zip
archive[.]org/download/DuggzProBuildWithSlyPVRguideV0.3/DuggzProBuildWithSlyPVRguideV0.3[.]zip
ukodi1[.]xyz/ukodi1/builds/Testosterone%20build%2017[.]zip


URLs do servidor C & C:


openserver[.]eu/ax.php
kodinet.atspace[.]tv/ax.php
kodiupdate.hostkda[.]com/ax.php
kodihost[.]rf.gd/ax.php
updatecenter[.]net/ax.php
stearti.atspace[.]eu/ax.php
mastercloud.atspace[.]cc/ax.php
globalregistry.atspace.co[.]uk/ax.php
meliova.atwebpages[.]com/ax.php
krystry.onlinewebshop[.]net/ax.php


Módulo do carregador de inicialização (Windows)


openserver[.]eu/wib
kodinet.atspace[.]tv/wib
kodiupdate.hostkda[.]com/wib
kodihost.rf[.]gd/wib
updatecenter[.]net/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 do carregador de inicialização (Linux)


openserver[.]eu/lib
kodinet.atspace[.]tv/lib
kodiupdate.hostkda[.]com/lib
kodihost.rf[.]gd/lib
updatecenter[.]net/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


Arquivos binários do Cryptominer (Windows)


updatecenter[.]net/wub
openserver[.]eu/wub
glocato.atspace[.]eu/wub
oraceur.hostkda[.]com/wub
dilarti.1free-host[.]com/wub
utudict.vastserve[.]com/wub
encelan.atspace[.]cc/wub


Binários Cryptominer (Linux)


updatecenter[.]net/lub
openserver[.]eu/lub
glocato.atspace[.]eu/lub
oraceur.hostkda[.]com/lub
dilarti.1free-host[.]com/lub
utudict.vastserve[.]com/lub
encelan.atspace[.]cc/lub


Hash Addons maliciosos


B8FD019D4DAB8B895009B957A7FEBAEFCEBAFDD1
BA50EAA31441D5E2C0224B9A8048DAF4015735E7
717C02A1B040187FF54425A64CB9CC001265C0C6
F187E0B6872B096D67C2E261BE41910DAF057761
4E2F1E9E066D7D21CED9D690EF6119E59CF49176
53E7154C2B68EDBCCF37FB73EEB3E042A1DC7108
FF9E491E8E7831967361EDE1BD26FCF1CD640050
3CC8B10BDD5B98BEA94E97C44FFDFB1746F0C472
389CB81D91D640BA4543E178B13AFE53B0E680B5
6DA595FB63F632EE55F36DE4C6E1EB4A2A833862
9458F3D601D30858BBA1AFE1C281A1A99BF30542
B4894B6E1949088350872BDC9219649D50EE0ACA
79BCC4F2D19A394DD2DB2B601208E1D1EA57565B
AAAEDE03F6C014CEE8EC0D9C0EA4FC7B0E67DB59
C66B5ADF3BDFA87B0731512DD2654F4341EBAE5B
F0196D821381248EB8717F47C70D8C235E83A12E
7CFD561C215DC04B702FE40A199F0B60CA706660


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

Hashes de cryptominers e módulos do gerenciador de inicialização (Windows)


08406EB5A8E75F53CFB53DB6BDA7738C296556D6
2000E2949368621E218529E242A8F00DC8EC91ED
5B1F384227F462240178263E8F2F30D3436F10F5
B001DD66780935FCA865A45AEC97C85F2D22A7E2
C6A4F67D279478C18BE67BEB6856F3D334F4AC42
EE83D96C7F1E3510A0D7D17BBF32D5D82AB54EF3


A ESET detecta os módulos cryptominer e bootloader como Win64 / CoinMiner.II e / ou Win64 / CoinMiner.MK. Nossa telemetria mostra mais de 100 hashes diferentes para nomes de detecção.

Hashes de cryptominers e módulos do gerenciador de inicialização (Linux)


38E6B46F34D82BD23DEACD23F3ADD3BE52F1C0B6
90F39643381E2D8DFFF6BA5AB2358C4FB85F03FC
B9173A2FE1E8398CD978832339BE86445ED342C7
D5E00FB7AEA4E572D6C7C5F8D8570DAB5E1DD156
D717FEC7E7C697D2D25080385CBD5C122584CA7C
DF5433DC7EB272B7B837E8932E4540B216A056D8


A ESET detecta a versão Linux dos módulos minerador de criptografia e carregador de inicialização, como Linux / CoinMiner.BC, Linux / CoinMiner.BJ, Linux / CoinMiner.BK e Linux / CoinMiner.CU.

Source: https://habr.com/ru/post/pt423541/


All Articles