Em maio de 2023, o Trellix Advanced Research Center descobriu um novo ladrão de Golang, conhecido como Skuld, que comprometia sistemas em todo o mundo, algo que os pesquisadores de segurança também haviam notado.
O uso de Golang, também conhecido como Go, no desenvolvimento de malware ainda é raro em comparação com outras linguagens de programação.
Mas ganhou popularidade significativa nos últimos anos devido à simplicidade, eficiência e compatibilidade entre plataformas, o que permite que os criadores de malware atinjam uma ampla gama de sistemas operacionais, ampliando seu potencial grupo de vítimas. Além disso, a natureza compilada do Golang permite que os autores de malware produzam executáveis binários que são mais difíceis de analisar e fazer engenharia reversa. Isso torna mais difícil para os pesquisadores de segurança e soluções antimalware tradicionais detectar e mitigar essas ameaças de forma eficaz.
Essa nova variedade de malware tenta roubar informações confidenciais de suas vítimas. Para realizar essa tarefa, ele busca dados armazenados em aplicativos como Discord e navegadores da web; informações do sistema e arquivos armazenados nas pastas da vítima. Algumas amostras incluem até um módulo para roubar ativos de criptomoeda, que acreditamos ainda estar em desenvolvimento.
O desenvolvedor, apelidado de Deathined, inspirou-se em vários projetos de código aberto e amostras de malware, transportando sua funcionalidade para Golang para construir o Skuld. Além disso, o autor parece ter criado várias contas de mídia social que suspeitamos que provavelmente serão usadas para promover seus negócios de malware no futuro.
Análise Técnica
As amostras de Skuld descobertas são escritas em Golang 1.20.3, usando uma infinidade de bibliotecas para concluir as diferentes tarefas de suporte. Alguns deles foram modificados para sugerir que algumas estruturas estão corrompidas e, portanto, não são detectadas adequadamente pelos desmontadores. Portanto, antes de analisar essas amostras, algum trabalho deve ser feito para auxiliar na análise. Uma ótima ferramenta para isso é o GoReSym, desenvolvido pela Mandiant para reconstruir essas estruturas e extrair informações de amostras baseadas em Golang.
Desvendando Deathined, o desenvolvedor de Golang
O ator por trás de Skuld é conhecido como Deathined, que, com base em nossas descobertas, parece ser um desenvolvedor começando com esse negócio na indústria altamente competitiva.
O GitHub do Deathined afirma que sabe programar em Golang, o que corresponde ao que vimos nas amostras de Skuld. A conta foi criada em abril de 2023, apenas 3 semanas antes do momento em que este artigo foi escrito, e não contém nenhum repositório além daquele que fornece uma breve descrição do ator. A única outra informação que temos é a existência de um seguidor com o pseudônimo Trotzzler, que parece ter criado a conta na mesma época. No entanto, não encontramos mais informações sobre esse usuário.
Além disso, vários links para diferentes plataformas de mídia social podem ser encontrados. O primeiro link redireciona para um grupo do Telegram chamado deathinews. O segundo link redireciona para um grupo Guilded (concorrente do Discord). Ambos os grupos foram criados em maio de 2023 e, no momento da redação deste artigo, ainda estavam vazios. No entanto, é provável que esses grupos sejam usados para promover e vender novas versões do Skuld e outras variantes de malware no futuro.
O último é um link para a conta do Twitter @deathined, que não contém tweets, curtidas ou seguidores. A única coisa que chama a atenção é o fato de a conta ter sido criada também em abril de 2023, mesma data de criação da conta do GitHub.
Se procurarmos outras contas com o nome de usuário Deathined, também veremos uma conta do Reddit, criada também em abril. E neste caso, vemos que publicou conteúdos relacionados com o videojogo Fortnite, que posteriormente foram removidos. Esse tipo de interesse é consistente com o uso do Discord by Skuld, já que é uma plataforma comum usada principalmente por gamers.
Além disso, uma conta do Tumblr com o mesmo apelido pode ser encontrada. Aqui, o usuário mostra interesse em escrever histórias com o tema Arcane, a série de TV baseada em League of Legends, que novamente se encaixa no que vimos de Deathined.
Desenvolvendo habilidades
Skuld inclui muitas técnicas para roubar ativos de máquinas infectadas. No entanto, esta tendência não se aplica a todas as amostras, pois muitas delas carecem de algumas funcionalidades, enquanto outras possuem tal funcionalidade parcialmente implementada. Isso sugere que Skuld ainda está em desenvolvimento.
A análise dos binários insiste que as técnicas usadas pelo malware foram portadas de diferentes projetos do GitHub.
Esses projetos, escritos principalmente em Python, são ladrões e agarradores que foram construídos como prova de conceito ou para mostrar algum conhecimento ou produto. Posteriormente, Deathined pegou o código-fonte para eles e o portou para Golang para criar um novo malware.
Conclusão
A ascensão do malware Golang representa uma grande preocupação no cenário de segurança cibernética em constante mudança. À medida que o Golang ganha popularidade, os cibercriminosos aproveitam seus pontos fortes para desenvolver novas variantes de malware que representam uma séria ameaça para usuários e empresas. O ladrão de Skuld é um excelente exemplo de um novo malware que busca informações confidenciais armazenadas em sistemas, incluindo arquivos e aplicativos, como navegadores da web e Discord. Muitos outros recursos parecem estar ainda em desenvolvimento, com base em algumas funcionalidades parcialmente implementadas em determinados exemplos, como a injeção do Discord ou os módulos Clipper.
O autor, Deathined, parece estar constantemente tentando implementar novos recursos, inspirando-se em projetos de código aberto e portando a funcionalidade para Golang, se necessário. O autor ainda não começou a vender seus produtos. No entanto, é provável que, num futuro próximo, passe a fazê-lo via Telegram ou outros serviços.
O fato de o desenvolvimento do Skuld estar incompleto não significa que seja um malware incompetente. É de fato uma ameaça viável, capaz de roubar dados confidenciais de máquinas infectadas; algo que muitos usuários em todo o mundo já experimentaram.