A distribuição de malwares de raiz através do Google Play não é uma coisa nova. Por exemplo, o Trojan Ztorg foi carregado no Google Play quase 100 vezes, desde setembro de 2016. Mas o Dvmap é um malware de raiz diferente: ele usa uma variedade de novas técnicas, mas o mais interessante é que ele injeta código malicioso nas bibliotecas do sistema – libdmv.so ou libandroid_runtime.so.
Isso torna o Dvmap o primeiro malware do Android que injeta código mal-intencionado nas bibliotecas do sistema no tempo de execução e foi baixado da Google Play Store mais de 50 mil vezes. A Kaspersky Lab relatou o Trojan ao Google, que já foi removido da loja.

Para ignorar as verificações de segurança do Google Play Store, os criadores de malware usaram um método muito interessante: eles carregaram um aplicativo limpo na loja no final de março de 2017 e, em seguida, o atualizaram com uma versão maliciosa por um curto período de tempo. Normalmente, eles carregariam uma versão limpa no Google Play no mesmo dia. Eles fizeram isso pelo menos 5 vezes entre 18 de abril e 15 de maio.
Todos os aplicativos Dvmap maliciosos tinham a mesma funcionalidade. Eles decifraram vários arquivos da pasta de recursos do pacote de instalação e lançavam um arquivo executável deles com o nome “iniciar”.

O interessante é que o Trojan suporta até mesmo a versão de 64 bits do Android, que é muito rara.

Todos os arquivos criptografados podem ser divididos em dois grupos: o primeiro inclui Game321.res, Game322.res, Game323.res e Game642.res – e estes são usados na fase inicial de infecção, enquanto o segundo grupo engloba Game324.res e Game644 .res, que são usados na fase principal.
Fase inicial
Durante esta fase, o Trojan tenta obter direitos de raiz no dispositivo e instalar alguns módulos. Todos os arquivos desta fase contêm os mesmos arquivos, exceto para um, chamado “comum”. Este é um pacote de exploração de raiz local, e o Trojan usa 4 diferentes arquivos de pacotes de exploração, 3 para sistemas de 32 bits e 1 para sistemas de 64 bits. Se esses arquivos obtêm direitos de raiz bem-sucedidos, o Trojan instalará várias ferramentas no sistema. Ele também instalará o aplicativo malicioso “com.qualcmm.timeservices”.
Esses arquivos contêm o arquivo “.root.sh”, que tem alguns comentários em chinês:

Fase principal
Nesta fase, o Trojan lança o arquivo “start” do Game324.res ou Game644.res. Ele verificará a versão do Android instalada e decidirá qual biblioteca deve ser corrigida. Para o Android 4.4.4 ou mais antigo, o Trojan irá corrigir o método _Z30dvmHeapSourceStartupBeforeForkv do libdvm.so. Já para o Android 5 ou mais recente, irá corrigir o método nativeForkAndSpecialize de libandroid_runtime.so. Ambas as bibliotecas são de tempo de execução relacionadas aos ambientes de tempo de execução Dalvik e ART. Antes de corrigir, o Trojan irá fazer backup da biblioteca original com um nome bak_ {nome original}.

Durante o patch, o Trojan substituirá o código existente por um código mal-intencionado, de modo que tudo o que ele pode fazer é executar/system/bin/ip. Isso pode ser muito perigoso e causar o travamento de alguns dispositivos para após a sobreposição. Então, o Trojan colocará a biblioteca remendada no diretório do sistema. Depois disso, o Trojan irá substituir o original/system/bin/ip por um malicioso, vindo do arquivo (Game324.res ou Game644.res). Ao fazê-lo, o Trojan pode ter certeza de que seu módulo malicioso será executado com direitos do sistema. Mas o arquivo de IP malicioso não contém nenhum método do arquivo IP original. Isso significa que todos os aplicativos que estavam usando esse arquivo perderão alguma funcionalidade ou até começarão a falhar.
Módulo malicioso “ip”
Este arquivo será executado pela biblioteca do sistema corrigida. Pode desligar “VerifyApps” e permitir a instalação de aplicativos de lojas de terceiros, alterando as configurações do sistema. Além disso, pode conceder os direitos de administrador de dispositivo “com.qualcmm.timeservices” sem qualquer interação com o usuário, apenas executando comandos. É uma maneira muito incomum de obter direitos de Administrador de dispositivos.
[awprm urls=https://imasters.com.br/noticia/conheca-o-fireball-malware-que-ja-infectou-mais-de-24-milhoes-de-pcs-brasileiros/,https://imasters.com.br/infra/seguranca/securitycast-fileless-malware/,https://imasters.com.br/desenvolvimento/como-kotlin-se-tornou-nossa-linguagem-principal-para-android/]
Aplicativo malicioso com.qualcmm.timeservices
Como mencionei anteriormente, na “fase inicial”, o Trojan instalará o aplicativo “com.qualcmm.timeservices”. Seu objetivo principal é baixar arquivos e executar o binário “start” deles. Durante a investigação, este aplicativo conseguiu se conectar com sucesso ao servidor de comando e controle, mas não recebeu nenhum comando. Então, eu não sei que tipo de arquivos serão executados, mas eles podem ser maliciosos ou publicitários.
Este Trojan foi distribuído através da Google Play Store e usa uma série de técnicas muito perigosas, incluindo o patch de bibliotecas de sistemas. Ele instala módulos maliciosos com funcionalidades diferentes no sistema. Parece que seu objetivo principal é entrar no sistema e executar arquivos baixados com direitos de raiz. Esses módulos maliciosos informam aos atacantes sobre cada passo que eles farão.
***
Com informações de Securelist