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.

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

Fonte: Securelist by Kaspersky