UPD 30.01.2026: Adicionados detalhes técnicos sobre a cadeia de ataque e mais IoCs.
Em 20 de janeiro, ocorreu um ataque à cadeia de abastecimento, sendo o software infectado o antivírus eScan desenvolvido pela empresa indiana MicroWorld Technologies. O malware até então desconhecido foi distribuído através do servidor de atualização eScan. No mesmo dia, nossas soluções de segurança detectaram e preveniram ataques cibernéticos envolvendo esse malware. No dia 21 de janeiro, tendo sido informado pela Morphisecos desenvolvedores do eScan continham o incidente de segurança relacionado ao ataque.
Software malicioso usado no ataque
Os usuários do produto de segurança eScan receberam um arquivo Reload.exe malicioso, que iniciou uma cadeia de infecção em vários estágios. De acordo com colegas da Morphisec que foram os primeiros a investigar o ataque, Reload.exe evitou novas atualizações de produtos antivírus modificando o arquivo HOSTS, bloqueando assim a capacidade dos desenvolvedores de soluções de segurança de corrigir automaticamente o problema, o que, entre outras coisas, levou ao erro do serviço de atualização.
O malware também garantiu sua persistência no sistema, comunicando-se com servidores de comando e controle e baixando cargas maliciosas adicionais. A persistência foi alcançada através da criação de tarefas agendadas; um exemplo de tarefa maliciosa é denominado “CorelDefrag”. Além disso, o arquivo malicioso consctlx.exe foi gravado no disco durante a infecção.
Como os invasores conseguiram realizar este ataque
A pedido do portal de informações BleepingComputer, os desenvolvedores do eScan explicado que os invasores conseguiram obter acesso a um dos servidores de atualização regionais e implantar um arquivo malicioso, que foi entregue automaticamente aos clientes. Eles enfatizam que não se trata de uma vulnerabilidade — o incidente é classificado como acesso não autorizado à infraestrutura. O arquivo malicioso foi distribuído com uma assinatura digital falsa e inválida.
Segundo os desenvolvedores, a infraestrutura afetada pelo incidente foi rapidamente isolada e todas as credenciais de acesso foram redefinidas.
Depois de verificar a nossa telemetria, identificámos centenas de máquinas pertencentes a indivíduos e organizações, que encontraram tentativas de infecção com cargas relacionadas com o ataque à cadeia de abastecimento eScan. Essas máquinas estavam localizadas principalmente no sul da Ásia, principalmente na Índia, Bangladesh, Sri Lanka e Filipinas. Depois de examiná-los, identificamos que, para orquestrar a infecção, os invasores conseguiram substituir um componente legítimo do antivírus eScan, localizado no caminho C:Program Files (x86)escanreload.execom um executável malicioso. Este arquivo reload.exe é iniciado em tempo de execução por componentes do antivírus eScan. Possui uma assinatura digital falsa e inválida (número de série do certificado: 68525dadf70c773d41609ff7ca499fb5). Descobrimos que este implante estava fortemente ofuscado, com constante desdobramento e ramificação indireta, o que tornou sua análise bastante tediosa.
Quando iniciado, este arquivo reload.exe verifica se foi iniciado a partir da pasta Arquivos de Programas e, caso contrário, sai. Ele inicializa ainda o ambiente CLR (Common Language Runtime) dentro de seu processo, que usa para carregar um pequeno executável .NET na memória (SHA1: eec1a5e3bb415d12302e087a24c3f4051fca040e). Este executável é baseado na ferramenta UnownedPowerShell, que permite executar código PowerShell em qualquer processo. Os invasores modificaram o código-fonte deste projeto adicionando um recurso de desvio de AMSI e o usaram para executar um script malicioso do PowerShell dentro do processo reload.exe. Este script tem três linhas e tem a seguinte aparência:
Cada uma dessas linhas é responsável por decodificar e lançar uma carga útil do PowerShell codificada em Base64. Essas três cargas úteis, que analisaremos mais detalhadamente, são usadas para a infecção na máquina alvo.
Carga útil de adulteração do antivírus eScan
A primeira carga executada é implantada para adulterar a solução eScan instalada, na tentativa de impedir que ela receba atualizações e detecte os componentes maliciosos instalados. Para isso, realiza diversas ações, entre elas as seguintes:
- Exclui vários arquivos do antivírus eScan, incluindo o Utilitário de Suporte Remoto localizado em
C:Program Files (x86)Common FilesMicroWorldWGWINtvqsapp.exe. Notavelmente, antes da exclusão, a carga cria backups arquivados em ZIP dos arquivos removidos dentro doC:ProgramDataesfsbkdiretório. - Modifica o
HKLMSOFTWAREWOW6432NodeMicroWorldeScan for WindowsMwMonitorchave de registro para adicionar oC:Windows,C:Program FileseC:Program Files (x86)pastas para exceções de antivírus. - Adiciona servidores de atualização do antivírus eScan (como update1.mwti.net) ao arquivo hosts, associando-os ao endereço IP 2.3.4.0.
- Modifica chaves de registro relacionadas a bancos de dados de antivírus, por exemplo, atribuindo
999para oWTBases_newvalor doHKLMSOFTWAREWOW6432NodeMicroWorldeScan for WindowsODSchave de registro.
Ao adulterar o eScan, esta carga grava um log de depuração no C:ProgramDataeuapp.log arquivo, que pode ser usado como um indicador de comprometimento.
É importante notar que durante a execução desta carga útil, não observamos todas essas ações terem sucesso em nossa máquina de teste com o eScan instalado. Por exemplo, o componente de autodefesa do eScan foi capaz de impedir que entradas maliciosas fossem gravadas no arquivo hosts. No entanto, após a conclusão da execução da carga, não foi possível atualizar o eScan, pois recebíamos esta mensagem de erro:
Mensagem de erro exibida quando iniciamos o processo de atualização após adulterar o eScan. Embora a mensagem diga “A operação foi concluída com sucesso”, sua aparência é anormal e nenhuma atualização foi baixada ou instalada
Finalmente, a primeira carga útil substitui a C:Program Files (x86)eScanCONSCTLX.exe componente do eScan com uma carga útil persistente de próximo estágio, que descreveremos nas próximas seções deste artigo.
Carga útil de desvio AMSI
A segunda carga lançada foi projetada para contornar o AMSI. A carga implementa código típico para fazer isso – ela determina o endereço do AmsiScanBuffer função e, em seguida, corrige-a para sempre retornar um erro.
Carga útil de validação da vítima
O objetivo da terceira carga útil, que é a última a ser executada, é validar se a máquina vítima deve ser infectada ainda mais e, em caso afirmativo, entregar-lhe uma carga adicional. Quando iniciado, ele examina a lista de software instalado, executando processos e serviços em uma lista de bloqueio. As entradas nesta lista de bloqueio estão relacionadas a ferramentas de análise e soluções de segurança. Notavelmente, as soluções de segurança da Kaspersky estão incluídas nesta lista de bloqueio. Isso significa que este estágio se recusará a entregar a carga incorporada se os produtos Kaspersky estiverem instalados na máquina da vítima.
Se a validação for bem-sucedida, a carga prossegue com a implantação de uma carga persistente baseada no PowerShell na máquina infectada. Para fazer isso, é:
Quando a execução da carga termina, seja porque a validação falhou ou porque o componente persistente foi implementado com sucesso, ele envia uma pulsação para a infraestrutura C2. Isso é feito enviando uma solicitação GET, que contém um código de status e, opcionalmente, uma mensagem de erro, para as seguintes URLs:
- https://vhs.delrosal(.)net/i
- https://tumama.hns(.)para
- https://blackice.sol-domínio(.)org
- https://codegiant.io/dd/dd/dd.git/download/main/middleware(.)ts
A resposta à solicitação GET não é processada.
Assim, durante a instalação, a máquina infectada recebe duas cargas persistentes:
- A carga útil CONSCTLX.exe, projetada para ser iniciada pelo antivírus eScan
- A carga útil baseada no PowerShell, projetada para ser iniciada por meio de uma tarefa agendada
A carga persistente CONSCTLX.exe
Essa carga útil é ofuscada da mesma forma que o executável malicioso Reload.exe. Da mesma forma que este executável, CONSCTLX.exe inicializa o ambiente CLR para executar um script PowerShell dentro de seu próprio processo. O objetivo deste script é recuperar a outra carga persistente (baseada em PowerShell) do HKLMSoftwareE9F9EEC3-86CA-4EBE-9AA4-1B55EE8D114E chave de registro e execute-a. No entanto, este script contém outro recurso interessante: ele altera a hora da última atualização do produto eScan para a hora atual, escrevendo a data atual no campo C:Program Files (x86)eScanEupdate.ini arquivo. Isso é necessário para fazer com que a GUI da solução eScan exiba uma data de atualização recente, para que o usuário não perceba que as atualizações do antivírus estão realmente bloqueadas.
Além de iniciar o script do PowerShell, a carga útil também tenta recuperar uma carga substituta da infraestrutura C2, enviando solicitações GET para as seguintes URLs:
- https://csc.biologii(.)net/sooc
- https://airanks.hns(.)para
Se houver necessidade de entregar essa carga útil, o servidor responde com um blob criptografado RC4, que é descriptografado pelo componente e lançado como shellcode.
A carga persistente baseada no PowerShell
A segunda carga implantada é inteiramente baseada no PowerShell. Quando iniciado, ele executa um bypass AMSI e conduz os mesmos procedimentos de validação que a carga útil de validação da vítima. Ele envia ainda uma solicitação GET para a infraestrutura C2, usando as mesmas URLs que a carga útil de validação. Nesta solicitação, o valor do cookie denominado “s” contém informações do sistema criptografadas em RC4 e codificadas em Base64, como o ID da vítima, o nome do usuário e o nome do processo atual. Em resposta a esta solicitação, o servidor C2 pode opcionalmente enviar à vítima um script PowerShell, para ser iniciado pela máquina vítima.
Um vetor de ataque raramente observado
Notavelmente, é bastante singular ver malware sendo implantado por meio de uma atualização de solução de segurança. Os ataques à cadeia de abastecimento são uma ocorrência rara em geral, muito menos aqueles orquestrados através de produtos antivírus. Com base na análise dos implantes identificados, podemos concluir que este ataque foi preparado minuciosamente, pois para orquestrá-lo os atacantes tiveram que:
- Obtenha acesso ao servidor de atualização da solução de segurança.
- Estude os componentes internos do produto eScan para saber como funciona seu mecanismo de atualização, bem como como potencialmente adulterar este produto.
- Desenvolva implantes exclusivos, adaptados ao ataque à cadeia de suprimentos.
Um fato interessante sobre os implantes implantados é que eles implementam métodos alternativos para realizar operações maliciosas. Por exemplo, se a tarefa agendada que inicia a carga do PowerShell for excluída, ela ainda será iniciada pelo arquivo CONSCTLX.exe. Além disso, se os servidores C2 usados pela carga do PowerShell forem identificados e bloqueados, os invasores ainda poderão implantar shellcodes na máquina infectada por meio do CONSCTLX.exe.
Uma coisa boa sobre esse ataque é que ele foi contido em um período de tempo bastante curto. Como as soluções de segurança têm um alto nível de confiança no sistema operacional, os invasores podem usar diversas maneiras criativas para orquestrar a infecção, por exemplo, usando implantes de modo kernel. No entanto, no ataque que vimos, eles dependiam de componentes de modo de usuário e de técnicas de infecção comumente observadas, como o uso de tarefas agendadas para persistência. Esse fator, em nossa opinião, tornou esse ataque à cadeia de suprimentos fácil de detectar.
Como ficar seguro?
Para detectar infecção, é recomendável revisar as tarefas agendadas em busca de vestígios de malware, verificar o %WinDir%System32driversetchosts arquivo para domínios eScan bloqueados e revise os logs de atualização do eScan de 20 de janeiro.
Os desenvolvedores do eScan criaram um utilitário para seus usuários que remove o malware, reverte as modificações feitas e restaura a funcionalidade normal do antivírus. A utilidade é enviada aos clientes mediante solicitação para suporte técnico.
Os usuários da solução também são aconselhados a bloquear endereços de servidores de comando e controle de malware conhecidos.
As soluções de segurança da Kaspersky, como Kaspersky Próximodetecte com sucesso todos os malwares usados pelos invasores com seu Componente de detecção de comportamento.
Indicadores de compromisso
Indicadores de rede
https://vhs.delrosal(.)net/i
https://tumama.hns(.)para
https://blackice.sol-domínio(.)org
https://codegiant.io/dd/dd/dd.git/download/main/middleware(.)ts
https://csc.biologii(.)net/sooc
https://airanks.hns(.)para
Hashes maliciosos do componente Reload.exe
1617949c0c9daa2d2a5a80f1028aeb95ce1c0dee
a928bddfaa536c11c28c8d2c5d16e27cbeaf6357
ebaf9715d7f34a77a6e1fd455fe0702274958e20
96cdd8476faa7c6a7d2ad285658d3559855b168d
Hash do componente CONSCTLX.exe malicioso
2d2d58700a40642e189f3f1ccea41337486947f5
Arquivos e pastas
C:ProgramDataesfsbk
C:ProgramDataeuapp.log
Nome da tarefa agendada
MicrosoftWindowsDefragCorelDefrag
Chaves de registro
HKLMSoftwareE9F9EEC3-86CA-4EBE-9AA4-1B55EE8D114E
HKLMSOFTWAREWOW6432NodeMicroWorldeScan for WindowsODS – valor WTBases_new definido como 999
Deseja saber mais sobre Segurança Digital & Antivírus Clique Aqui!
Ataque à cadeia de suprimentos



