Los atacantes están utilizando enlaces de invitación de Discord caducados y eliminados para distribuir dos variantes de malware: AsyncRAT para tomar el control remoto de los ordenadores infectados y Skuld Stealer para robar datos de carteras de criptomonedas. Lo hacen explotando una vulnerabilidad en el sistema de enlaces de invitación de Discord para redirigir sigilosamente a los usuarios desde fuentes de confianza a servidores maliciosos.
El ataque aprovecha la técnica ClickFix, cargadores de varias etapas y ejecución diferida para eludir las defensas y distribuir el malware sin ser detectado. En esta publicación examinamos en detalle cómo los atacantes explotan el sistema de enlaces de invitación, qué es ClickFix y por qué lo usan y, lo más importante, cómo evitar ser víctima de esta técnica.
Cómo funcionan los enlaces de invitación de Discord
Primero, veamos cómo funcionan los enlaces de invitación de Discord y en qué se diferencian entre sí. De este modo, tendremos una visión de cómo los atacantes aprendieron a explotar el sistema de creación de enlaces en Discord.
Los enlaces de invitación de Discord son URL especiales que los usuarios pueden usar para unirse a servidores. Los crean los administradores para simplificar el acceso a las comunidades sin tener que añadir a los miembros manualmente. Los enlaces de invitación en Discord pueden presentarse en dos formatos alternativos:
- https://discord.gg/{código_de_invitación}
- https://discord.com/invite/{invite_code}
Tener más de un formato, uno de los cuales utiliza un dominio de “meme”, no es la mejor solución desde el punto de vista de la seguridad, ya que genera confusión en la mente de los usuarios. Y eso no es todo. Los enlaces de invitación de Discord también tienen tres tipos principales, que difieren considerablemente entre sí en cuanto a sus propiedades:
- Enlaces de invitación temporales
- Enlaces de invitación permanentes
- Enlaces de invitación personalizados (URL de vanidad)
Los enlaces del primer tipo son los que Discord crea por defecto. Además, en la aplicación de Discord, el administrador del servidor puede elegir entre varios tiempos fijos de expiración para las invitaciones: 30 minutos, 1 hora, 6 horas, 12 horas, 1 día o 7 días (la opción predeterminada). Para los enlaces creados mediante la API de Discord, se puede establecer un tiempo de expiración personalizado, con un valor máximo de hasta 7 días.
Los códigos para enlaces de invitación temporales se generan aleatoriamente y generalmente contienen 7 u 8 caracteres, incluidas letras mayúsculas y minúsculas, además de números. Ejemplos de un enlace temporal:
- https://discord.gg/a7X9pLd
- https://discord.gg/fq5zw2cn
Para crear un enlace de invitación permanente, el administrador del servidor debe seleccionar manualmente Nunca en el campo Expira Después De. Los códigos de invitación permanentes constan de 10 caracteres aleatorios: letras mayúsculas y minúsculas y números, como antes. Ejemplo de enlace permanente:
- https://discord.gg/hT9aR2kLmB
Por último, los enlaces de invitación personalizados (enlaces de vanidad) solo están disponibles para los servidores de Discord de nivel 3. Para alcanzar este nivel, un servidor debe obtener 14 mejoras, que son mejoras de pago que los miembros de la comunidad pueden comprar para desbloquear ventajas especiales. Por eso, las comunidades populares con una audiencia activa (servidores de blogueros, streamers, clanes de jugadores o proyectos públicos) suelen alcanzan el nivel 3.
Los enlaces de invitación personalizados permiten a los administradores establecer su propio código de invitación, que debe ser único entre todos los servidores. El código puede contener letras minúsculas, números y guiones, y puede tener una longitud casi arbitraria, de entre 2 y 32 caracteres. Un servidor solo puede tener un enlace personalizado en un momento dado.
Estos enlaces son siempre permanentes: no caducan mientras el servidor mantenga las ventajas de nivel 3. Si el servidor pierde este nivel, su enlace de vanidad queda disponible para ser reutilizado por otro servidor con el nivel requerido. Ejemplos de un enlace de invitación personalizado:
- https://discord.gg/alanna-titterington
- https://discord.gg/best-discord-server-ever
- https://discord.gg/fq5zw2cn
Con este último ejemplo, los lectores atentos podrán intuir hacia dónde nos dirigimos.
Cómo explotan los estafadores el sistema de invitaciones
Ahora que hemos visto los diferentes tipos de enlaces de invitación de Discord, veamos cómo se aprovechan de este mecanismo los actores maliciosos. Ten en cuenta que cuando un enlace de invitación normal, no personalizado, expira o se elimina, el administrador de un servidor legítimo no puede volver a obtener el mismo código, ya que todos los códigos se generan aleatoriamente.
Pero al crear un enlace de invitación personalizado, el propietario del servidor puede introducir manualmente cualquier código disponible, incluido uno que coincida con el código de un enlace previamente expirado o eliminado.
Es esta peculiaridad del sistema de invitaciones la que explotan los atacantes: rastrean códigos legítimos que van a expirar y luego los registran como enlaces personalizados en sus servidores con ventajas de nivel 3.
Como resultado, los estafadores pueden utilizar:
- Cualquier enlace de invitación temporal expirado (incluso si el enlace tiene letras mayúsculas y la URL personalizada de los estafadores las reemplaza con minúsculas, el sistema redirecciona automáticamente al usuario a esta URL de vanidad)
- Enlaces de invitación permanentes eliminados de los servidores, si el código consistía únicamente en letras minúsculas y números (sin redirección en este caso)
- Enlaces de invitación personalizados, si el servidor original perdió las ventajas de nivel 3 y su enlace está disponible para volver a registrarse
¿Cuáles son las consecuencias de esta sustitución? Los atacantes obtienen la capacidad de dirigir a los usuarios que utilizan enlaces previamente publicados en recursos totalmente legítimos (redes sociales, sitios web, blogs y foros de varias comunidades) a sus propios servidores maliciosos en Discord.
Es más, es posible que los propietarios legales de estos recursos ni siquiera se den cuenta de que los antiguos enlaces de invitación ahora dirigen a servidores de Discord falsos configurados para distribuir malware. Esto significa que ni siquiera pueden advertir a los usuarios de que un enlace es peligroso ni eliminar los mensajes en los que aparece.
Cómo funciona ClickFix en los ataques basados en Discord
Ahora hablemos de lo que les sucede a los usuarios que acceden a enlaces de invitación secuestrados recibidos desde fuentes de confianza. Después de unirse al servidor de Discord de los atacantes, el usuario ve que ningún canal está disponible para él excepto uno, con el nombre verify.

En el servidor Discord de los atacantes, los usuarios que accedieron al enlace secuestrado solo tienen acceso a un canal, verify. Fuente.
Este canal cuenta con un bot llamado Safeguard que ofrece acceso completo al servidor. Para obtener acceso, el usuario tiene que hacer clic en el botón Verificar, al que le seguirá un mensaje para autorizar al bot.

Al hacer clic en el botón Autorizar, se redirigirá automáticamente al usuario al sitio externo de los atacantes, donde comienza la siguiente y más importante fase del ataque. Fuente
Después de la autorización, el bot obtiene acceso a la información del perfil (nombre de usuario, avatar, banner), y se redirige al usuario a un sitio externo: https://captchaguard[.]me. A continuación, el usuario pasa por una cadena de redirecciones y termina en una página web bien diseñada que imita la interfaz de Discord, con un botón en el centro que dice Verificar.

La redirección lleva al usuario a una página falsa diseñada para parecerse a la interfaz de Discord. Al hacer clic en el botón Verificar, se activa un código JavaScript malicioso que copia un comando de PowerShell al portapapeles Fuente
Al hacer clic en el botón Verificar, se activa el código JavaScript que copia un comando de PowerShell malicioso al portapapeles. A continuación, se dan al usuario instrucciones precisas sobre cómo “pasar la verificación”: abrir la ventana Ejecutar (Win + R), pegar el texto del portapapeles (Ctrl + V) y pulsar Intro.

A continuación viene la técnica ClickFix: se pide al usuario que pegue y ejecute el comando malicioso copiado en el portapapeles en el paso anterior. Fuente
El sitio no pide al usuario que descargue o ejecute manualmente ningún archivo, lo que elimina las señales de advertencia típicas. En lugar de ello, los usuarios básicamente se infectan a sí mismos al ejecutar un comando de PowerShell malicioso que el sitio coloca en el portapapeles. Todos estos pasos forman parte de una táctica de infección llamada ClickFix, que ya hemos tratado en profundidad en nuestro blog.
Malware AsyncRAT y Skuld Stealer
El script de PowerShell activado por el usuario es el primer paso en la entrega en varias etapas de la carga maliciosa. El siguiente objetivo de los atacantes es instalar dos programas maliciosos en el dispositivo de la víctima; analicemos cada uno de ellos con más detalle.
En primer lugar, los atacantes descargan una versión modificada de AsyncRAT para obtener control remoto sobre el sistema infectado. Esta herramienta proporciona una amplia gama de capacidades: ejecutar comandos y scripts, interceptar pulsaciones de teclas, ver la pantalla, administrar archivos y acceder al escritorio remoto y a la cámara.
A continuación, los ciberdelincuentes instalan Skuld Stealer en el dispositivo de la víctima. Este ladrón de criptomonedas recopila información del sistema, extrae credenciales de inicio de sesión y tokens de autenticación de Discord guardados en el navegador y, de manera crucial, roba frases semilla y contraseñas para las carteras de criptomonedas Exodus y Atomic inyectando código malicioso directamente en su interfaz.
Skuld envía todos los datos recopilados a través de un webhook de Discord, un canal HTTP unidireccional que permite que las aplicaciones envíen automáticamente mensajes a canales de Discord. Esto proporciona una forma segura de robar información directamente en Discord sin la necesidad de una infraestructura de gestión sofisticada.
Como resultado, todos los datos (desde contraseñas y tokens de autenticación hasta frases semilla de carteras de criptomonedas) se publican automáticamente en un canal privado configurado previamente en el servidor de Discord de los atacantes. Armados con las frases semilla, los atacantes pueden recuperar todas las claves privadas de las carteras secuestradas y obtener control total sobre todos los activos de criptomonedas de sus víctimas.
¿Cómo evitar caer en la trampa?
Desafortunadamente, el sistema de invitaciones de Discord carece de transparencia y claridad. Y esto hace que sea extremadamente difícil, —especialmente para los usuarios noveles— detectar el engaño antes de hacer clic en un enlace secuestrado y durante el proceso de redirección.
Sin embargo, existen algunas medidas de seguridad que, si se implementan correctamente, deberían evitar el peor resultado: un equipo infectado con malware y pérdidas económicas:
- No pegues nunca código en la ventana Ejecutar si no sabes exactamente lo que haces. Hacer esto es extremadamente peligroso y los sitios normales nunca te pedirán algo así.
- Configura la privacidad y seguridad de Discord siguiendo nuestra guía detallada. Esto no te protegerá contra los enlaces de invitación secuestrados, pero minimizará otros riesgos asociados con Discord.
- Utiliza una solución de seguridad fiable que avise con antelación del peligro y evite la descarga de malware. Es mejor instalarlo en todos los dispositivos, pero especialmente en los que utilizas carteras de criptomonedas y otro software financiero.
Los actores maliciosos a menudo se centran en Discord para robar criptomonedas, cuentas de juegos y activos y, en general, causar perjuicios a los usuarios. Consulta nuestras publicaciones para ver más ejemplos de estafas en Discord:
Actividad maliciosa en los chats de Discord
Criptoestafa en Discord: el ataque de los clones