Novo ransomware para Android é distribuído através de SMS

Investigadores de ESET descobriram uma nova família de ransomware que afeta os utilizadores de Android e que tenta distribuir-se através de mensagens SMS que são enviadas aos contactos das suas vítimas.

Depois de dois anos de declive do ransomware para Android, surgiu uma nova família. Trata-se de uma ransomware (detetado pelo ESET Mobile Security como Android/Filecoder.C) que temos visto em distribuição através de vários fóruns on-line. Usando a lista de contactos das suas vítimas, propaga-se ainda mais por SMS com links maliciosos. Devido aos objetivos limitados e às falhas tanto na execução da campanha como na implementação da dua encriptação, o impacto deste novo ransomware é limitado. No entanto, se os desenvolvedores corrigem as falhas e os operadores começam a apontar para grupos mais amplos de utilizadores, o ransomware Android/Filecoder.C poderia converter-se numa séria ameaça.

O Android/Filecoder.C está ativo pelo menos desde 12 de julho de 2019. Ao analisar a campanha descobrimos que o Android/Filecoder.C tem sido distribuído através de publicações maliciosas no Reddit e no “XDA Developers”, um fórum para desenvolvedores de Android, pelo que reportámos tanto ao XDA Developers como ao Reddit acerca desta atividade maliciosa. As publicações no XDA Developers foram eliminadas rapidamente, enquanto que o perfil malicioso do Reddit, todavia estava ativo no momento de publicação deste artigo.

O Android/Filecoder.C propaga-se via SMS mediante links maliciosos. Estes SMS maliciosos são enviados a todos os contactos que constam da lista de contactos do dispositivo da vítima.

Depois do ransomware enviar os SMS maliciosos, encripta a maioria dos ficheiros do dispositivo do utilizador e solicita um resgate.

Os utilizadores que utilizem o ESET Mobile Security recebem uma advertência ao tentar abrir o link malicioso. Caso ignore a advertência e tente descarregar a aplicação, a solução de segurança vai bloqueá-la.

Distribuição

A campanha que descobrimos baseia-se em dois domínios controlados por hackers que contém ficheiros maliciosos de Android para descarregar. Os atacantes atraem as potenciais vítimas para esses domínios através de publicações ou comentários no Reddit (Figura 1) ou no fórum XDA Developers (Figura 2).

A maioria dos temas das publicações estavam relacionadas com pornografia, mas também tenhamos visto que fizeram publicações sobre assuntos técnicos como chamariz. Em todos os comentários ou publicações, os atacantes incluíram links ou códigos QR que apontavam para aplicações maliciosas.

Figura 1. Perfil no Reddit do hacker com publicações e comentários maliciosos

Figura 2. Algumas das publicações maliciosas dos hackers no fórum XDA Developers

Num link partilhado no Reddit, os hackers utilizaram o URL bit.ly. Este URL de bit.ly foi criado a 11 de junho de 2019 e, tal como se pode observar na Figura 3, as suas estatísticas mostram, que, quando escrevemos este artigo, tinham conseguido 59 cliques provenientes de diferentes fontes e países.

Figura 3. Estatísticas do link de bit.ly partilhado no Reddit durante a campanha de ransomware

Propagação

Como mencionado anteriormente, ransomware Android/Filecoder.C distribui links sobre o próprio através de SMS para todos os contactos no equipamento da vítima.

Estas mensagens incluem links para o ransomware. Para aumentar o interesse das potenciais vítimas, o link apresenta-se como pertencente a uma aplicação que supostamente usa as fotos da potencial vítima, tal como se pode observar na Figura 4.

Para maximizar o seu alcance, o ransomware conta com um ecrã da mesma mensagem que se vê na Figura 5 em 42 versões de idiomas diferentes. Antes de enviar as mensagens, elege a versão que se adequa à configuração do idioma do dispositivo da vítima. Para personalizar estas mensagens inclui o nome do contacto na mensagem.

Figura 4. Um SMS com um link para o ransomware. Esta variante de idioma é enviada se estiver de acordo com o idioma do dispositivo, neste caso em inglês
Figura 5. Umtotal de 42 versões da mensagem em distintos idiomas estão codificadas no ransomware

Funcionalidade

Uma vez que as possíveis vítimas recebem uma mensagem SMS com o link para a aplicação maliciosa, necessitam instalá-la manualmente. Depois de iniciada a aplicação, é mostrado o que é prometido nas publicações que o distribuem, o que normalmente é um jogo on-line de simulação de sexo. No entanto, os seus principais objetivos são a comunicação com o C&C, difundir mensagens maliciosas e implementar o mecanismo de encriptação/desencriptação.

Enquanto se dá a comunicação com o C&C, o malware contém endereços de Bitcoin e do C&C codificadas no seu código-fonte. No entanto, é possível recuperá-las de forma dinâmica: o hacker pode alterá-las a qualquer momento utilizando o serviço gratuito Pastebin.

Figura 6. Exemplo de um conjunto de endereços para que o ransomware recupere endereços de C&C

O ransomware tem a capacidade de enviar mensagens de texto devido a que tem acesso à lista de contactos do utilizador. Antes de encriptar os ficheiros, envia uma mensagem a cada um dos contactos da vítima utilizando a técnica descrita na secção “Propagação”.

De seguida, o ransomware passa pelos ficheiros localizados no armazenamento acessível, ou seja, todo o espaço de armazenamento do dispositivo, exceto onde residem os arquivos do sistema, e encripta a maioria deles (consulte a secção “Mecanismo de encriptação de ficheiros” neste artigo). Depois de encriptar os ficheiros, o ransomware exibe a sua nota de resgate (em inglês), como se pode observar na Figura 7.

Figura 7. Nota de resgate enviada pelo Android/Filecoder.C

É certo que se a vítima elimina a aplicação, o ransomware não poderá desencriptar os ficheiros, tal como se indica na nota de resgate. Por outro lado, de acordo com a nossa análise, não existe nada no código do ransomware que assegure a afirmação de que os dados afetados serão eliminados depois de 72 horas.

Como se pode ver na Figura 8, o resgate solicitado é parcialmente dinâmico. A primeira parte do que será a quantidade de Bitcoins que será solicitada está codificada (o valor é 0.01), enquanto que os seis dígitos restantes são o ID do utilizador gerado pelo malware.

Esta prática única pode servir para identificar os pagamentos recebidos. (No ransomware para Android isto muitas vezes é conseguido gerando uma carteira Bitcoin para cada dispositivo encriptado). De acordo com a recente taxa de câmbio, de 9.400 dólares por Bitcoin, os resgates derivados desta ameaça estarão entre os 94 e os 188 dólares (assumindo que o ID único seja gerado aleatoriamente).

Figura 8. Como o malware calcula o montante do resgate

A diferença entre o típico ransomware para Android para o Android/Filecoder.C é que este não impede o uso do dispositivo bloqueando o ecrã.

Como se pode observar na Figura 9, na altura em que se escreveu este artigo, o endereço Bitcoin mencionado, que pode ser alterado dinamicamente, mas era o mesmo em todos os casos que vimos, não tinha registadas transações.

Figura 9. O endereço de Bitcoin utilizado pelos atacantes

Mecanismo de encriptação de ficheiros

O ransomware utiliza encriptação assimétrica e simétrica. Primeiro, gera um par de chaves pública e privada. Esta chave privada é encriptada utilizando o algoritmo RSA com um valor codificado armazenado no código e é enviada para o servidor do atacante. O hacker pode desencriptar essa chave privada e, depois da vítima pagar o resgate, enviar essa chave privada à vítima para desencriptar os seus ficheiros.

Ao encriptar os arquivos, o ransomware gera uma nova chave AES para cada ficheiro a encriptar. Esta chave AES é encriptada utilizando a chave pública e precede a cada ficheiro encriptado, o que resulta no seguinte padrão: ((AES) public_key + (File) AES) .seven.

A estrutura do ficheiro pode observar-se na Figura 10.

Figura 10. Descriçao geral da estrutura dos ficheiros encriptados

O ransomware encripta os seguintes tipos de ficheiros localizados nos diretórios de armazenamento acessíveis:

“.doc”, “.docx”, “.xls”, “.xlsx”, “.ppt”, “.pptx”, “.pst”, “.ost”, “.msg”, “.eml”, “.vsd”, “.vsdx”, “.txt”, “.csv”, “.rtf”, “.123”, “.wks”, “.wk1”, “.pdf”, “.dwg”, “.onetoc2”, “.snt”, “.jpeg”, “.jpg”, “.docb”, “.docm”, “.dot”, “.dotm”, “.dotx”, “.xlsm”, “.xlsb”, “.xlw”, “.xlt”, “.xlm”, “.xlc”, “.xltx”, “.xltm”, “.pptm”, “.pot”, “.pps”, “.ppsm”, “.ppsx”, “.ppam”, “.potx”, “.potm”, “.edb”, “.hwp”, “.602”, “.sxi”, “.sti”, “.sldx”, “.sldm”, “.sldm”, “.vdi”, “.vmdk”, “.vmx”, “.gpg”, “.aes”, “.ARC”, “.PAQ”, “.bz2”, “.tbk”, “.bak”, “.tar”, “.tgz”, “.gz”, “.7z”, “.rar”, “.zip”, “.backup”, “.iso”, “.vcd”, “.bmp”, “.png”, “.gif”, “.raw”, “.cgm”, “.tif”, “.tiff”, “.nef”, “.psd”, “.ai”, “.svg”, “.djvu”, “.m4u”, “.m3u”, “.mid”, “.wma”, “.flv”, “.3g2”, “.mkv”, “.3gp”, “.mp4”, “.mov”, “.avi”, “.asf”, “.mpeg”, “.vob”, “.mpg”, “.wmv”, “.fla”, “.swf”, “.wav”, “.mp3”, “.sh”, “.class”, “.jar”, “.java”, “.rb”, “.asp”, “.php”, “.jsp”, “.brd”, “.sch”, “.dch”, “.dip”, “.pl”, “.vb”, “.vbs”, “.ps1”, “.bat”, “.cmd”, “.js”, “.asm”, “.h”, “.pas”, “.cpp”, “.c”, “.cs”, “.suo”, “.sln”, “.ldf”, “.mdf”, “.ibd”, “.myi”, “.myd”, “.frm”, “.odb”, “.dbf”, “.db”, “.mdb”, “.accdb”, “.sql”, “.sqlitedb”, “.sqlite3”, “.asc”, “.lay6”, “.lay”, “.mml”, “.sxm”, “.otg”, “.odg”, “.uop”, “.std”, “.sxd”, “.otp”, “.odp”, “.wb2”, “.slk”, “.dif”, “.stc”, “.sxc”, “.ots”, “.ods”, “.3dm”, “.max”, “.3ds”, “.uot”, “.stw”, “.sxw”, “.ott”, “.odt”, “.pem”, “.p12”, “.csr”, “.crt”, “.key”, “.pfx”, “.der”

Porém, não encripta ficheiros em diretórios que contém o string “.cache”, “tmp”, o “temp”.

O ransomware também deixa ficheiros sem encriptar se a extensão do arquivo é “.zip” ou “.rar” e se o tamanho do ficheiro for superior a 51,200 KB/50 MB. O mesmo com os ficheiros “.jpeg”, “.jpg” e “.png” com um tamanho de ficheiro inferior aos 150 KB.

A lista dos tipos de ficheiros contém alguns elementos não relacionados com Android e ao mesmo tempo faltam algumas extensões típicas de Android, como: apk, .dex, .so. Aparentemente, a lista foi copiada do ransomware WannaCryptor, também conhecido como WannaCry.

Uma vez encriptados os ficheiros, a extensão do ficheiro “.seven” é acrescentada ao nome original do ficheiro, como se pode ver na Figura 11.

Figura 11. Ficheiros encriptados com a extensão “.seven”.

Mecanismo de desencriptação

O código para desencriptar ficheiros está presente no ransomware. Se a vítima paga o resgate, o operador do ransomware pode verificá-lo através do site web que se observa na Figura 12 e enviar a chave privada para desencriptar os ficheiros.

Figura 12. Página web de verificação do pagamento do resgate

Como estar protegido

  • Em primeiro lugar, mantenha os seus dispositivos atualizados, idealmente configurados para corrigir e atualizar automaticamente, de modo a que possa permanecer protegido mesmo que não faça parte dos utilizadores mais conhecedor em segurança;
  • Se possível, utilize o Google Play ou outras lojas de aplicações acreditadas. É possível que estas lojas não sejam completamente livres de aplicações maliciosas, mas sem dúvida que têm mais condições para as evitar;
  • Antes de instalar qualquer aplicação, verifique a sua avaliação e os comentários. Concentre-se nos negativos, já que frequentemente são de utilizadores legítimos, enquanto que os outros são muitas vezes elaborados pelos hackers;
  • Concentre-se nas permissões solicitadas pela aplicação. Se lhe parecerem inadequadas para as funções da aplicação, evite descarregar a aplicação;
  • Use uma solução de segurança móvel acreditada para proteger o seu dispositivo.

por Lukas Stefanko

DEIXE UMA RESPOSTA

Please enter your comment!
Please enter your name here

13 + nine =