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.
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.
É 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.
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:
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”.
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:
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
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 |