Alertamos para ataques em larga escala contra Servidores VMware ESXi

Por Caique Barqueta: Milhares de servidores pelo mundo estão sendo atingidos por um ataque hacker em grande escala, que pede Bitcoin pelo resgate.

Países como Itália, França, Finlândia, Estados Unidos e Canadá estão sendo atacados. Na França, por exemplo, a agência de cibersegurança já alertou as organizações do país para tomarem medidas de precaução.

Já nos Estados Unidos, a CISA (Cybersecurity and Infrastructure Security Agency), já avançou que tomará medidas para avaliar o impacto dos incidentes, trabalhando em parceria com entidades do setor público e privado.

Esses avisos são sobre um ataque maciço do Ransomware ESXiArgs. O foco deste ransomware era para com os servidores VMware ESXi sem correção contra uma vulnerabilidade de execução remota de código, já publicada há mais de 2 anos.

As vulnerabilidades foram rastreadas como CVE-2021-21974 e CVE-2020-3992, que ocasionam uma falha de segurança causada por um problema de estouro de heap no serviço OpenSLP. Na porta 427 em uma máquina ESXi poderá ser adicionado um “use-after-free” no serviço OpenSLP, ocasionando a execução remota do código.

Segundo a publicação do CERT-BR, “conforme as investigações atuais, essas campanhas de ataque parecem estar explorando a vulnerabilidade CVE-2021-21974, para a qual um patch está disponível desde 23 de fevereiro de 2021”.

Para bloquear os ataques recebidos, os administradores precisam desabilitar o serviço vulnerável Service Location Protocol (SLP) em hypervisores ESXi que ainda não foram atualizados.

A CVE-2021-21974 atinge os seguintes sistemas e versões:

Versões ESXi 7.x anteriores a ESXi70U1c-17325551

Versões ESXi 6.7.x anteriores a ESXi670-202102401-SG

Versões ESXi 6.5.x anteriores a ESXi650-202102101-SG

De acordo com as pesquisas realizadas junto ao Censys, foi possível verificar que 2.453 ativos já foram comprometidos pelo ransomware. Destes, só na França houve 1.213 ativos comprometidos.

Figura 1. Consulta via Censys sobre os servidores já identificados como atacados.

Em outra pesquisa realizada, foi possível verificar outras estatísticas, havendo aproximadamente 850 ativos comprometidos, sendo que no Brasil, até o momento, nenhum servidor ainda teria sido vítima.

Figura 2. Consulta via Shodan sobre servidores já atacados.

É de suma importância que os administradores e organizações que possuam as versões alvos do referido ransomware ativem medidas de segurança, como a utilização de firewall e monitoramento contínuo.

Por fim, segundo a pesquisa acerca da quantidade de servidores VMware ESXi disponíveis na rede de internet, bem como suas versões, foi possível verificar que há um total de 84.236 servidores e, somente no Brasil, existem 7.716 servidores.

Figura 3. Consulta de servidores ESXi disponíveis.
Figura 4. Servidores ESXi disponíveis para Web e versões.

Análise e detalhes técnicos do Ransomware

Além do alerta, foi possível obter detalhes de uma amostra do Ransomware ESXiArgs: esta variante possui como alvo os arquivos com as extensões .vmxf, .vmx, .vmdk, .vmsd e .nvram em servidores ESXi comprometidos e acaba por criar um “file.args” para cada documento criptografado com metadados.

Após o comprometimento, notas de resgates denominadas como “ransom.html” e How to Restore Your Files.html” são criadas nos sistemas alvos, apresentando a seguinte tela ao acessar o servidor:

Figura 5. Imagem da nota de resgate.

No dia 05 de Fevereiro, um administrador de rede conseguiu recuperar uma cópia do criptografador (ransomware) ESXiArgs e do shell script associado. Ao analisar o script e a carga maliciosa foi possível identificar como o ataque ocorre.

Pós violação

Quando o servidor é violado, os seguintes arquivos são armazenados na pasta /tmp:

  • Encrypt: O executável ELF do ransomware;
  • Encrypt.sh: Um script de shell que atua com a lógica do ataque, executando várias tarefas antes de executar a carga maliciosa;
  • Public.perm: Uma chave RSA pública usada para criptografar a chave que criptografa um arquivo;
  • Motd: A nota de resgate em forma de texto que será copiada para /etc/motd para que seja mostrada na tela de login. O arquivo original do servidor será copiado para /etc/motd1.
  • Index.html: A nota de resgate em formato HTML que substituirá a página inicial do VMware ESXi. O arquivo original do servidor será copiado para index1.html na mesma pasta.

A variante ESXIArgs provavelmente se baseia no código-fonte vazado do Ransomware Babuk, utilizado anteriormente por outras campanhas de Ransomware ESXi.

O ransomware é executado por um arquivo shell script que inicia com vários argumentos de linha de comando, incluindo o arquivo de chave pública RSA, o arquivo a criptografar, os blocos de dados que não serão criptografados, o tamanho de um bloco de criptografia e o tamanho do arquivo.

usage: encrypt <public_key> <file_to_encrypt> [<enc_step>] [<enc_size>] [<file_size>]

enc_step   –   number of MB to skip while encryption

enc_size   –   number of MB in encryption block

file_size  –   file size in bytes (for sparse files)

Esta carga do ransomware é iniciada usando o script de shell “encrypt.sh” que atua a lógica por trás do ataque, descrito abaixo:

Quando iniciado, o script executará o seguinte comando para modificar os arquivos de configuração da máquina virtual ESXi (.vmx) para que as strings “.vmdk e .vswp” sejam alterados para “1.vmdk” e “1.vswp”.

Figura 6. Modificando o arquivo VMX.

Em seguida, o script encerra todas as máquinas virtuais em execução, encerrando à força pelo comando “kill -9)” com todos os processos que possuem a string “vmx”.

O script então usará o “escli storage filesystem list | grep “/vmfs/volumes” | awk -F’ ‘ ‘{print $2} “ para obter uma lista de volumes ESXi.

Este procurará nesses volumes os arquivos correspondentes às seguintes extensões:

  • .vmdk
  • .vmx
  • .vmxf
  • .vmsn
  • .vswp
  • .vmss
  • .nvram
  • .vmem

Para cada arquivo encontrado, o script criará um arquivo [arquivo].args na mesma pasta, que contém o passo de tamanho calculado, ‘1” e o tamanho do arquivo.

Exemplo, server.vmx terá um arquivo server.vmx.args associado.

O script usará o executável “encrypt” para criptografar os arquivos com base nos parâmetros calculados, conforme abaixo:

Figura 7. Rotina para criar arquivos .args e criptografá-los.

Após a criptografia, o script substituirá o arquivo ESXi infex.html e o arquivo motd do servidor pelas notas de regate.

Em seguida, o script executa a limpeza, removendo o que parece ser um backdoors instalado em /store/packages/vmtools.py e excluindo várias linhas dos seguintes arquivos: 

/var/spool/cron/crontabs/root

/bin/hostd-probe.sh

/etc/vmware/rhttpproxy/endpoints.conf

/etc/rc.local.d/local.sh

Figura 8. Limpeza de vários arquivos do Linux e potencialmente um backdoors.

Por fim, o script executa o /sbin/auto-backup.sh para atualizar a configuração e salva no arquivo /bootbank/state.tgz e inicia o SSH.

Recuperação e Mitigação

Para as empresas que foram vítimas do referido ransomware, os pesquisadores de segurança Enes e Ebuzeyd, publicaram um guia para descriptografar o arquivo .vmdk afetado pelo ataque da CVE-2020-3992.

Além desta medida, os administradores poderão adicionar os indicadores de comprometimento relacionado a backdoors mencionada no alerta para identificar possíveis ataques.

Por fim, compartilhamos as recomendações e medidas de segurança para serem aplicadas às empresas visando prevenir e identificar ataques ransomwares.

  •  Realização de backups regulares: Armazene cópias de segurança de todos os dados importantes em um local seguro e desconectado;
  • Realização de atualizações de softwares: Mantenha todos os softwares de ativos atualizados, incluindo sistemas operacionais e aplicativos.
  • Utilização de proteção de rede, como firewalls, antivírus e outras medidas de segurança para proteger sua rede.
  • Realização do trabalho de conscientização com os colaboradores, ensinando aos mesmos a reconhecer e evitar ameaças, como phishing e/ou clicar em links maliciosos.
  • Monitoração regular da sua rede e sistemas para identificar e responder rapidamente a qualquer atividade suspeita.
  • Criação e aplicação de um plano de resposta de incidentes, sendo que em caso de ataques de ransomware poderão ser utilizados e conterão informações como questões relacionadas a backups e recuperação de sistema.

Indicadores de Comprometimento

A ISH Tecnologia realiza o tratamento de diversos indicadores de compromissos coletados por meio de fontes abertas, fechadas e também de análises realizadas pela equipe de segurança Heimdall. Diante disto, abaixo listamos todos os Indicadores de Compromissos (IOCs) relacionadas a análise do(s) artefato(s) deste relatório.

Backdoor Python – Servidores VMware ESXi
md5:c358fe0e8837cc577315fc38892b937d
sha1:5e5c89147d248e16d24d673a1f77589c892db6f6
sha256:773d147a031d8ef06ee8ec20b614a4fd9733668efeb2b05aa03e36baaf082878
File name:Vmtools.py
Backdoor Python – Servidores VMware ESXi
md5:f79cd574296a6783d34845c0fd75bd33
sha1:56695beccc5593851fd0aed88312a6247ff4aa39
sha256:ceeb337778efe3c62a4ce04d750f60e773133dc7c99b661a5040e35afa16f426
File name:Loca.sh
Carga maliciosa Ransomware ESXiArgs
md5:87b010bc90cd7dd776fb42ea5b3f85d3
sha1:f25846f8cda8b0460e1db02ba6d3836ad3721f62
sha256:11b1b2375d9d840912cfd1f0d0d04d93ed0cddb0ae4ddb550a5b62cd044d6b66
File name:encrypt

Referências: