Após dois anos de declínio do ransomware para Android, surgiu uma nova família. Trata-se de um ransomware (detectado pelo ESET Mobile Security como Android/Filecoder.C) que tem sido distribuído através de vários fóruns on-line. Usando a lista de contatos das vítimas, a ameaça se propaga por meio de SMS com links maliciosos. Devido aos alvos limitados e falhas na execução da campanha e na implementação de sua criptografia, o impacto desse novo ransomware é limitado. No entanto, se os desenvolvedores corrigirem as falhas e os operadores começarem a direcionar a grupos maiores de usuários, o ransomware Android/Filecoder.C pode se tornar uma ameaça bastante séria.

O Android/Filecoder.C está ativo desde, pelo menos, 12 de julho de 2019. Ao analisar a campanha, descobrimos que o Android/Filecoder.C foi distribuído através de publicações maliciosas no Reddit e no “XDA Developers”, um fórum para desenvolvedores do Android, por isso informamos ao XDA Developers e ao Reddit sobre essa atividade maliciosa. As publicações no XDA Developers foram rapidamente removidos - enquanto o perfil malicioso no Reddit ainda estava ativo no momento da publicação deste artigo.

O Android/Filecoder.C se propaga via SMS através de links maliciosos. Estes SMS maliciosos são enviados para todos os contatos na lista de contatos do dispositivo da vítima.

Depois que o ransomware envia essa bateria de mensagens SMS maliciosas, a ameaça criptografa a maioria dos arquivos no dispositivo do usuário e solicita um resgate.

Os usuários que usam o ESET Mobile Security recebem um alerta ao tentarem abrir o link malicioso. Caso a vítima ignore o alerta e baixe o aplicativo, a solução de segurança irá a ameaça.

Distribuição

A campanha que descobrimos baseia-se em dois domínios controlados pelos atacantes (confira a seção IoC no final do artigo) que contêm arquivos maliciosos do Android para download. Os atacantes atraem vítimas para esses domínios por meio de postagens ou comentários no Reddit (Figura 1) ou no fórum XDA Developers (Figura 2).

A maioria dos tópicos das publicações estavam relacionados com pornografia, embora também tenhamos visto que os cibercriminosos realizaram publicações sobre assuntos técnicos como “isca”. Em todos os comentários ou postagens, os atacantes incluíam links ou códigos QR que estavam direcionados a aplicativos maliciosos.

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

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

Em um link que foi compartilhado no Reddit, os atacantes usaram o encurtador de URL bit.ly. Esta URL bit.ly foi criada em 11 de junho de 2019 e, como pode ser visto na Figura 3, suas estatísticas mostram que, no momento em que este post foi escrito, havia atingido 59 cliques de diferentes origens e países.

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

Propagação

Como mencionado anteriormente, o ransomware Android/Filecoder.C distribui links sobre si mesmo através de mensagens SMS para todos os contatos no computador da vítima.

Essas mensagens incluem links para o ransomware. Para aumentar o interesse das vítimas, o link é apresentado como se pertencesse a um aplicativo que supostamente usa as fotos da vítima, como pode ser visto na Figura 4.

Para maximizar seu alcance, o ransomware possui um modelo da mesma mensagem, como pode ser visto na Figura 5, em 42 versões de idiomas diferentes. Antes de enviar mensagens, a ameaça escolhe a versão que corresponda à configuração de idioma do dispositivo da vítima. Para personalizar essas mensagens, o malware inclui o nome do contato na mensagem.

Figura 4. Um SMS com um link para o ransomware. Essa variante de idioma é enviada se o dispositivo desde o qual a mensagem é emitida usa o inglês como o idioma padrão.

Figura 5. Um total de 42 versões da mensagem em diferentes idiomas estão hardcodeadas no ransomware.

Funcionalidade

Quando as vítimas recebem uma mensagem SMS com o link para o aplicativo malicioso, é necessário instalá-lo manualmente. Depois que o aplicativo é iniciado, ele mostra o que é prometido nas publicações que o propagam – normalmente é um jogo de simulação sexual on-line. No entanto, seus principais objetivos são a comunicação com o C&C, propagando mensagens maliciosas e implementando o mecanismo de criptografia/descriptografia.

Quanto à comunicação com o C&C, o malware contém endereços Bitcoin e C&C hardcodeados em seu código-fonte. No entanto, o cibercriminoso também pode recuperá-los dinamicamente: o atacante pode alterá-los a qualquer momento usando o serviço gratuito Pastebin.

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

O ransomware tem a capacidade de enviar mensagens de texto porque tem acesso à lista de contatos do usuário. Antes de criptografar os arquivos, a ameaça envia uma mensagem para cada um dos contatos da vítima usando a técnica descrita na seção "Propagação".

Em seguida, o ransomware passa pelos arquivos localizados no armazenamento acessível, ou seja, todo o espaço de armazenamento do dispositivo, exceto onde residem os arquivos do sistema, e criptografa a maioria deles (confira a seção “Mecanismo de criptografia de arquivos”). neste post). Depois de criptografar os arquivos, o ransomware exibe sua nota de resgate (em inglês), como pode ser visto na Figura 7.

Figura 7. Mensagem de resgate apresentada pelo Android/Filecoder.C.

É verdade que, se a vítima excluir o aplicativo, o ransomware não poderá descriptografar os arquivos, conforme indicado na mensagem de resgate. Por outro lado, de acordo com nossa análise, não há nada no código do ransomware que suporte a alegação de que os dados afetados serão perdidos após 72 horas.

Como pode ser visto na Figura 8, o resgate solicitado é parcialmente dinâmico. A primeira parte da quantidade de bitcoins que será solicitada está hardcodeada (o valor é 0,01), enquanto os seis dígitos restantes são o ID do usuário gerado pelo malware.

Essa prática exclusiva pode ser usada para identificar pagamentos recebidos (no ransomware para Android, isso geralmente é obtido gerando uma carteira Bitcoin separada para cada dispositivo criptografado). De acordo com a recente taxa de câmbio de aproximadamente US$ 9.400 por bitcoin, os resgates derivados dessa ameaça estarão na faixa de US$ 94 e US$188 (assumindo que o ID único seja gerado aleatoriamente).

Figura 8. Como o malware calcula a quantia do resgate.

Ao contrário do ransomware típico para Android, o Android/Filecoder.C não impede o uso do dispositivo através do bloqueio de tela.

Como pode ser visto na Figura 9, no momento de escrever este post, o endereço Bitcoin mencionado acima, que pode ser alterado dinamicamente, mas era o mesmo em todos os casos que vimos, não registrou transações.

Figura 9. O endereço Bitcoin usado pelos atacantes.

Mecanismo de criptografia de arquivos

O ransomware usa criptografia assimétrica e simétrica. Primeiro, gera um par de chaves pública e privada. Essa chave privada é criptografada usando o algoritmo RSA com um valor hardcodeado armazenado no código e enviado ao servidor do atacante. O cibercriminoso pode descriptografar essa chave privada e, depois que a vítima paga o resgate, enviar essa chave privada para a vítima para descriptografar seus arquivos.

Ao criptografar os arquivos, o ransomware gera uma nova chave AES para cada arquivo que será criptografado. Esta chave AES é criptografada usando a chave pública e é colocada antes de cada arquivo criptografado, o que resulta no seguinte padrão: ((AES) public_key + (File) AES) .seven.

A estrutura do arquivo pode ser vista na Figura abaixo:

Figura 10. Descrição geral da estrutura dos arquivos criptografados.

O ransomware criptografa os seguintes tipos de arquivos localizados em 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"

No entanto, a ameaça não criptografa arquivos em diretórios que contêm a string ".cache", "tmp" ou "temp".

O ransomware também deixa os arquivos não criptografados se a extensão do arquivo for ".zip" ou ".rar" e se o tamanho do arquivo for maior que 51.200 KB/50 MB. O mesmo acontece com os arquivos ".jpeg", ".jpg" e ".png" com um tamanho de arquivo inferior a 150 KB.

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

Uma vez que os arquivos são criptografados, a extensão de arquivo “.seven” é adicionada ao nome do arquivo original, como pode ser visto na Figura 11.

Figura 11. Arquivos criptografados com a extensão “.seven”.

Mecanismo de descriptografia

O código para descriptografar arquivos criptografados está presente no ransomware. Se a vítima pagar o resgate, o operador do ransomware poderá verificá-la através do site mostrado na Figura 12 e enviar a chave privada para descriptografar os arquivos.

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

Como estar protegido

  • Mantenha seus dispositivos atualizados.
  • Baixe apps apenas através de lojas oficiais.
  • Antes de instalar qualquer aplicativo, verifique sua classificação e comentários.
  • Verifique as permissões solicitadas pelo aplicativo.
  • Use uma solução de segurança para dispositivos móveis.

Indicadores de Comprometimento (IoCs)

Hash ESET detection name
B502874681A709E48F3D1DDFA6AE398499F4BD23 Android/Filecoder.C
D5EF600AA1C01FA200ED46140C8308637F09DFCD Android/Filecoder.C
B502874681A709E48F3D1DDFA6AE398499F4BD23 Android/Filecoder.C
F31C67CCC0D1867DB1FBC43762FCF83746A408C2 Android/Filecoder.C

Bitcoin address
16KQjht4ePZxxGPr3es24VQyMYgR9UEkFy

Servers
http://rich7[.]xyz
http://wevx[.]xyz
https://pastebin[.]com/raw/LQwGQ0RQ

Contact e-mail address
h3athledger@yandex[.]ru

Affected Android versions
Android 5.1 and above