O novo ransomware, chamado CryCryptor, tem como alvo usuários do Android no Canadá. O malware é distribuído através de dois sites que se fazem passar por um aplicativo oficial de rastreamento da Covid-19 desenvolvido pela Health Canada. Os pesquisadores da ESET analisaram o ransomware e criaram uma ferramenta de descriptografia para as vítimas.
O CryCryptor surgiu apenas alguns dias depois que o governo canadense anunciou oficialmente sua intenção de apoiar o desenvolvimento de um aplicativo de rastreamento voluntário em todo o país chamado “Covid Alert”. O aplicativo oficial deve ser lançado para testes na província de Ontário no próximo mês.
A ESET informou o Canadian Centre for Cyber Security sobre essa ameaça assim que foi identificada.

Figura 1. Um dos sites utilizados para distribuir o app malicioso. O outro site tem um design idêntico e difere apenas no nome de domínio, que é covid19tracer [.] ca.
Depois que o usuário é vítima do CryCryptor, o ransomware criptografa os arquivos no dispositivo - todos os tipos de arquivos mais comuns - mas, em vez de bloquear o dispositivo, deixa um arquivo "readme " com o e-mail do atacante em todos os diretórios com arquivos criptografados.
Felizmente, conseguimos criar uma ferramenta de descriptografia para aqueles que são vítimas desse ransomware.
Depois que vimos o tweet que trouxe esse ransomware para o nosso radar (o pesquisador que o descobriu erroneamente rotulou o malware como um trojan bancário), analisamos o aplicativo. Descobrimos uma falha do tipo "Exportação incorreta de componentes do Android" que o MITRE rotula como CWE-926.
Devido a essa falha, qualquer aplicativo instalado no dispositivo afetado pode iniciar qualquer serviço exportado fornecido pelo ransomware. Isso nos permitiu criar a ferramenta de descriptografia - um aplicativo que executa a funcionalidade de descriptografia incorporada ao aplicativo de ransomware por seus criadores.
Criptografia/funcionalidade
Depois de ser executado, o ransomware solicita o acesso aos arquivos no dispositivo. Após obter essa permissão, ele criptografa os arquivos com determinadas extensões, como as que são apresentadas na Figura 2.

Figura 2. Extensões de arquivos criptografados pelo ransomware.
Os arquivos selecionados são criptografados usando o AES com uma chave de 16 caracteres gerada aleatoriamente. Depois que o ransomware CryCryptor criptografa um arquivo, três novos arquivos são criados e o arquivo original é removido. O arquivo criptografado possui a extensão ".enc" e o algoritmo gera um salt exclusivo para cada arquivo criptografado, armazenado com a extensão ".enc.salt"; e um vetor de inicialização, ".enc.iv".

Figura 3. Arquivos após criptografia.
Depois que todos os arquivos são criptografados, o CryCryptor exibe uma notificação: "Arquivos pessoais criptografados, consulte readme_now.txt". O arquivo readme_now.txt é colocado em todos os diretórios que contém arquivos criptografados.

Figura 4. Notificação de criptografia de arquivos (esquerda) e conteúdo do arquivo readme_now.txt (direita).
Descriptografia
O serviço responsável pela descriptografia de arquivos no CryCryptor possui a chave de criptografia armazenada em preferências compartilhadas, o que significa que ele não precisa entrar em contato com nenhum C&C para recuperá-la. É importante ressaltar que o serviço é exportado sem nenhuma restrição no Manifesto do Android (CWE-926), o que significa que é possível iniciá-lo externamente.
Com base nisso, criamos um aplicativo de descriptografia para as vítimas do ransomware CryCryptor no Android. Naturalmente, o aplicativo de descriptografia funciona apenas nesta versão do CryCryptor.
Uma nova família de ransomware
O ransomware CryCryptor é baseado no código open source no GitHub. Descobrimos a ameaça usando uma pesquisa simples com base no nome do pacote do aplicativo e em algumas strings que pareciam únicas.
Os desenvolvedores do ransomware open source, que o chamaram de CryDroid, devem saber que o código seria usado para fins maliciosos. Na tentativa de disfarçar o projeto como pesquisa, eles alegam que carregaram o código no serviço VirusTotal. Embora não esteja claro quem fez o upload da amostra, ela apareceu no VirusTotal no mesmo dia em que o código foi publicado no GitHub.

Figura 5. O ransomware open source.
Descartamos a afirmação de que o projeto tem objetivos de pesquisa - nenhum pesquisador responsável lançaria publicamente uma ferramenta que seja fácil de usar para fins maliciosos.
Notificamos o GitHub sobre a natureza desse código.
Os produtos ESET fornecem proteção contra o ransomware CryCryptor, detectando-o como Trojan.Android/CryCryptor.A. Além de usar uma solução de segurança para dispositivos móveis de qualidade, aconselhamos que os usuários do Android instalem aplicativos de fontes oficiais, como a Google Play Store.
Linha do tempo:
- 11 de junho de 2020: código-fonte publicado - CryDroid v1.1
- 11 de junho de 2020: código carregado no VirusTotal
- 12 de junho de 2020: o primeiro domínio malicioso que distribuiu a amostra foi registrado
- 18 de junho de 2020: um aplicativo malicioso (este ransomware para Android) foi compilado (com base em seu certificado)
- 21 de junho de 2020: foi registrado o segundo domínio malicioso que distribuiu a amostra
- 23 de junho de 2020: ESET informa o Canadian Centre for Cyber Security
- 23 de junho de 2020: os dois domínios deixaram de responder
Preparamos um vídeo (em inglês) que mostra o processo de criptografia e descriptografia:
Indicadores de Comprometimento (IoCs)
Package name | Hash | ESET detection name |
---|---|---|
com.crydroid | 322AAB72228B1A9C179696E600C1AF335B376655 | Trojan.Android/CryCryptor.A |
Links de distribuição
https://covid19tracer[.]ca/
https://tracershield[.]ca/
Técnicas de MITRE ATT&CK
Tactic | ID | Name | Description |
---|---|---|---|
Initial Access | T1476 | Deliver Malicious App via Other Means | The malware is downloaded from a fake website |
Initial Access | T1444 | Masquerade as Legitimate Application | It impersonates COVID-19 tracking app |
Persistence | T1402 | App Auto-Start at Device Boot | It listens for the BOOT_COMPLETED broadcast, ensuring that the app's functionality will be activated every time the device starts |
Impact | T1471 | Data Encrypted for Impact | Encrypts files with particular file extensions found on external media |