DLL Fixer leva ao Cyrat Ransomware

Um novo ransomware usa um método incomum de criptografia simétrica chamado “Fernet”. É baseado em Python e acrescenta .CYRAT aos arquivos criptografados.

Descoberta e análise inicial

Enquanto procuramos por novos malwares, frequentemente usamos as regras da Yara para encontrar amostras suspeitas. Uma das minhas regras genéricas de busca de ransomware encontrou esta nova amostra de ransomware. Na época, havia apenas 2 detecções no Virustotal. A primeira data de envio é 25 de agosto de 2020.

DiE e PortexAnalyzer observam que há um arquivo zlib na sobreposição do arquivo. Uma inspeção mais detalhada mostra referências ao python37.dll e ao nome do arquivo PYZ-00.pyz, que é típico para executáveis PyInstaller .

Isso significa que o Cyrat ransomware foi compilado com Python 3.7 e convertido em um arquivo do Windows PE usando PyInstaller.

Descompactar e descompilar este arquivo requer o PyInstxtractor , Python 3.7 e, por exemplo, o uncompyle6 . A versão do Python precisa ser igual ao executável do malware ao extrair os arquivos .pyc. Caso contrário, o PyInstxtractor tem problemas para construir os arquivos corretamente.

Disfarce como fixador de DLL

Quando tentei executar o malware pela primeira vez, ele travou devido à falta de fontes para o pyfiglet . Para vê-lo em ação, tive que instalar o pyfiglet e replicar o código que exibe a saída do ransomware.

O malware se disfarça como DLL fixer 2.5 (veja a imagem abaixo). Na execução, ele exibirá um número criado aleatoriamente de DLLs corrompidas que finge ter encontrado no sistema. Depois que o sistema for criptografado, uma mensagem de sucesso para consertar as DLLs é exibida.

Encriptação

Cyrat ransomware usa Fernet para criptografar arquivos. Este é um método de criptografia simétrica destinado a pequenos arquivos de dados que cabem na RAM. Embora o Fernet não seja incomum em si, não é comum para ransomware e, neste caso, até mesmo problemático. Este ransomware criptografa arquivos inteiros, independentemente do seu tamanho, enquanto o Fernet não é adequado para arquivos grandes.

Uma chave RSA pública é usada para criptografar a chave Fernet. Essa chave pública é baixada do Mediafire em vez de ser enviada com o ransomware. Isso adiciona outra dependência. A chave criptografada do Fernet é salva em Desktop \ EMAIL_US.txt . Um usuário com um sistema infectado é obrigado a enviar esse arquivo aos criminosos.

Cyrat anexa .CYRAT aos arquivos criptografados. Ele tem uma lista de pastas nas quais verifica os arquivos de destino. Essas pastas são ‘Desktop’, ‘Downloads’, ‘Imagens’, ‘Música’, ‘Vídeos’ e ‘Documentos’.

Destina-se a arquivos com as seguintes extensões: ‘doc’, ‘docx’, ‘xls’, ‘xlsx’, ‘ppt’, ‘pptx’, ‘boop’, ‘pst’, ‘ost’, ‘msg’, ’eml ‘,’ vsd ‘,’ vsdx ‘,’ txt ‘,’ csv ‘,’ rtf ‘,’ 123 ‘,’ wks ‘,’ wk1 ‘,’ pdf ‘,’ dwg ‘,’ onetoc2 ‘,’ snt ‘, ‘jpeg’, ‘jpg’, ‘docb’, ‘docm’, ‘ponto’, ‘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 ‘,’ PAQ ‘,’ bz2 ‘,’ tbk ‘,’ bak ‘,’ tar ‘,’ tgz ‘ , ‘gz’, ‘7z’, ‘rar’, ‘zip’, ‘backup’, ‘iso’, ‘vcd’, ‘bmp’, ‘png’, ‘gif’, ‘raw’, ‘tif’, ‘ tiff ‘,’ nef ‘,’ psd ‘,’ ai ‘,’ svg ‘,’ djvu ‘,’ m4u ‘,’ m3u ‘,’ mid ‘,’ wma ‘,’ flv ‘,’ 3g2 ‘,’ asf ‘ , ‘mpeg’, ‘vob’, ‘mpg’, ‘swf’, ‘wav’, ‘mp3’, ‘sh’, ‘classe’, ‘jar’, ‘java’, ‘rb’, ‘asp’, ‘ php ‘,’ jsp ‘,’ brd ‘,’ dch ‘,’ dip ‘,’ pl ‘,’ vb ‘,’vbs ‘,’ ps1 ‘,’ bat ‘,’ cmd ‘,’ asm ‘,’ h ‘,’ pas ‘,’ c ‘,’ cs ‘,’ suo ‘,’ sln ‘,’ ldf ‘,’ mdf ‘ , ‘ibd’, ‘myi’, ‘myd’, ‘frm’, ‘odb’, ‘dbf’, ‘db’, ‘mdb’, ‘accdb’, ‘sql’, ‘sqlitedb’, ‘sqlite3’, ‘ 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 ‘,’ p12 ‘,’ csr ‘,’ chave ‘,’ pfx ‘,’ der ‘,’ deb ‘,’mpeg’, ‘WEBM’, ‘MPG’, ‘MP2’, ‘MPEG’, ‘MPE’, ‘MPV’, ‘OGG’, ‘3gp’, ‘mp3’, ‘json’, ‘css’, ‘html ‘,’ py ‘,’ exe ‘,’ MP2 ‘,’ MPEG ‘,’ MPE ‘,’ MPV ‘,’ OGG ‘,’ 3gp ‘,’ mp3 ‘

O ransomware lista mais algumas extensões com um ponto, o que é um bug: ‘.ARC’, ‘.cpp’, ‘.cgm’, ‘.js’, ‘.fla’, ‘.asc’, ‘.crt ‘,’ .sch ‘. Essas extensões nunca serão encontradas pelo Cyrat porque o caminho do arquivo é retirado dos pontos antes de ser comparado com a extensão de destino.

Uma nota de resgate chamada RANSOME_NOTE.txt é colocada em cada pasta de destino. Além disso, uma foto de estoque de ransomware é baixada de images.idgesg.net para Documents \ background_img.png e definida como papel de parede. O papel de parede não contém nenhuma mensagem de resgate. Nesse estado, o único propósito da foto de estoque é chamar a atenção do usuário.

Cyrat define esta foto como papel de parede
Nota de resgate de Cyrat (clique para ampliar)

Mudanças de registro e persistência

O ransomware exclui as cópias do volume de sombra e desabilita o CMD, o gerenciador de tarefas e as ferramentas de registro por meio de configurações de política no registro. Ele também remove o comando RUN do menu iniciar e do gerenciador de tarefas. Ele usa o bcedit para definir recoveryenabled para No e bootstatuspolicy para ignoreallfailures

Para persistência, o Cyrat se copia para a pasta autostart \ AppData \ Roaming \ Microsoft \ Windows \ Menu Iniciar \ Programas \ Inicializar

Uma reinicialização do sistema e, portanto, uma nova execução do rasomware, provavelmente criptografará as notas de resgate. Não encontrei nenhuma salvaguarda no código para impedir que isso aconteça.

Plataformas Alvo

A plataforma de destino é, sem dúvida, o Windows, porque o executável PyInstaller só funciona lá. O corretor de DLL trojanizado somente atrairá usuários do Windows. Comandos de registro e mecanismos de persistência também são baseados em Windows.

Estranhamente, também há verificações para Linux e Darwin (núcleo de muitos sistemas operacionais da Apple) no corpo principal, sem nenhuma alteração no código a seguir, que ainda é direcionado ao Windows.

Entrando em contato com o (s) ator (es) da ameaça

Depois de postar a amostra do Cyrat no Twitter, outro usuário do Twitter, que deseja ser referido como alex27 , contatou o (s) vigarista (s) do ransomware. Ele pediu a descriptografia e compartilhou a troca de e-mail comigo. Isso mostra que o (s) ator (es) da ameaça estão esperando solicitações de ajuda dos usuários afetados e, portanto, distribuindo ativamente o malware.

Recebemos a sua mensagem, acalme-se, os seus ficheiros estão seguros, só os receberá de volta se obedecer e seguir as instruções. Você sabe sobre bitcoin agora? A página que colocamos lá para ajudá-lo a conseguir ajuda com bitcoin? Se não, você pode usar o Google e descobrir como obter bitcoin em seu país e receber US $ 1.000 em bitcoin enviados para este endereço de bitcoin: <redigido> Sua contagem de dois dias começa agora, temos acesso total ao seu computador e sabemos que você está lendo Isso agora. $ 500 serão adicionados a cada dia depois que os dois dias se passarem e você não tiver feito o pagamento pelo descriptografador. Não pense que não excluiremos esses arquivos se não recebermos notícias suas.

Eu editei o endereço bitcoin porque ele provavelmente foi criado individualmente para cada caso. Atualmente não tem transações. alex27 apontou que suas respostas, bem como a nota de resgate, contêm muitos erros gramaticais, tornando improvável que o autor seja um falante nativo de inglês.

Conclusão

Como costuma ser o caso com novas descobertas de malware, este exemplo é cheio de bugs e ainda não está pronto para infectar nenhum sistema porque trava em seu estado atual. No entanto, a resposta do ator da ameaça mostra que eles estão ativos e podem já ter publicado versões que funcionam. Normalmente, é apenas uma questão de tempo até que essas falhas sejam corrigidas. A escolha problemática do método de criptografia Fernet pode prejudicar os sistemas enquanto eles tentam criptografar arquivos com gigabytes na RAM de uma só vez.

Algumas partes do código mostram a intenção de infectar também os sistemas Darwin e Linux, que podem ser adicionados posteriormente.

Infelizmente, atualmente não há maneira conhecida de descriptografar arquivos sem a chave.

Indicadores de compromisso

DescriçãoNome do arquivoHash / URL
Ransomware executávelNA4b76ad80e9ce4c503bde0e476a88447426fc38315d440d22926627295e1b0ec6
Bilhete de resgateRANSOME_NOTE.txtgerado por execução
Chave pública RSA\ Documents \ pub_key.pemhxxp: //download1582.mediafire.com/c91ywpc4l7ag/xj26578psz6n9xo/public_key.pem
Arquivo de chave Fernet bruto / simples\ Documentos \ key.txtgerado por execução
Arquivo de chave Fernet criptografadoEMAIL_US.txtgerado por execução
Wallpaper\ Documentos \ background_img.pnghxxps: //images.idgesg.net/images/article/2020/05/ransomware_attack_worried_businessman_by_andrey_popov_gettyimages-1199291222_cso_2400x1600-100840844-large.jpg

Fonte: https://www.gdatasoftware.com/blog/cyrat-ransomware