Normalmente, os ataques de ransomware visam computadores físicos e máquinas virtuais que executam o Windows e, com menos frequência, o macOS e o Linux. Infelizmente, os cibercriminosos continuam a desenvolver novas versões de ransomware que podem infectar outros sistemas operacionais por meio de vulnerabilidades recém-descobertas. Um exemplo recente foi o ataque de ransomware ESXi que atingiu hipervisores VMware explorando vulnerabilidades do ESXi, resultando em tempo de inatividade grave em organizações em todo o mundo.
Esta postagem no blog explica quão perigosos são os ataques de ransomware, como o ransomware pode infectar um host ESXi e como se proteger contra ransomware, incluindo contra o ransomware ESXi Args.
O Início de uma Campanha de Ransomware ESXi
Os primeiros casos de ataques de ransomware ESXi foram registrados em outubro de 2022, quando a VMware encerrou o suporte geral para o ESXi 6.5 e 6.7. Um número elevado de hosts ESXi foram infectados na França, Alemanha, Estados Unidos, Canadá, Reino Unido e outros países. Em fevereiro de 2023, havia mais de 3.000 hosts ESXi infectados com dados criptografados e sem meios de recuperação. Os nomes dos ransomwares que atacaram hosts ESXi são ESXiArgs, Royal e Cl0p. Além disso, novas famílias de ransomware ESXi apareceram, como RansomEXX, Lockbit, BlackBasta, Cheerscrypt, Hive, RedAlert/N13V, entre outros.
Os hosts ESXi são atrativos para os atacantes porque a virtualização de servidores tornou-se mais popular, e muitas organizações utilizam máquinas virtuais em seus ambientes de produção. Como resultado, os criadores de ransomware têm se concentrado em iniciar ataques de ransomware VMware ESXi com a esperança de obter lucros enormes. Infectar um host ESXi permite que os atacantes criptografem/destruam dados de várias máquinas virtuais que residem nesse host. Essa abordagem pode ser mais eficaz do que infectar VMs, que podem estar executando sistemas operacionais diferentes. O ataque de ransomware ESXi Args foi um dos maiores ataques de ransomware para servidores não-Windows.
Quais Versões do ESXi São Vulneráveis ao Ransomware ESXi?
O ransomware ESXi explora diferentes vulnerabilidades, incluindo CVE-2022-31699, CVE-2021-21995, CVE-2021-21974, CVE-2020-3992 e CVE-2019-5544.
O ransomware ESXi Args usa CVE-2021-21974 para infectar um host ESXi. Esta é uma vulnerabilidade descoberta em 2021 e pode ocorrer em hosts ESXi que ainda não foram corrigidos/atualizados. Esta é uma vulnerabilidade de estouro de heap no serviço OpenSLP que é executado no ESXi. Um patch para CVE-2021-21974 foi publicado em 21 de fevereiro de 2021.
As seguintes versões do ESXi são vulneráveis ao CVE-2021-21974:
- ESXi 7.x antes do ESXi70U1c-17325551
- ESXi 6.7.x antes do ESXi670-202102401-SG
- ESXi 6.5.x antes do ESXi650-202102101-SG
Por que havia tantos servidores não corrigidos e por que estavam acessíveis pela internet? Corrigir requer tempo de inatividade do servidor ESXi e, com um grande número de hosts, alguns administradores podem não ter os recursos ou tempo para corrigi-los a tempo. Além disso, as vulnerabilidades do ESXi não eram amplamente exploradas antes do ataque de ransomware ESXi Args. Isso criou a ilusão de que os servidores ESXi não corrigidos não representavam uma ameaça, e os servidores eram corrigidos lentamente.
Os servidores ESXi em execução em empresas provedoras de hospedagem também foram infectados pelo ransomware ESXi Args. Os provedores de hospedagem forneciam a infraestrutura para os clientes, e os clientes instalavam hipervisores ESXi para executar máquinas virtuais. Esses servidores ESXi estavam expostos à internet pelos clientes, o que permitia que os atacantes os acessassem. Os atacantes queriam que a vítima pagasse cerca de US$ 23.000 em bitcoins.
Como Funciona o Ransomware ESXi?
Os cibercriminosos encontram hosts ESXi vulneráveis, especialmente aqueles expostos à internet. O método de comprometimento foi verificado como explorando uma vulnerabilidade do OpenSLP, possivelmente a CVE-2021-21974. A porta 427 (TCP/UDP) é usada para o OpenSLP. Os registros indicam o envolvimento do usuário dcui neste processo de comprometimento. Essa vulnerabilidade de ransomware ESXi permite que os atacantes explorem código arbitrário remotamente.
O processo de criptografia utiliza uma chave pública implantada pelo malware, localizada em /tmp/public.pem. Especificamente, este processo de criptografia visa arquivos de máquinas virtuais, incluindo tipos de arquivo como “.vmdk”, “.vmx”, “.vmxf”, “.vmsd”, “.vmsn”, “.vswp”, “.vmss”, “.nvram” e arquivos com a extensão “.vmem”. Note que o arquivo “.vmdk” é um arquivo descritor de disco virtual e “-flat.vmdk” é um arquivo de disco virtual que contém dados de VM. O ransomware ESXi Args cria um arquivo “.args” para cada arquivo criptografado com metadados (provavelmente, os criadores de ransomware presumem que os arquivos “.args” podem ser necessários para descriptografia).
Abaixo está a sequência em detalhes:
- Quando um servidor é comprometido, os seguintes arquivos são colocados no diretório /tmp:
- encrypt representa o criptografador executável no formato ELF.
- encrypt.sh serve como a lógica operacional para o ataque. Este é um script shell que realiza várias ações antes de executar o criptografador, conforme descrito abaixo.
- public.pem é uma chave pública RSA empregada para criptografar a chave responsável pela criptografia de arquivos.
- motd é uma nota de resgate textual que é duplicada para /etc/motd, garantindo sua exibição no login. O arquivo original no servidor será preservado como /etc/motd1.
- index.html é uma versão HTML da nota de resgate projetada para substituir a página inicial do VMware ESXi. O arquivo inicial do servidor deve ser copiado como “index1.html” dentro do mesmo diretório.
- O encriptador é iniciado através de um script shell, que o invoca com uma série de parâmetros de linha de comando. Esses parâmetros incluem o arquivo de chave pública RSA, o arquivo alvo para encriptação, seções de dados a permanecerem inalteradas, tamanho do bloco de encriptação e o tamanho total do arquivo.
Uso: encrypt <chave_pública> <arquivo_para_encriptar> [<passo_enc>] [<tamanho_enc>] [<tamanho_arquivo>]
Onde:
- passo_enc é o número de MB a pular durante a encriptação dos arquivos
- tamanho_enc é o número de MB no bloco de encriptação
- tamanho_arquivo é o tamanho do arquivo em bytes (para arquivos esparços)
- A inicialização deste criptografador ocorre através do script shell encrypt.sh, que serve como lógica subjacente para o ataque. Após a inicialização, o script prossegue com as seguintes ações, brevemente explicadas abaixo.
- O script de ransomware ESXi executa um comando para modificar os arquivos de configuração das máquinas virtuais ESXi (.vmx) substituindo ocorrências de “.vmdk” e “.vswp” por “1.vmdk” e “1.vswp“, respectivamente.
- Posteriormente, o script de ransomware encerra forçosamente todas as máquinas virtuais atualmente ativas emitindo um comando “kill -9” para interromper processos contendo a palavra “vmx“.
- O ransomware tenta desligar as máquinas virtuais terminando o processo VMX para liberar os arquivos bloqueados e modificá-los. No entanto, esta função não executa consistentemente como esperado, resultando em alguns arquivos permanecendo bloqueados. Após a modificação dos arquivos VM, as VMs tornam-se inutilizáveis.
- O script prossegue para recuperar uma lista de volumes ESXi com o comando:
esxcli storage filesystem list | grep "/vmfs/volumes/" | awk -F' ' '{print $2}
Com este comando, o ransomware escaneia esses volumes em busca de arquivos com extensões específicas.
- Para cada arquivo descoberto, o script gera um arquivo correspondente [nome_do_arquivo].args no mesmo diretório. Este arquivo .args contém parâmetros calculados, incluindo um passo (comumente ‘1’) e o tamanho do arquivo. Por exemplo, se o arquivo for ” VM01.vmx“, é criado um arquivo associado “VM01.vmx.args“. O malware gera um “argsfile” para armazenar os argumentos passados para o binário criptografado, que inclui informações como o número de megabytes a pular, o tamanho do bloco de criptografia e o tamanho do arquivo.
- O script então utiliza o executável ” encrypt” para criptografar os arquivos com base nos parâmetros calculados.
- Após a criptografia, o script substitui o arquivo ” index.html” do ESXi e o arquivo ” motd” do servidor pelos avisos de resgate mencionados anteriormente.
Não há evidências de transferência de dados externa (exfiltração de dados). Em certas instâncias, a criptografia de arquivos pode ter sucesso apenas parcialmente, permitindo que a vítima potencialmente recupere alguns dos dados.
Quando a infecção e a modificação/criptografia de dados foram concluídas com sucesso, uma nota de ransomware como esta foi exibida em uma página HTML:
“Alerta de segurança! Hackeamos sua empresa com sucesso.
…
Envie dinheiro dentro de 3 dias, caso contrário, vamos expor alguns dados e aumentar o preço.”
- Posteriormente, o script realiza tarefas de limpeza, incluindo exclusão de logs e remoção de uma backdoor Python localizada em /store/packages/vmtools.py. Também elimina linhas específicas de certos arquivos:
- /bin/hostd-probe.sh
- /var/spool/cron/crontabs/root
- /etc/rc.local.d/local.sh
- /etc/vmware/rhttpproxy/endpoints.conf
Uma nota crítica é emitida, instando os administradores a verificarem se o arquivo “vmtools.py” existe no host ESXi. Se encontrado, é aconselhável removê-lo imediatamente.
- Por último, o script executa “/sbin/auto-backup.sh” para atualizar a configuração salva no arquivo “/bootbank/state.tgz” e ativa o SSH.
Também veio à tona que essa vulnerabilidade, juntamente com outras vulnerabilidades no ESXi, é ativamente explorada por grupos de ransomware além do ESXiArgs.
NOTA: O comportamento do ransomware VMware ESXi pode mudar com versões atualizadas do ransomware e novos lançamentos de ransomware.
Como Recuperar Dados após o Ransomware ESXi Args
Não há falhas no mecanismo de criptografia que possam permitir que você descriptografe os arquivos criptografados. No entanto, a Agência de Segurança Cibernética e de Infraestrutura dos EUA (CISA) criou um script que pode ajudar a recuperar VMs. A boa notícia é que os arquivos VM, incluindo o descritor de disco virtual (.vmdk), estão criptografados, mas o arquivo -flat.vmdk (onde os dados VM são armazenados) não está. Isso torna possível a recuperação da VM.
A CISA introduziu um script de recuperação projetado para auxiliar organizações impactadas pelo ransomware ESXi Args. Este ransomware específico visa servidores ESXi, criptografando seus arquivos de configuração e potencialmente tornando as máquinas virtuais (VMs) inoperáveis. Embora a ferramenta tenha sido desenvolvida em colaboração com a VMware, ela não é diretamente suportada pela VMware. Se os clientes encontrarem algum problema ao usar essa ferramenta, são incentivados a relatar problemas no GitHub neste endereço: https://github.com/cisagov/ESXiArgs-Recover/issues.
A CISA está comprometida em abordar e resolver preocupações prontamente. Para mais detalhes sobre como usar o script, consulte este link.
Você também pode baixar um documento em PDF com instruções.
Se você tiver sinais de que um host ESXi foi infectado com ransomware ESXi, considere as seguintes medidas:
- Desconecte o host ESXi infectado da rede.
- Não pague o resgate. Pagar o resgate premia os criminosos cibernéticos e os incentiva a criar mais ransomware para obter mais dinheiro. Se você pagar o resgate, não há garantia de que os arquivos corrompidos com ransomware VMware ESXi serão recuperados.
- Relate o ataque de ransomware. Relatar ransomware é importante porque permite resposta rápida, cumprimento legal, proteção de dados, confiança, mitigação de ameaças e defesa coletiva contra ataques cibernéticos. Relatar um ataque de ransomware é uma parte fundamental da gestão de incidentes de segurança cibernética. Não apenas ajuda as organizações individuais a se recuperarem de ataques, mas também contribui para a segurança e resiliência geral do ecossistema digital.
- Verifique se há ferramentas de recuperação ou descriptografia disponíveis para a versão atual de ransomware.
- Se não houver ferramentas de descriptografia, recupere dados de um backup (você deve ter um backup criado antes de um ataque de ransomware para usar este método). Às vezes, pode ser mais eficaz recuperar VMs de um backup. Considere uma instalação nova de ESXi e copie as VMs recuperadas para esse novo host ESXi para garantir que não haja pedaços de infecção de ransomware no host onde as VMs recuperadas são colocadas.
Como Proteger o ESXi de Ransomware
Siga as recomendações abaixo para proteger o ESXi de ransomware:
- Aplique patches em seus hosts ESXi que tenham vulnerabilidades como CVE-2021-21974, CVE-2022-31699, CVE-2021-21995, CVE-2020-3992 e CVE-2019-5544. Se a versão do seu ESXi não for mais suportada, considere atualizar para uma versão principal que seja suportada. Se você não puder atualizar o ESXi, desative o OpenSLP (Service Location Protocol) no ESXi. Desativar um serviço que tenha uma vulnerabilidade para a versão afetada do ESXi também ajuda.
- Instale patches de segurança (atualizações) no host ESXi regularmente para se proteger contra as ameaças mais recentes.
- Não exponha hosts ESXi à internet. Se o processo de trabalho exigir que os hosts ESXi sejam acessíveis pela internet por trabalhadores e parceiros, configure um servidor VPN e um firewall. Configure o firewall para permitir o acesso apenas a partir de endereços IP confiáveis. Conectar à rede via VPN para acessar hosts ESXi é seguro nesse caso.
- Desative o acesso SSH se esse acesso não for necessário ou defina tempos limite.
- Desative o SMB v1.0 e outras versões antigas de protocolos, especialmente se eles não forem utilizados.
- Use segmentação de rede para redes, incluindo a rede de gerenciamento ESXi.
- Use senhas fortes com pelo menos 8 caracteres, incluindo letras minúsculas, maiúsculas, dígitos e caracteres especiais.
- Instale e configure monitoramento de infraestrutura para monitorar o tráfego de rede e a carga do servidor. O monitoramento permite detectar atividade suspeita ou mal-intencionada a tempo.
- Eduque os usuários sobre proteção contra ransomware e garanta que os usuários saibam o que fazer se suspeitarem de um ataque de ransomware ou tentativa de ataque.
- Configure proteção de email contra malware porque enviar links ou arquivos maliciosos por email é um método popular para infectar computadores com ransomware. Desative hiperlinks ativos em mensagens de email.
- Instale antivírus nos computadores e servidores dos usuários. Atualize regularmente os bancos de dados antivírus para o software antivírus.
- Faça backup de suas máquinas virtuais regularmente e use a estratégia de backup 3-2-1. Não se esqueça de ter um backup imutável ou backup isolado para garantir que esse backup não seja afetado em caso de ataque de ransomware. Ter um backup ESXi e backup vCenter pode ajudar a economizar tempo quando se trata de recuperar dados e cargas de trabalho.
- Prepare um plano de resposta a incidentes e informe a todos sobre o que fazer em caso de ataque de ransomware ESXi.
- Crie um plano de recuperação de desastres para garantir que você possa recuperar dados e restaurar cargas de trabalho em diferentes cenários. Testes de backup e testes de recuperação de desastres são importantes.
Conclusão
O ransomware ESXi pode ser devastador porque você pode perder muitas VMs mesmo que apenas um host ESXi seja infectado. A cópia de segurança de dados é a estratégia mais eficaz para evitar a perda de dados em caso de ataques de ransomware. Siga as recomendações sobre como proteger o ESXi de ransomware que foram abordadas acima neste post de blog. Use o NAKIVO Backup & Replication para fazer backup de VMs residentes em hosts VMware ESXi em repositórios imutáveis. Dessa forma, você poderá usar esses backups resistentes a ransomware para recuperações rápidas de VMs inteiras ou dados de aplicativos.