A Talos, braço de pesquisa de segurança cibernética da Cisco, relata que detectou uma nova campanha de malware que está usando infraestrutura de nuvem pública para hospedar e entregar variantes de três trojans de acesso remoto (RATs), mantendo agilidade suficiente para evitar a detecção.
A campanha, que Talos disse ter começado no final de outubro de 2021, foi detectada principalmente visando os Estados Unidos, Canadá, Itália e Cingapura, além de Espanha e Coreia do Sul que também foram alvos no último ataque.
Serviços de nuvem pública, como AWS e Microsoft Azure, foram citados pelo Talos como hospedeiros do malware, e os invasores também usaram alguma ofuscação séria em seu downloader. Esses ataques são evidências de que os agentes de ameaças estão usando ativamente os serviços em nuvem como parte da forma mais recente de ataque, e isso significa problemas para organizações vulneráveis.
Os ataques detectadoss envolvem variantes de três RATs: Nanocore, Netwire e AsyncRAT, cada um dos quais está disponível comercialmente (também conhecido como RAT commodity). Cada uma das ferramentas, disse Talos, estava sendo implantada com o objetivo de roubar informações do usuário.
As infecções causadas como parte das campanhas que o Talos descobriu estão chegando por meio de e-mails de phishing que contêm arquivos ZIP maliciosos que contêm um Javascript, um arquivo em lote do Windows ou um script Visual Basic. Esse arquivo, por sua vez, baixa o malware real de um servidor Windows do Azure ou de uma instância do AWS EC2.
Para entregar o malware, os invasores usaram o serviço gratuito de DNS dinâmico (DDNS) DuckDNS para redirecionar o tráfego. O DDNS permite que os proprietários de sites registrem uma URL para um endereço IP não estático. Em combinação com o uso de serviços da Web para hospedar malware, o DDNS torna muito mais difícil identificar de onde vem o ataque.
Os invasores ocultam ainda mais sua intenção com quatro camadas diferentes de ofuscação. Talos diz que a versão JavaScript do downloader está usando quatro funções diferentes para se descriptografar, e aninhado dentro de cada camada criptografada está o método pelo qual ela é descriptografada.
A descriptografia começa com a função ejv(), que normalmente é usada para validar arquivos JSON. Depois de fazer a primeira camada de descriptografia, evj() entrega o código com uma camada de criptografia removida que precisa ser descriptografada usando a biblioteca de uso geral Ox$(). Na camada três, o processo de descriptografia usa "outra função ofuscada que tem várias chamadas de função retornando valores e uma série de funções eval()", disse Talos. Essas chamadas eval(), por sua vez, usam Ox$() para descriptografá-lo novamente.
Por fim, a camada quatro de ofuscação usa a função de terceiro nível e parte de sua própria lógica de autodescriptografia para descriptografar o dropper e baixar o malware. Além de baixá-lo, a camada quatro também adiciona uma chave de registro para estabelecer persistência, configura tarefas agendadas para si mesma, tenta mexer com o atributo de fluxo de dados alternativo de arquivos NTFS para ocultar sua origem e impressões digitais da máquina.