Vírus inspirado em Duna apaga seus arquivos se não conseguir roubar dados
Por Lillian Sibila Dala Costa • Editado por Jones Oliveira |

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
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.
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:
- Hacker universitário vende acesso a sites do governo no Telegram por R$ 15
- Falha expões rede com 1 milhão de deepfakes pornôs de adultos e crianças
- Falha grave em VPN corporativa permite invasão e controle total de empresas
VÍDEO | O QUE É PASSKEY? #Shorts
Fonte: Securelist by Kaspersky