retornar retornar
Descodificação de ameaças cibernéticas  para 2023

POR:
Martín Gelbort
(pesquisador e instrutor de segurança cibernética)

COMPARTILHAR

Twitter Facebook Linkedin

Pacote "Oscompatible" NPM gera ataque à cadeia de suprimentos em sistemas Windows

O pacote "oscompatible" foi usado para implantar um sofisticado Trojan de acesso remoto (RAT) em sistemas Windows. Ele foi lançado em 9 de janeiro de 2024 e obteve 380 downloads antes de ser removido do repositório usado pelo NPM. A Phylum, uma empresa especializada em segurança da cadeia de suprimentos de software, informou que o pacote continha um arquivo executável, uma biblioteca DLL e um arquivo DAT criptografado, além de um arquivo JavaScript.

O que é o NPM?

O Node Package Manager (NPM) é uma ferramenta essencial no mundo do desenvolvimento da Web, especialmente em projetos que usam o Node.js, uma plataforma para executar JavaScript no servidor. Como um gerenciador de pacotes, o NPM permite que os desenvolvedores instalem, compartilhem e gerenciem dependências (bibliotecas e ferramentas) em seus projetos de forma eficiente e organizada.

O NPM opera por meio de um registro on-line, que é uma coleção enorme de pacotes de software públicos e privados. Esse registro funciona como um repositório centralizado onde os desenvolvedores podem publicar seus próprios pacotes e acessar os de outros. A variedade e o número de pacotes disponíveis no NPM são enormes, abrangendo tudo, desde estruturas e bibliotecas até ferramentas de criação e teste.

O uso do NPM simplifica o processo de desenvolvimento. Os desenvolvedores podem instalar pacotes rapidamente com um simples comando, incorporando funcionalidades complexas sem precisar escrever código do zero. Isso incentiva a reutilização de código e economiza um tempo valioso, permitindo que os desenvolvedores se concentrem em aspectos mais inovadores e específicos de seus projetos.

Além disso, o NPM gerencia versões e dependências de pacotes, garantindo que os projetos sejam consistentes e funcionem corretamente em diferentes ambientes. Isso é crucial em ambientes de desenvolvimento colaborativo, em que vários desenvolvedores trabalham no mesmo projeto.

Em resumo, o NPM é um componente vital no ecossistema de desenvolvimento do JavaScript, fornecendo uma plataforma eficiente e eficaz para o gerenciamento de pacotes e dependências em projetos de software.

Como o ataque funciona?

O ataque começa com a execução do "index.js", que primeiro verifica se a plataforma é Windows e, se for o caso, simplesmente executa o arquivo "autorun.bat" . Se não detectar o Windows, informa ao usuário que ele precisa ser executado especificamente no "Windows Server OS".

O script "autorun.bat" primeiro verifica se tem privilégios de administrador e, se não tiver, executa o arquivo "cookie_exporter.exe" e solicita o escalonamento de privilégios antes de executá-lo. No entanto, se o script fosse executado e já houver privilégios de administrador, nada aconteceria.

Se precisar elevar privilégios, fará isso utilizando "cookie_exporter.exe", que é um componente real do Microsoft Edge usado aqui por ter uma assinatura Authenticode válida. Tentar executar o processo como administrador deve mostrar que o Microsoft Edge quer se executar como administrador com um pedido de Controle de Contas de Usuário (UAC).

Ao clicar em “Sim” no aviso do UAC, "cookie_exporter.exe" será executado com privilégios de administrador. E aqui é onde o atacante utiliza a tática de sequestro da ordem de busca de DLL. Se lembrarmos de antes, também temos um arquivo chamado "msedge.dll" no mesmo diretório que foi enviado com este .exe no pacote npm. O pertinente aqui é que o executável usa "LoadLibraryExA" para carregar uma DLL chamada "msedge.dll".

Acontece que "msedge.dll" também é um componente real do Microsoft Edge, no entanto, a "msedge.dll" que vem com este pacote não é a verdadeira "msedge.dll". Foi assinada em 06 NOV 2023 usando um certificado que foi revogado em 09 MAR 2023. Ainda não está claro se estas chaves são o resultado de um comprometimento mais amplo.

Uma vez que "msedge.dll" é carregada, ela invoca uma função chamada "ExportSpartanCookies". Esta função não exporta os cookies do Edge. Em vez disso, abre o arquivo cifrado e fornecido pelo atacante, "msedge.dat", o decifra usando uma chave XOR de 352 bytes para produzir outra DLL chamada "msedgedat.dll" e depois a executa. É importante ressaltar que parece que esta DLL é carregada na memória e executada a partir de lá, sem ser escrita primeiro no disco.

O "msedgedat.dll" realiza algumas solicitações a um domínio chamado kdark1[.]com e baixa um arquivo zip. Há uma parte do código que parece estar projetada para identificar a necessidade de atualizar o arquivo, o que indica que isso pode ser parte de uma operação em andamento.



O arquivo zip baixado contém:

 • ud.exe: um executável que toma controle da tela e mostra uma animação falsa de atualização do Windows 10 (copiada de updatefaker.com, contida em resources.neu). Isso é Neutralinojs, uma alternativa ao Electron, mas foi assinado usando o mesmo certificado de assinatura de código revogado que msedge.dll.

 • AnyDesk.exe: uma cópia do AnyDesk.

 • Band64.dll: essa DLL é injetada no Explorer para que a área de trabalho possa ser ocultada usando SetWindowBand.

 • RpcTest64.dll: essa DLL é injetada no winlogon.

 • verify.dll: uma DLL criptografada usando o mesmo mecanismo do msedge.dat.

O arquivo verify.dll é um RAT. Após a implantação, ele executa as seguintes ações:

 • Registra-se como uma tarefa programada.
 • Recebe comandos de um servidor remoto usando websockets.
 • Instala extensões de Chrome em Preferências Seguras.
 • Configura o AnyDesk, oculta a tela e desabilita o desligamento do Windows.
 • Captura eventos de teclado e mouse.
 • Recolhe informações sobre arquivos, extensões de navegador e histórico de navegação.

A vulnerabilidade explorada pelo "oscompatible" reside em sua capacidade de fingir ser um pacote legítimo, o que facilita a instalação despercebida pelos usuários. Uma vez executado, esse software realiza várias ações maliciosas:

 • Instalação silenciosa: o pacote é instalado sem o conhecimento explícito do usuário, explorando brechas de segurança no sistema ou no software instalado.

 • Execução remota de código: permite que os invasores executem códigos arbitrários no computador infectado. Isso significa que os invasores podem realizar praticamente qualquer ação no sistema comprometido, desde o roubo de dados até a instalação de mais malware.

 • Estabelecimento de backdoors: a maior ameaça desse pacote é sua capacidade de estabelecer backdoors no sistema. Esses backdoors são rotas de acesso remoto para os invasores, permitindo que eles entrem e saiam do sistema à vontade.

 • Coleta de dados: Uma vez dentro do sistema, você pode coletar uma ampla gama de dados pessoais e confidenciais, incluindo credenciais de login, informações financeiras e arquivos pessoais.

 • Propagação de rede: a capacidade desse malware de se espalhar por redes conectadas aumenta exponencialmente seu perigo, colocando em risco não apenas o usuário inicial, mas também os sistemas conectados.

Essa complexidade e sofisticação tornam o "oscompatible" uma ameaça particularmente perigosa que é difícil de detectar e erradicar depois de infectar um sistema.

O impacto de "oscompatible" nos usuários do Windows não é trivial. Dada sua capacidade de dar acesso remoto aos atacantes, as implicações vão desde a violação da privacidade até o potencial roubo de informações confidenciais e financeiras. A magnitude do problema é acentuada pela popularidade do Windows como sistema operacional, colocando milhões de usuários em todo o mundo em risco.

Conclusão

Os ataques à cadeia de suprimentos representam uma ameaça cibernética emergente e altamente disruptiva. Esses ataques, que se concentram em infiltrar organizações através de seus fornecedores e parceiros de confiança, destacam a interconexão e dependência que as empresas modernas têm em sua rede de fornecimento. A natureza furtiva desses ataques os torna particularmente perigosos, já que os atacantes podem permanecer indetectáveis por longos períodos, maximizando o potencial de dano.

A recente escalada na frequência e sofisticação desses ataques sublinha a necessidade de uma estratégia de segurança robusta e proativa. As empresas devem ir além das medidas de segurança convencionais e adotar uma abordagem holística que inclua a avaliação contínua de riscos, a supervisão da rede de fornecedores e a implementação de controles de segurança rigorosos em todos os níveis da cadeia de suprimentos.

A educação e o treinamento em segurança da informação para funcionários e parceiros também são essenciais, pois o fator humano muitas vezes é o elo mais fraco na segurança.

Em resumo, os ataques à cadeia de suprimentos exigem uma mudança na mentalidade de segurança de “se acontecer” para “quando acontecer”. Preparar-se para esses ataques não é apenas uma questão de implementar a tecnologia adequada; também implica fomentar uma cultura de segurança consciente e resiliente. Ao abordar esses desafios de maneira integral, as organizações podem fortalecer sua postura de segurança e proteger-se melhor contra as ameaças cada vez mais complexas no cenário da cibersegurança atual.