Como agentes maliciosos exploram o sistema de convites do Discord

Invasores sequestram links de convite do Discord e redirecionam as vítimas para servidores fraudulentos onde instalam malware usando a técnica ClickFix.

Invasores estão usando links de convite expirados e excluídos do Discord para distribuir dois tipos de malware: AsyncRAT, que assume o controle remoto de computadores infectados e Skuld Stealer, que rouba dados de carteiras de criptomoedas. Eles fazem isso explorando uma vulnerabilidade no sistema de links de convite do Discord que redireciona furtivamente usuários de fontes confiáveis para servidores maliciosos.

O ataque utiliza a técnica ClickFix, onde carregadores de vários fases e execução adiada contorna defesas e distribui malware sem serem detectados. Este artigo examina em detalhes como os invasores exploram o sistema de link de convite, o que é ClickFix e por que é usado por criminosos e, mais importante, como não cair vítima desse esquema.

Como funcionam os links de convite do Discord

Primeiro, vejamos como funcionam os links de convite do Discord e suas diferenças. Ao fazer isso, teremos uma ideia de como os invasores aprenderam a explorar o sistema de criação de links no Discord.

Os links de convite do Discord são URLs especiais que os usuários podem usar para ingressar em servidores. Eles são criados por administradores para simplificar o acesso às comunidades sem precisar adicionar membros manualmente. Os links de convite no Discord podem ter dois formatos:

  • https://discord.gg/{invite_code}
  • https://discord.com/invite/{invite_code}

Ter mais de um formato, com um que use um domínio “meme”, não é a melhor solução do ponto de vista de segurança, pois gera confusão para os usuários. Mas não é tudo. Os links de convite do Discord também têm três tipos principais, que diferem significativamente em termos de propriedades:

  • Links de convite temporários
  • Links de convite permanentes
  • Links de convite personalizados (URLs personalizados)

Links do primeiro tipo são os usados pelo Discord por padrão. Além disso, no aplicativo Discord, o administrador do servidor pode escolher entre tempos fixos de expiração de convites: 30 minutos, 1 hora, 6 horas, 12 horas, 1 dia ou 7 dias (a opção padrão). Para links criados via API do Discord, um tempo de expiração personalizado pode ser definido, qualquer valor de até 7 dias.

Os códigos para links de convite temporários são gerados aleatoriamente e geralmente contêm 7 ou 8 caracteres, incluindo letras maiúsculas e minúsculas, bem como números. Exemplos de um link temporário:

  • https://discord.gg/a7X9pLd
  • https://discord.gg/fq5zw2cn

Para criar um link de convite permanente, o administrador do servidor deve selecionar manualmente Nunca no campo Expirar após. Os códigos de convite permanentes consistem em 10 caracteres aleatórios, com letras maiúsculas e minúsculas e números, como antes. Exemplo de um link permanente:

  • https://discord.gg/hT9aR2kLmB

Por fim, links de convite personalizados (links personalizados) estão disponíveis apenas para servidores Discord Nível 3. Para atingir esse nível, um servidor precisa obter 14 boosts, que são upgrades pagos que os membros da comunidade podem comprar para desbloquear vantagens especiais. É por isso que comunidades populares com um público ativo, servidores de blogueiros, streamers, clãs de jogos ou projetos públicos geralmente atingem o Nível 3.

Links de convite personalizados permitem que os administradores definam seu próprio código de convite, que deve ser exclusivo entre todos os servidores. O código pode conter letras minúsculas, números e hifens, e pode ter comprimento quase arbitrário, indo de 2 a 32 caracteres. Um servidor pode ter apenas um link personalizado por vez.

Esses links são sempre permanentes, ou eja, não expiram enquanto o servidor mantiver as vantagens de Nível 3. Se o servidor perder esse nível, seu link fantasia ficará disponível para reutilização por outro servidor com o nível necessário. Exemplos de um link de convite personalizado:

  • https://discord.gg/alanna-titterington
  • https://discord.gg/best-discord-server-ever
  • https://discord.gg/fq5zw2cn

Com este último exemplo, leitores atentos podem antecipar o que isso significa.

Como os fraudadores exploram o sistema de convites

Agora que vimos os diferentes tipos de links de convite do Discord, vamos ver como agentes mal-intencionados usam esse mecanismo como arma. Observe que quando um link de convite comum e não personalizado expira ou é excluído, o administrador de um servidor legítimo não pode obter o mesmo código novamente, pois todos os códigos são gerados aleatoriamente.

Mas ao criar um link de convite personalizado, o proprietário do servidor pode inserir manualmente qualquer código disponível, incluindo um que corresponda ao código de um link expirado ou excluído anteriormente.

É essa peculiaridade do sistema de convites que os invasores exploram: eles rastreiam códigos legítimos que estão prestes a expirar e os registram como links personalizados nos seus servidores com vantagens de Nível 3.

Como resultado, os criminosos podem usar:

  • Qualquer link de convite temporário expirado (mesmo que o link expirado tenha letras maiúsculas e o URL personalizado dos golpistas as substitua por minúsculas, o sistema redireciona automaticamente o usuário para esse URL personalizado)
  • Links de convite permanentes excluídos dos servidores, se o código consistisse apenas em letras minúsculas e números (sem redirecionamento aqui)
  • Links de convite personalizados, se o servidor original perdeu as vantagens do Nível 3 e seu link está disponível para novo registro

Qual a consequência dessa substituição? Os invasores conseguem direcionar usuários que seguem links postados anteriormente em recursos totalmente legítimos (redes sociais, sites, blogs e fóruns de diversas comunidades) para seus próprios servidores maliciosos no Discord.

Além disso, os proprietários legais desses recursos podem nem perceber que os antigos links de convite agora apontam para servidores falsos do Discord, configurados para distribuir malware. Isso significa que eles não podem nem mesmo alertar os usuários de que um link é perigoso, ou excluir mensagens nas quais ele aparece.

Como o ClickFix funciona em ataques baseados no Discord

Agora vamos falar sobre o que acontece com usuários que seguem links de convite sequestrados recebidos de fontes confiáveis. Após entrar no servidor Discord dos invasores, o usuário vê que todos os canais estão indisponíveis para eles, exceto um, chamado verify.

Servidor Discord malicioso

No servidor Discord dos invasores, os usuários que seguiram o link sequestrado têm acesso a apenas um canal, verify Fonte

Este canal apresenta um bot chamado Safeguard que oferece acesso total ao servidor. Para fazer isso, o usuário deve clicar no botão Verificar, seguido por um prompt para autorizar o bot.

Janela de autorização do bot Safeguard

Ao clicar no botão Autorizar, o usuário é automaticamente redirecionado para o site externo dos invasores, onde a próxima e mais importante fase do ataque começa. Fonte

Após a autorização, o bot obtém acesso às informações do perfil (nome de usuário, avatar, banner) e o usuário é redirecionado para um site externo: https://captchaguard[.]me. Em seguida, o usuário passa por uma cadeia de redirecionamentos e acaba em uma página da web bem criada que imita a interface do Discord, com um botão Verificar no centro.

Tela de falsa verificação em um site externo

O redirecionamento leva o usuário para uma página falsa estilizada para se parecer com a interface do Discord. Clicar no botão Verificar ativa um código JavaScript malicioso que copia um comando do PowerShell para a área de transferência Fonte

Clicar no botão Verificar ativa o código JavaScript que copia um comando malicioso do PowerShell para a área de transferência. O usuário recebe instruções precisas sobre como “passar na verificação”: abrir a janela Executar (Win + R), colar o texto da área de transferência (Ctrl + V) e clicar em Enter.

A técnica ClickFix implementada pelos sequestradores de links do Discord

Depois, vem a técnica ClickFix: o usuário é instruído a colar e executar o comando malicioso copiado para a área de transferência na etapa anterior. Fonte

O site não solicita que o usuário baixe ou execute nenhum arquivo manualmente, removendo assim os sinais de alerta típicos. Em vez disso, os usuários basicamente se infectam executando um comando malicioso do PowerShell que o site coloca na área de transferência. Todas essas etapas fazem parte de uma tática de infecção chamada ClickFix, que já abordamos em detalhes em nosso blog.

Malware AsyncRAT e Skuld Stealer

O script do PowerShell ativado pelo usuário é o primeiro passo na entrega em várias fases da carga maliciosa. O próximo objetivo dos invasores é instalar dois programas maliciosos no dispositivo da vítima. Vamos analisar cada um deles mais de perto.

Primeiro, os invasores baixam uma versão modificada do AsyncRAT para obter controle remoto sobre o sistema infectado. Esta ferramenta oferece uma ampla gama de recursos: execução de comandos e scripts, interceptação de teclas, visualização da tela, gerenciamento de arquivos e acesso à área de trabalho e à câmera remotas.

Em seguida, os cibercriminosos instalam o Skuld Stealer no dispositivo da vítima. Este ladrão de criptomoedas coleta informações do sistema, desvia credenciais de login do Discord e tokens de autenticação salvos no navegador e, principalmente, rouba frases-semente e senhas para carteiras de criptomoedas Exodus e Atomic, injetando código malicioso diretamente em sua interface.

O Skuld envia todos os dados coletados via webhook do Discord, um canal HTTP unidirecional que permite que aplicativos enviem mensagens automaticamente para canais do Discord. Isso fornece uma maneira segura de roubar informações diretamente no Discord, sem a necessidade de uma infraestrutura de gerenciamento sofisticada.

Como resultado, todos os dados, desde senhas e tokens de autenticação até frases-semente de carteiras de criptomoedas, são publicados automaticamente em um canal privado configurado com antecedência no servidor Discord dos invasores. De posse das frases-semente, os invasores podem recuperar todas as chaves privadas de carteiras sequestradas e obter controle total sobre todos os ativos de criptomoeda de suas vítimas.

Como evitar cair vítima desse golpe?

Infelizmente, o sistema de convites do Discord carece de transparência e clareza. E isso torna extremamente difícil, especialmente para iniciantes, detectar o truque antes de clicar em um link sequestrado e durante o processo de redirecionamento.

No entanto, existem algumas medidas de segurança que, se feitas corretamente, podem evitar o pior resultado, um computador infectado por malware e perdas financeiras:

  • Nunca cole código na janela Executar se você não sabe exatamente o que ele faz. Fazer isso é extremamente perigoso, e sites normais nunca darão tal instrução.
  • Configure a privacidade e a segurança do Discord seguindo nosso guia detalhado. Isso não protegerá contra links de convite sequestrados, mas minimizará outros riscos associados ao Discord.
  • Use um solução de segurança confiável que fornece aviso prévio de perigo e impede o download de malware. É melhor instalá-lo em todos os dispositivos, mas especialmente naqueles em que você usa carteiras de criptomoedas e outros softwares financeiros.

Agentes mal-intencionados geralmente atacam o Discord para roubar criptomoedas, contas de jogos e ativos digitais, e geralmente causam bastante prejuízo aos usuários. Confira nossos artigos para mais exemplos de golpes no Discord:

Atividade maliciosa em chats do Discord

Criptoscam no Discord

Criptoscam no Discord: ataque dos clones

Criptoscam no Discord: a vingança dos fraudadores

Criptoscam no Discord: uma nova esperança

Dicas