Um pesquisador independente de malware documentou um backdoor para Windows até então não relatado, batizado de SLEEPWALKER. O código permanece inerte na memória até que um pacote de rede especialmente elaborado chegue à máquina e, então, executa comandos escritos em uma linguagem própria de 23 instruções.
A amostra é uma DLL de 64 bits para Windows, sem assinatura, com 59.904 bytes, criada para ser carregada por side-loading no ERAAgent.exe, o executável do Windows do ESET Management Agent.
O arquivo se passa pela dpapi.dll da Microsoft, exportando as mesmas sete funções de proteção de dados da biblioteca legítima do sistema, além de carregar um recurso de versão copiado do ESET Management Agent.
Não há domínios, IPs nem URLs embutidos no arquivo, e ele não faz conexão de saída por conta própria. Na prática, isso pode fazer um host infectado parecer limpo para ferramentas que monitoram conexões com infraestrutura maliciosa conhecida.
Os comandos chegam como bytecode, e não como texto legível. Por isso, recuperar a chave de criptografia revela opcodes em um formato que só existe dentro desse único arquivo. Dominik Reichel, ex-pesquisador de malware da Unit 42, da Palo Alto Networks, disse que a abordagem é “consistente com uma operação direcionada e bem financiada, em vez de oportunista”.
A avaliação se baseia em um único binário, fornecido sem contexto de coleta. Reichel não conseguiu atribuir a amostra a nenhum grupo conhecido, identificar uma vítima, um setor ou um país, nem determinar se a amostra chegou a ser implantada.
A configuração embutida é decriptada com AES-256-CCM e resulta em uma única instrução, que manda o backdoor monitorar indefinidamente todas as interfaces de rede em busca desse pacote específico.
O listener captura tudo o que passa por cada interface observada, inclusive tráfego destinado a outras máquinas. Assim, um gateway, um servidor VPN ou um host que faça a ponte entre dois segmentos de rede pode ver um gatilho destinado a outra máquina completamente diferente.
O SLEEPWALKER verifica apenas o nome do processo hospedeiro, e não a assinatura ou o caminho do arquivo. Gravar a DLL nesse diretório exige privilégios de administrador local que o operador já precisa ter, e o backdoor depende do contexto de segurança do processo hospedeiro em vez de obtê-lo por conta própria.
Por isso, o backdoor é um implant pós-comprometimento, e não um ponto de entrada. Ainda não se sabe como o operador chegou inicialmente à máquina e gravou a DLL naquele diretório.
O side-loading também é seu único mecanismo de persistência, e a DLL é carregada novamente toda vez que o serviço do ESET Management Agent é iniciado.
Esse side-loading depende da ordem de busca de DLLs do Windows, e não de uma falha no software da ESET. Portanto, não há patch a aplicar. Diante de uma detecção confirmada, a resposta indicada é resposta a incidente e reconstrução do sistema.
Os produtos da ESET já foram abusados para side-loading antes, inclusive pelo ToddyCat, que segundo a Kaspersky explorou uma falha na ordem de busca do scanner de linha de comando da empresa para carregar uma DLL maliciosa no ESET.
De acordo com portais de notícia, a ESET foi contatada para comentar se a empresa tem telemetria sobre a amostra e, caso responda, a reportagem será atualizada.
Até 26 de agosto, a ESET não havia emitido nenhum alerta nem declaração pública sobre o malware.
As 23 instruções abrangem agendamento, várias formas de mover dados, entrega em etapas de arquivos verificados por hash SHA-256 antes da execução e execução direta de código na memória. Elas operam sobre seis transportes, incluindo TCP, UDP, ICMP, pipes nomeados SMB com movimento lateral autenticado, captura bruta em modo promíscuo e a Virtual Machine Communication Interface (VMCI) da VMware.
O tráfego de VMCI passa pela camada de virtualização, e não por um adaptador de rede. Por isso, uma captura de pacotes entre duas máquinas não o enxerga. A UNC3886 usou sockets VMCI para persistência entre hosts ESXi comprometidos e suas máquinas virtuais convidadas em intrusões documentadas pela Mandiant.
Nenhuma instrução da linguagem grava em disco. Assim, tudo o que o backdoor espera encontrar em uma máquina comprometida precisa ser colocado lá por outro componente.
Duas das instruções monitoram o gatilho. O opcode armazenado na amostra analisada habilita apenas o listener de pacotes brutos. Ao mesmo tempo, um segundo opcode também habilita um gatilho baseado em DNS, implementado no binário, mas inativo nesta compilação.
Para permitir que chamadores sem autenticação acessem seu canal de pipes nomeados, o SLEEPWALKER define o valor de registro EveryoneIncludesAnonymous e adiciona o nome do pipe em NullSessionPipes. Sua rotina de limpeza registra se a própria gravação em NullSessionPipes foi bem-sucedida, e não se já havia uma entrada ali. Com isso, uma remoção pode apagar uma entrada legítima que existia antes da infecção.
Reichel publicou os seguintes indicadores de comprometimento no host:
- Um dpapi.dll inesperado ao lado do ERAAgent.exe
- Um dpapisvc.dll inesperado no mesmo diretório
- SHA-256: d347170752a28e2b8c4b8b9f3cab2e3a6541ba11682c94498d26eb9002779d60
- MD5: 2318327b29bb1c0e2d2b5f0211fc7fac
- EveryoneIncludesAnonymous definido como 1
- Uma entrada inesperada em NullSessionPipes
Os dois valores de registro só têm relevância quando comparados com uma linha de base confiável.
O material inclui uma regra YARA e um scanner PowerShell em modo somente leitura para verificar esses indicadores em todo o ambiente. Reichel afirmou que a cobertura de detecção do arquivo era baixa no momento da publicação, sem informar a base dessa avaliação.
Ele observou que a regra YARA se apoia em parte em uma chave AES estática e em código de protocolo compilado, o que pode ser quebrado por uma nova compilação com configurações de compilador diferentes.
Até 26 de agosto, o The Hacker News não encontrou uma versão pública do kit de análise nem do guia de mitigação descritos na publicação no site de Reichel ou em seu perfil no GitHub. Reichel disse que qualquer pessoa que acredite ter sido alvo deve entrar em contato diretamente com ele.
Implantes desse tipo, acionados por “pacote mágico”, também já surgiram em sistemas Linux, incluindo o uso de backdoors passivos como o BPFDoor dentro de redes de operadoras de telecomunicações, conforme documentado pela Rapid7.
Publicidade
Nossa audiência é formada por analistas, pentesters, decisores e entusiastas que consomem nossas notícias todo dia pelo Site, Newsletter e Instagram. Fale com quem realmente importa para o seu negócio. Anuncie aqui. Saiba mais...