Los cibercriminales están aprovechando una vulnerabilidad en el sistema de invitaciones de Discord para redirigir a los usuarios hacia sitios maliciosos que distribuyen troyanos de acceso remoto y malware robainformación. La campaña se basa en una falla en el sistema de invitaciones de Discord para llevar a cabo infecciones multietapa que evaden múltiples motores antivirus.
«Reviviendo» invitaciones expiradas de Discord
Los enlaces de invitación de Discord son URL que permiten a alguien unirse a un servidor específico de Discord. Contienen un código de invitación, que es un identificador único que otorga acceso a un servidor y puede ser temporal, permanente o personalizado – enlaces vanity disponibles para servidores de ‘nivel 3’ que pagan por ventajas especiales.
Como parte de las ventajas para servidores Discord de nivel 3, los administradores pueden crear un código de invitación personalizado. Para servidores regulares, Discord genera enlaces de invitación aleatorios automáticamente y la posibilidad de que uno se repita es muy baja.
Sin embargo, los hackers notaron que cuando un servidor de nivel 3 pierde su estatus de impulso (boost), el código de invitación personalizado queda disponible y puede ser reclamado por otro servidor.
Los investigadores de la empresa de ciberseguridad Check Point dicen que esto también es cierto en el caso de invitaciones temporales expiradas o enlaces de invitación permanentes eliminados.
Explican que «el mecanismo para crear enlaces de invitación personalizados sorprendentemente te permite reutilizar códigos de invitación temporales expirados, y, en algunos casos, códigos de invitación permanentes eliminados.»
Además, los investigadores señalan que el mecanismo defectuoso de Discord no modifica el tiempo de expiración de un código de invitación temporal ya generado cuando se reutiliza como enlace de invitación permanente.
«Los usuarios a menudo creen erróneamente que simplemente marcando esta casilla, han hecho permanente la invitación existente (y fue este malentendido el que fue explotado en el ataque que observamos)» – Check Point
Un código de invitación con letras minúsculas y dígitos no puede ser registrado mientras esté activo. Sin embargo, si el código tiene letras mayúsculas, puede ser reutilizado en enlaces vanity con minúsculas, incluso si el original sigue siendo válido.
Los investigadores de Check Point explican que esto es posible porque Discord almacena y compara enlaces vanity en minúsculas. Como resultado, el mismo código con letras minúsculas y mayúsculas es válido para dos servidores separados al mismo tiempo.
Redirigiendo hacia servidores maliciosos
Los atacantes están monitoreando invitaciones de Discord eliminadas o expiradas y las usan en una campaña que ha impactado a 1,300 usuarios en Estados Unidos, Reino Unido, Francia, Países Bajos y Alemania, basándose en el conteo de descargas de Check Point de las cargas maliciosas.
Los investigadores dicen que los cibercriminales están secuestrando enlaces de invitación de Discord de comunidades legítimas, y los comparten en redes sociales o sitios web oficiales de la comunidad. Para añadir credibilidad al engaño, los hackers diseñan los servidores maliciosos para que parezcan auténticos.
Los servidores Discord maliciosos solo muestran un canal al visitante, #verify, y un bot solicita al usuario pasar por un proceso de verificación.
Intentar hacerlo lanza un ataque típico ‘ClickFix‘ donde el usuario es redirigido a un sitio web que imita la interfaz de Discord y pretende que el CAPTCHA no se pudo cargar.
Los usuarios son engañados para abrir manualmente el diálogo Ejecutar de Windows y pegar un comando PowerShell, que ya habían copiado al portapapeles para su ejecución.
Hacer esto desencadena una infección multietapa que involucra descargadores PowerShell, cargadores C++ ofuscados y archivos VBScript.
Las cargas finales se descargan del servicio legítimo de colaboración de software y alojamiento de archivos Bitbucket, e incluyen:
- AsyncRAT: Entregado como ‘AClient.exe’, esta es la versión 0.5.8 del malware que usa Pastebin para obtener su dirección C2 dinámicamente. Sus capacidades incluyen operaciones de archivos, keylogging y acceso a cámara web/micrófono
- Skuld Stealer: Entregado como ‘skul.exe’, este es un robainformación que apunta a credenciales del navegador, cookies, tokens de Discord y datos de billeteras de criptomonedas (inyecta JS para robar frases mnemónicas y contraseñas usando webhooks de Discord)
- ChromeKatz: Una versión personalizada de la herramienta de código abierto, entregada como ‘cks.exe’, que puede robar cookies y contraseñas
También se añade una tarea programada en el host para volver a ejecutar el cargador de malware cada cinco minutos, descubrieron los investigadores.
Cómo defenderse
Para defenderse contra esta amenaza, se recomienda que los usuarios de Discord eviten confiar en enlaces de invitación antiguos, especialmente aquellos de publicaciones de meses atrás, traten las solicitudes de «verificación» con precaución adicional, y nunca ejecuten comandos PowerShell copiados que no comprendan completamente.
Además, se recomienda a los administradores de servidores Discord usar invitaciones permanentes, que son más difíciles de secuestrar.
Los investigadores advierten sobre la sofisticación de esta campaña, que aprovecha tanto las vulnerabilidades técnicas en el sistema de Discord como la ingeniería social para engañar a los usuarios y hacer que ejecuten código malicioso voluntariamente. Esta campaña demuestra cómo los atacantes continúan evolucionando sus métodos para explotar plataformas populares y la confianza de los usuarios en servicios legítimos para distribuir malware de manera efectiva.