Como funciona o ransomware Ryuk, que ataca empresas

Como funciona o ransomware Ryuk, que ataca empresas

Ryuk é uma das variantes de ransomware mais conhecidas dos últimos anos. Desde que apareceu pela primeira vez no verão de 2018, acumulou uma lista impressionante de vítimas, especialmente no ambiente empresarial, que é o principal alvo de seus ataques.

1. Informações Gerais

Este documento contém uma análise da variante de ransomware Ryuk, bem como do carregador responsável por introduzir o malware no sistema.

O ransomware Ryuk apareceu pela primeira vez no verão de 2018. Uma das diferenças do Ryuk em relação a outros ransomwares é que ele foca em atacar ambientes corporativos.

No meio de 2019, grupos cibercriminosos atacaram um grande número de empresas espanholas com este ransomware.

Como funciona o ransomware Ryuk, que ataca empresas
Fig. 1: Trecho do El Confidencial sobre o ataque do ransomware Ryuk [1]

Como funciona o ransomware Ryuk, que ataca empresas
Fig. 2: Trecho do El País sobre o ataque realizado com o ransomware Ryuk [2]

Este ano, o Ryuk atacou um número considerável de empresas em vários países. Como você pode ver nas figuras abaixo, os mais afetados foram a Alemanha, a China, a Argélia e a Índia.

Comparando o número de ciberataques, podemos ver que milhões de usuários foram afetados pelo Ryuk e um enorme volume de dados foi comprometido, resultando em prejuízos econômicos significativos.

Como funciona o ransomware Ryuk, que ataca empresas
Fig. 3: Ilustração da atividade global do Ryuk.

Como funciona o ransomware Ryuk, que ataca empresas
Fig. 4: 16 países mais afetados pelo Ryuk

Como funciona o ransomware Ryuk, que ataca empresas
Fig. 5: Número de usuários atacados pelo ransomware Ryuk (em milhões)

De acordo com o funcionamento comum de ameaças desse tipo, este ransomware exibe uma notificação de resgate após a conclusão da criptografia, que deve ser paga em bitcoins para o endereço indicado para recuperar o acesso aos arquivos criptografados.

Este malware evoluiu desde sua primeira aparição.
A variante desta ameaça analisada neste documento foi detectada durante uma tentativa de ataque em janeiro de 2020.

Devido à sua complexidade, este malware é frequentemente atribuído a grupos cibercriminosos organizados, também conhecidos como grupos APT.

Uma parte do código Ryuk apresenta uma semelhança notável com o código e a estrutura de outro ransomware conhecido, o Hermes, que possui várias funções semelhantes. Por essa razão, inicialmente o Ryuk foi associado ao grupo norte-coreano Lazarus, que na época era suspeito de ser responsável pelo ransomware Hermes.

Posteriormente, o serviço Falcon X da CrowdStrike observou que, na verdade, o Ryuk foi criado pelo grupo WIZARD SPIDER [4].

Existem várias evidências que apoiam essa suposição. Primeiro, esse ransomware foi promovido no site exploit.in, que é um conhecido mercado russo de malwares e anteriormente esteve relacionado a alguns grupos APT russos.
Esse fato exclui a teoria de que o Ryuk poderia ter sido desenvolvido pelo grupo APT Lazarus, pois isso não condiz com a forma como esse grupo opera.

Além disso, o Ryuk foi promovido como um ransomware que não funcionaria em sistemas russos, ucranianos e bielorrussos. Esse comportamento é definido por uma função encontrada em algumas versões do Ryuk, onde ele verifica o idioma do sistema em que está sendo executado e interrompe sua operação caso o sistema tenha o idioma russo, ucraniano ou bielorrusso. Finalmente, durante a análise pericial da máquina que foi invadida pelo grupo WIZARD SPIDER, foram encontrados vários "artefatos" que supostamente foram utilizados no desenvolvimento do Ryuk como uma variante do ransomware Hermes.

Por outro lado, os especialistas Gabriela Nicolo e Luciano Martins sugeriram que o ransomware poderia ter sido desenvolvido pelo grupo APT CryptoTech [5].
Isso se deve ao fato de que, alguns meses antes do surgimento do Ryuk, esse grupo postou em um fórum do mesmo site informações de que havia desenvolvido uma nova versão do ransomware Hermes.

Vários usuários do fórum questionaram se a CryptoTech realmente havia criado o Ryuk. Após isso, esse grupo se defendeu e afirmou que tinha provas de que desenvolveram 100% desse ransomware.

2. Características

Começamos com o carregador, cuja tarefa é identificar o sistema em que se encontra, para poder executar a versão "correta" do ransomware Ryuk.
O hash do carregador é o seguinte:

MD5 A73130B0E379A989CBA3D695A157A495
SHA256 EF231EE1A2481B7E627921468E79BB4369CCFAEB19A575748DD2B664ABC4F469

Uma das características deste loader é que ele não contém nenhum metadado, ou seja, os criadores deste malware não incluíram nenhuma informação nele.

Às vezes, eles incluem dados errôneos para fazer o usuário pensar que está executando um aplicativo legítimo. No entanto, como veremos mais adiante, se a infecção não requer interação do usuário (como no caso deste ransomware), os criminosos não consideram necessário usar metadados.

Como funciona o ransomware Ryuk, que ataca empresas
Fig. 6: Metadados do amostra

A amostra foi compilada em formato de 32 bits, para que possa ser executada tanto em sistemas de 32 bits quanto em 64 bits.

3. Vetor de Penetração

A amostra que carrega e executa o Ryuk entrou em nosso sistema através de uma conexão remota, e as credenciais de acesso foram obtidas por meio de um ataque RDP anterior.

Como funciona o ransomware Ryuk, que ataca empresas
Fig. 7: Registro do ataque

O criminoso conseguiu acessar o sistema remotamente. Depois, ele criou um arquivo executável com nossa amostra.
Esse arquivo executável foi bloqueado pela solução antivírus antes da execução.

Como funciona o ransomware Ryuk, que ataca empresas
Fig. 8: Bloqueio da amostra

Como funciona o ransomware Ryuk, que ataca empresas
Como funciona o ransomware Ryuk, que ataca empresas
Fig. 9: Bloqueio da amostra

Quando o arquivo malicioso foi bloqueado, o criminoso tentou carregar uma versão criptografada do arquivo executável, que também foi bloqueada.

Como funciona o ransomware Ryuk, que ataca empresas
Fig. 10: Conjunto de amostras que o criminoso tentou executar

Finalmente, ele tentou carregar outro arquivo malicioso através do console criptografado
PowerShell para contornar a proteção antivírus. Mas ele também foi bloqueado.

Como funciona o ransomware Ryuk, que ataca empresas
Fig. 11: PowerShell com conteúdo malicioso bloqueado

Como funciona o ransomware Ryuk, que ataca empresas
Fig. 12: PowerShell com conteúdo malicioso bloqueado

4. Loader

Quando executado, ele grava um arquivo ReadMe na pasta %temp%, o que é típico do Ryuk. Este arquivo é um pedido de resgate, contendo um endereço de e-mail no domínio protonmail, que é bastante comum nesta família de malware: msifelabem1981@protonmail.com

Como funciona o ransomware Ryuk, que ataca empresas

Como funciona o ransomware Ryuk, que ataca empresas
Fig. 13: Pedido de resgate

Durante a execução do loader, você pode ver que ele запуска vários arquivos executáveis com nomes aleatórios. Eles são armazenados em uma pasta oculta PUBLIC, mas se a opção de sistema operacional "Mostrar arquivos e pastas ocultos" não estiver ativada «Mostrar arquivos e pastas ocultos», eles permanecerão ocultos. Além disso, esses arquivos são de 64 bits, ao contrário do arquivo pai, que é de 32 bits.

Como funciona o ransomware Ryuk, que ataca empresas

Como funciona o ransomware Ryuk, que ataca empresas
Fig. 14: Arquivos executáveis acionados pela amostra

Como você pode ver na figura acima, o Ryuk executa o icacls.exe, que será utilizado para modificar todas as listas de controle de acesso (ACL), garantindo assim acesso e alteração dos flags.

Ele obtém acesso total sob todos os usuários a todos os arquivos no dispositivo (\/T) independentemente de erros (\/C) e sem exibir quaisquer mensagens (\/Q).

Como funciona o ransomware Ryuk, que ataca empresas
Fig. 15: Parâmetros de execução do icacls.exe acionado pela amostra

É importante considerar que o Ryuk verifica qual versão do Windows está sendo executada. Para isso, ele
realiza a verificação da versão através do GetVersionExW, onde verifica o valor do flag lpVersionInformation, que indica se a versão atual do Windows é mais recente do que Windows XP.

Como funciona o ransomware Ryuk, que ataca empresas

Como funciona o ransomware Ryuk, que ataca empresas

Dependendo se você está usando uma versão mais recente do que o Windows XP, o carregador irá gravar na pasta do usuário local — neste caso, na pasta %Public%.

Como funciona o ransomware Ryuk, que ataca empresas
Fig. 17: Verificação da versão do sistema operacional

O arquivo gravado é o Ryuk. Em seguida, ele o executa, passando seu próprio endereço como parâmetro.

Como funciona o ransomware Ryuk, que ataca empresas
Fig. 18: Execução do Ryuk através do ShellExecute

A primeira coisa que o Ryuk faz é obter os parâmetros de entrada. Desta vez, existem dois parâmetros de entrada (o próprio arquivo executável e o endereço do dropper), que são usados para remover suas próprias trilhas.

Como funciona o ransomware Ryuk, que ataca empresas

Como funciona o ransomware Ryuk, que ataca empresas
Fig. 19: Criação do processo

Você também pode ver que assim que ele executou seus arquivos executáveis, ele se remove, não deixando nenhuma evidência de sua presença na pasta onde foi executado.

Como funciona o ransomware Ryuk, que ataca empresas
Fig. 20: Remoção do arquivo

5. RYUK

5.1 PRESENÇA
O Ryuk, assim como outros malwares, tenta permanecer no sistema o máximo possível. Como mostrado acima, uma das maneiras de alcançar esse objetivo é a criação e execução oculta de arquivos executáveis. Para isso, a prática mais comum é modificar a chave do registro CurrentVersionRun.
Neste caso, você pode ver que para esse fim, o primeiro arquivo executável VWjRF.exe
(o nome do arquivo é gerado aleatoriamente) executa cmd.exe.

Como funciona o ransomware Ryuk, que ataca empresas

Como funciona o ransomware Ryuk, que ataca empresas
Fig. 21: Execução do arquivo VWjRF.exe

Em seguida, é inserido o comando RUN com o nome "svchos". Dessa forma, se você quiser verificar as chaves do registro a qualquer momento, poderá facilmente não perceber essa alteração, considerando a semelhança do nome com svchost. Graças a esta chave, o Ryuk garante sua presença no sistema. Se o sistema ainda não foi infectado, ao reiniciar, o arquivo executável tentará novamente.

Como funciona o ransomware Ryuk, que ataca empresas
Fig. 22: A amostra garante presença na chave do registro

Também podemos ver que este arquivo executável interrompe dois serviços:
"audioendpointbuilder", que, como o nome sugere, corresponde ao áudio do sistema,

Como funciona o ransomware Ryuk, que ataca empresas
Fig. 23: A amostra interrompe o serviço de áudio do sistema

e samss, que é o serviço de gerenciamento de contas. A interrupção desses dois serviços é uma característica do Ryuk. Neste caso, se o sistema estiver conectado a um sistema SIEM, o ransomware tenta interromper o envio de SIEM de quaisquer alertas. Dessa forma, ele protege seus próximos passos, uma vez que alguns serviços SAM não poderão iniciar corretamente após a execução do Ryuk.

Como funciona o ransomware Ryuk, que ataca empresas
Fig. 24: A amostra interrompe o serviço Samss

5.2 Privilégios

De forma geral, o Ryuk começa com o movimento lateral dentro da rede ou é iniciado por outro malware, como Emotet ou Trickbot, que, em caso de escalonamento de privilégios, transmite esses direitos elevados para o ransomware.

Previamente, como uma introdução ao processo de implementação, vemos que ele executa o processo ImpersonateSelf, o que significa que o conteúdo de segurança do token de acesso será transferido para o fluxo, onde será imediatamente capturado usando GetCurrentThread.

Como funciona o ransomware Ryuk, que ataca empresas
Fig. 25: Chamada ImpersonateSelf

Em seguida, vemos que ele vincula o token de acesso ao fluxo. Também vemos que uma das flags é DesiredAccess, que pode ser usada para controlar o acesso que o fluxo terá. Neste caso, o valor que edx receberá deve ser TOKEN_ALL_ACESS ou, caso contrário, TOKEN_WRITE.

Como funciona o ransomware Ryuk, que ataca empresas

Como funciona o ransomware Ryuk, que ataca empresas
Fig. 26: Criação do token de fluxo

Em seguida, ele usará SeDebugPrivilege e fará uma chamada para obter os direitos de depuração Debug em relação ao fluxo, resultando na instrução PROCESS_ALL_ACCESS, permitindo acesso a qualquer processo necessário. Agora, considerando que o ransomware já tem um fluxo preparado, resta apenas avançar para a fase final.

Como funciona o ransomware Ryuk, que ataca empresas
Fig. 27: Chamada de SeDebugPrivilege e função de escalonamento de privilégios

Por um lado, temos o LookupPrivilegeValueW, que nos fornece as informações necessárias sobre os privilégios que desejamos elevar.

Como funciona o ransomware Ryuk, que ataca empresas
Fig. 28: Solicitação de informações sobre privilégios para sua elevação

Por outro lado, temos AdjustTokenPrivileges, que permite obter os direitos necessários para o nosso processo. Neste caso, o mais importante é NewState, cujo sinalizador fornecerá os privilégios.

Como funciona o ransomware Ryuk, que ataca empresas

Como funciona o ransomware Ryuk, que ataca empresas
Fig. 29: Configuração de direitos para o token

5.3 Implementação

Nesta seção, mostraremos como o exemplo executa o processo de implementação, já mencionado neste relatório.

O objetivo principal do processo de implementação, assim como o de escalonamento, é obter acesso a cópias de sombra. Para isso, ele precisa operar com um processo com direitos superiores aos do usuário local. Assim que ele obtiver esses direitos mais elevados, ele removerá as cópias e fará alterações em outros processos para impossibilitar o retorno a um ponto de restauração anterior no sistema operacional.

Como costuma acontecer com esse tipo de malware, para executar a implementação, ele utiliza CreateToolHelp32Snapshot, portanto ele tira uma instantânea dos processos atualmente em execução e tenta acessar esses processos por meio de OpenProcess. Assim que obtém acesso ao processo, ele também abre o token com suas informações para obter os parâmetros do processo.

Como funciona o ransomware Ryuk, que ataca empresas
Fig. 30: Obtendo processos do computador

Podemos ver dinamicamente como ele obtém a lista de processos em execução no subprograma 140002D9C usando CreateToolhelp32Snapshot. Depois de obtê-los, ele percorre a lista, tentando abrir os processos um por um usando OpenProcess até que consiga. Neste caso, o primeiro processo que ele conseguiu abrir foi "taskhost.exe".

Como funciona o ransomware Ryuk, que ataca empresas
Fig. 31: Execução dinâmica da rotina para obter o processo

Podemos ver que, em seguida, ele lê as informações do token do processo, então ele chama OpenProcessToken com o parâmetro "20008"

Como funciona o ransomware Ryuk, que ataca empresas
Fig. 32: Lendo informações do token do processo

Ele também verifica se o processo no qual ele irá se infiltrar não é csrss.exe, explorer.exe, lsaas.exe ou se ele possui um conjunto de direitos NT authority.

Como funciona o ransomware Ryuk, que ataca empresas
Fig. 33: Processos excluídos

Podemos ver dinamicamente como ele primeiro realiza uma verificação usando as informações do token do processo em 140002D9C para verificar se a conta cujos direitos estão sendo utilizados no processo é uma conta AUTORIDADE NT.

Como funciona o ransomware Ryuk, que ataca empresas
Fig. 34: Verificação da AUTORIDADE NT

E depois, fora do procedimento, ele verifica se não é csrss.exe, explorer.exe ou lsaas.exe.

Como funciona o ransomware Ryuk, que ataca empresas
Fig. 35: Verificação da AUTORIDADE NT

Após fazer um snapshot dos processos, ele abriu os processos e verificou se nenhum deles era uma exceção, ele está pronto para gravar na memória os processos que serão injetados.

Para isso, ele primeiro reserva uma área na memória (VirtualAllocEx), grava nela (WriteProcessmemory) e cria uma thread (CreateRemoteThread). Para trabalhar com essas funções, ele usa os PIDs dos processos selecionados, que ele obteve anteriormente usando CreateToolhelp32Snapshot.

Como funciona o ransomware Ryuk, que ataca empresas
Fig. 36: Código para injeção

Aqui podemos observar dinamicamente como ele usa o PID do processo para chamar a função VirtualAllocEx.

Como funciona o ransomware Ryuk, que ataca empresas
Fig. 37: Chamada de VirtualAllocEx

5.4 Criptografia
Nesta seção, examinaremos parte deste exemplo relacionada à criptografia. Na próxima figura, você pode ver duas subprogramas chamadas "LoadLibrary_EncodeString" e "Encode_Func", que são responsáveis pela execução do procedimento de criptografia.

Como funciona o ransomware Ryuk, que ataca empresas
Fig. 38: Procedimentos de criptografia

No começo, podemos ver como ele carrega uma string que será usada posteriormente para desofuscar tudo o que é necessário: imports, DLLs, comandos, arquivos e CSP.

Como funciona o ransomware Ryuk, que ataca empresas
Fig. 39: Cadeia de desofuscação

Na figura seguinte, vemos o primeiro import que ele desofusca no registro R4, LoadLibrary. Isso será usado mais tarde para carregar as DLLs necessárias. Também podemos ver outra string no registro R12, que é usada junto com a string anterior para executar a desofuscação.

Como funciona o ransomware Ryuk, que ataca empresas
Fig. 40: Desofuscação dinâmica

Ele continua carregando comandos que ele executará mais tarde para desativar backups, pontos de restauração e modos de início seguro.

Como funciona o ransomware Ryuk, que ataca empresas
Fig. 41: Carregamento de comandos

Em seguida, ele carrega o local onde lançará 3 arquivos: Windows.bat, run.sct e start.bat.

Como funciona o ransomware Ryuk, que ataca empresas

Como funciona o ransomware Ryuk, que ataca empresas

Como funciona o ransomware Ryuk, que ataca empresas

Como funciona o ransomware Ryuk, que ataca empresas
Fig. 42: Locais dos arquivos

Esses 3 arquivos são usados para verificar as permissões que cada um dos locais possui. Se as permissões necessárias não estiverem disponíveis, Ryuk interrompe a execução.

Ele continua carregando strings correspondentes aos três arquivos. O primeiro, DECRYPT_INFORMATION.html, contém informações necessárias para a recuperação dos arquivos. O segundo, PUBLIC, contém a chave pública RSA.

Como funciona o ransomware Ryuk, que ataca empresas
Fig. 43: String DECRYPT INFORMATION.html

Terceira, UNIQUE_ID_DO_NOT_REMOVE, contém uma chave criptografada que será utilizada no próximo subprocesso para executar a criptografia.

Como funciona o ransomware Ryuk, que ataca empresas
Fig. 44: Linha UNIQUE ID DO NOT REMOVE

Finalmente, ele carrega as bibliotecas necessárias juntamente com as importações e CSP (Microsoft Enhanced RSA e AES Cryptographic Provider).

Como funciona o ransomware Ryuk, que ataca empresas
Fig. 45: Carregando bibliotecas

Após a conclusão da desofuscação, ele prossegue para a execução das ações necessárias para a criptografia: percorrendo todos os discos lógicos, executando o que foi carregado no subprocesso anterior, reforçando a presença no sistema, soltando o arquivo RyukReadMe.html, criptografando, percorrendo todas as unidades de rede, acessando os dispositivos descobertos e criptografando-os.
Tudo começa com o carregamento de "cmd.exe" e gravação da chave RSA pública.

Como funciona o ransomware Ryuk, que ataca empresas
Fig. 46: Preparação para a criptografia

Em seguida, ele obtém todos os discos lógicos usando GetLogicalDrives e desativa todos os backups, pontos de restauração e modos seguros de inicialização.

Como funciona o ransomware Ryuk, que ataca empresas
Fig. 47: Desativação de ferramentas de recuperação

Após isso, ele reforça sua presença no sistema, como vimos acima, e grava o primeiro arquivo RyukReadMe.html em TEMP.

Como funciona o ransomware Ryuk, que ataca empresas
Fig. 48: Publicação do aviso de resgate

Na próxima figura você pode ver como ele cria o arquivo, carrega o conteúdo e grava-o:

Como funciona o ransomware Ryuk, que ataca empresas
Fig. 49: Carregando e gravando o conteúdo do arquivo

Para poder executar essas mesmas ações em todos os dispositivos, ele utiliza
"icacls.exe", como mostramos acima.

Como funciona o ransomware Ryuk, que ataca empresas
Fig. 50: Uso de icacls.exe

E, finalmente, ele começa a criptografar arquivos, exceto arquivos "*.exe", "*.dll", arquivos do sistema e outras localizações especificadas em uma lista branca criptografada. Para isso, ele utiliza as importações: CryptAcquireContextW (onde é indicado o uso de AES e RSA), CryptDeriveKey, CryptGenKey, CryptDestroyKey etc. Também é feita uma tentativa de expandir sua ação para dispositivos de rede descobertos usando WNetEnumResourceW e, em seguida, criptografá-los.

Como funciona o ransomware Ryuk, que ataca empresas
Fig. 51: Criptografia de arquivos do sistema

6. Importações e respectivos flags

Abaixo está uma tabela com a lista das importações e flags mais relevantes utilizadas pelo amostra:

Como funciona o ransomware Ryuk, que ataca empresas

7. IOC

Como funciona o ransomware Ryuk, que ataca empresas

Links

  • usersPublicrun.sct
  • Start MenuProgramsStartupstart.bat AppDataRoamingMicrosoftWindowsStart
  • MenuProgramsStartupstart.bat

Como funciona o ransomware Ryuk, que ataca empresas

O relatório técnico sobre o ransomware Ryuk foi elaborado por especialistas do laboratório antivírus PandaLabs.

8. Referências

1. "Everis e Prisa Radio sofrem um grave ciberataque que sequestra seus sistemas." https://www.elconfidencial.com/tecnologia/2019-11-04/everis-la-ser-ciberataque-ransomware-15_2312019/, Publicada em 04/11/2019.

2. "Um vírus de origem russa ataca importantes empresas espanholas." https://elpais.com/tecnologia/2019/11/04/actualidad/1572897654_251312.html, Publicada em 04/11/2019.

3. "Artigo VB2019: A vingança de Shinigami: a longa cauda do malware Ryuk." https://securelist.com/story-of-the-year-2019-cities-under-ransomware-siege/95456/, Publicada em 11/12/2019.

4. "Big Game Hunting com Ryuk: Outro ransomware direcionado lucrativo." https://www.crowdstrike.com/blog/big-game-hunting-with-ryuk-another-lucrative-targeted-ransomware/, Publicada em 10/01/2019.

5. "Artigo VB2019: A vingança de Shinigami: a longa cauda do malware Ryuk." https://www.virusbulletin.com/virusbulletin/2019/10/vb2019-paper-shinigamis-revenge-long-tail-r

Fonte: habr.com

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster