Publicidade

Vírus inspirado em Duna apaga seus arquivos se não conseguir roubar dados

Por  • Editado por Jones Oliveira | 

Compartilhe:
Kaspersky/Divulgação
Kaspersky/Divulgação

Um novo malware do tipo worm surgiu em setembro deste ano, distribuído pelo Node Package Manager (npm): ele foi chamado de Shai Hulud, em referência aos vermes das areias da obra Duna, de Frank Herbert. Agora, a versão 2.0, estudada por especialistas da Kaspersky, apresenta dois estágios, comprometendo pacotes npm e apagando arquivos caso não obtenha sucesso.

Continua após a publicidade

Mais de 800 pacotes npm foram infectados pela nova versão do worm, que fez muitas vítimas no Brasil, segundo análises. Casos também foram vistos na China, Índia, Rússia, Turquia e Vietnã. Pesquisadores da Kaspersky descreveram todo o processo de infecção do malware, que se aproveita de ferramentas legítimas no início do ataque.

Shai Hulud 2.0 e suas novas táticas

Canaltech
O Canaltech está no WhatsApp!Entre no canal e acompanhe notícias e dicas de tecnologia
Continua após a publicidade

Quando um desenvolvedor instala um pacote npm infectado pelo Shai Hulud 2.0, o script setup_bun.js roda durante a fase de pré-instalação, como especificado no arquivo modificado package.json. Esse script inicial fica propositalmente não ofuscado e bem documentado, fingindo ser uma ferramenta inofensiva de instalação do runtime Javascript legítimo Bun.

O procedimento, no entanto, prepara o ambiente de execução para as próximas etapas do malware. O runtime Bun executa um payload de segundo estágio, bun_environment.js, um script malicioso de 10MB ofuscado por uma ferramenta semelhante ao obfuscate.io. Após instalado, ele começa a fase de coleta de informações do usuário.

A função do Shai Hulud 2.0 é roubar segredos do Github, como configurações GitHub CLI e variáveis do ambiente, também criando um workflow malicioso yml no repositório da vítima para obter dados do GitHub Actions.

Também são roubadas credenciais de nuvem, como Azure, AWS e Google Cloud através de metadados e SDKs, e arquivos locais, através de um TruffleHog instalado para escanear todo o sistema em busca de credenciais gerais.

Para a exfiltração dos dados, o malware cria um canal de comunicação por um repositório GitHub público, caso o token de acesso da vítima for encontrado. Um repositório com um nome aleatório de 18 caracteres é gerado, com um marcador na descrição, servindo de armazenamento para guardar credenciais e informações do sistema roubadas.

Se o token não for encontrado, o script tenta obter um token roubado anteriormente de outra vítima ao procurar, nos repositórios do GitHub, pelos que contêm o texto “Sha1-Hulud: The Second Coming” (A Segunda Vinda, em tradução livre) na descrição.

Continua após a publicidade

Para a autorreplicação, tokens de autorização de registro são buscados nos arquivos .npmrc, em seguida enviando um probe request à API endpoint npm /-/ whoami.

É buscada uma lista de 100 pacotes mantidos pela vítima, injetando o setup_bun.js e bun_environment.js via bundleAssets e publicando os arquivos infectados no registro npm. Se tokens npm ou do GitHub não são obtidos pelo malware, um payload destrutivo é ativado, apagando os arquivos do usuário, principalmente do diretório home.

A Kaspersky bloqueou, desde setembro, mais de 1.700 ataques do Shai Hulud 2.0 em máquinas de usuários: 18,5% deles na Rússia, 10,7% na Índia e 9,7% no Brasil.

Veja também:

Continua após a publicidade

VÍDEO | O QUE É PASSKEY? #Shorts