Servidor que prometía "Minecraft sin griefers": niños descargaron mods y los padres fueron víctimas de un troyano que roba datos y de un chantaje de 300 dólares

Servidor que prometía "Minecraft sin griefers": niños descargaron mods y los padres fueron víctimas de un troyano que roba datos y de un chantaje de 300 dólares

SugarSMP: servidor "dulce" que oculta una carga venenosa

image

La promesa de un servidor de Minecraft seguro para niños y adolescentes ocultaba una peligrosa red criminal. Bajo la apariencia de una comunidad acogedora sin grieferos, se pedía a los usuarios instalar un conjunto obligatorio de mods para entrar al servidor. Junto con ese modpack llegaba un stealer que robaba contraseñas, tokens, datos de navegadores, contenido de Discord e información sobre carteras de criptomonedas. Tras la infección, algunas víctimas no solo perdieron acceso a cuentas, sino que también fueron sometidas a chantaje.

En el centro de la investigación apareció el servidor SugarSMP. En el sitio todo parecía creíble: descripción de juego tranquilo sin toxicidad, capturas de construcciones, reseñas, preguntas frecuentes, página con el equipo de administración, vídeos e incluso un online aparentemente estable. Para alguien que solo busca un servidor normal sin grieferos, la imagen resultaba bastante convincente. Al parecer, el proyecto estaba dirigido precisamente a ese público.

Las primeras dudas surgieron tras una queja que recibieron los moderadores de Reddit. Alguien intentó lograr la eliminación de una advertencia sobre archivos maliciosos publicada en uno de los subreddits. La petición no llegó desde una cuenta nueva y sospechosa, sino desde un usuario antiguo con buena reputación y muchos años de actividad. En esa fase la historia parecía ambigua: por un lado, el sitio se veía normal; por otro, alguien intentaba con insistencia limpiar las acusaciones públicas de distribución de malware.

Después los investigadores decidieron examinar SugarSMP con más cuidado. Una de las primeras señales extrañas tenía que ver con el online. El servidor mostraba casi constantemente entre 35 y 45 jugadores. Para una comunidad real esa cifra tan estable resulta artificial. En un servidor real el número de jugadores suele caer por la noche y aumentar en horas libres; aquí las fluctuaciones eran demasiado regulares y apenas cambiaban.

Luego observaron cómo se realiza la conexión. En la sección de preguntas frecuentes se decía que el servidor funciona con Fabric 1.21.4 y requiere el conjunto completo de mods. Al intentar conectar, al jugador realmente lo redirigían a la página de descarga del modpack. Por sí solo ese paso no parece sospechoso: Fabric exige la coincidencia entre los mods del cliente y los del servidor. Pero esa característica técnica es muy conveniente para los atacantes: es fácil explicar al usuario por qué no puede entrar sin descargar el archivo.

Para comprobar qué informaba el servidor de juego, los investigadores usaron el protocolo Server List Ping. A través de él el cliente obtiene información básica del servidor Minecraft: versión, nombre, número de jugadores, mensaje del día y parte de los parámetros de seguridad. La respuesta mostró Paper 1.21.4, protocolo 769, 40 jugadores de 120 posibles y Secure Chat habilitado. Eso indicaba que el online sospechosamente estable lo proporcionaba el propio servidor, no solo el sitio. Pero esa respuesta tampoco probaba que el contador fuera honesto: el servidor podría falsear las cifras.

El siguiente paso fue comprobar el dominio en VirusTotal y aplicar métodos OSINT comunes. En una fase temprana eso casi no dio resultados. Una pista más relevante apareció en Reddit. El 27 de febrero un usuario publicó una advertencia en la que contó que, tras instalar los mods de SugarSMP, le robaron datos y cuentas y luego le exigieron 300 dólares bajo amenaza de publicar información personal. Ya el 7 de marzo el propietario de SugarSMP trató de lograr la eliminación de ese post a través de los moderadores. Ese intervalo temporal resultó importante para toda la investigación.

Los investigadores contactaron con el autor de la advertencia. Este contó que recibió una invitación a Discord de una persona que lo invitó al servidor y le envió el enlace al modpack. Tras descomprimir el ZIP en CurseForge, la lista de mods parecía casi normal: en su mayoría eran mods de rendimiento. Pero al iniciar la instalación apareció en pantalla un mensaje de compromiso del equipo al estilo extorsionador. El usuario logró cerrar la ventana con Alt+F4, pero poco después el atacante le escribió en privado afirmando que ya había obtenido todas las contraseñas y datos personales. Según la víctima, el control sobre el portátil se mantuvo hasta que el dispositivo se desconectó del Wi‑Fi. Luego llegó la exigencia de pagar 300 dólares. El usuario no pagó; simplemente cambió las contraseñas y restableció el sistema.

La víctima entregó a los investigadores dos capturas que, por razones obvias, no se publicaron. En una aparecía un mensaje de Discord con el texto YOUR COMPUTER WAS COMPROMISED. En la otra, un resumen típico del stealer para el operador: número de cookies, contraseñas, tarjetas bancarias y datos de autocompletado robados, información del sistema operativo, antivirus, HWID, dirección IP y una captura del escritorio de la víctima. De esos datos se obtuvo una conclusión importante: entre el 26 de febrero, cuando se produjo la infección, y el 7 de marzo, cuando el propietario del sitio ya pidió borrar la advertencia, los archivos maliciosos en el sitio ya habían sido reemplazados por archivos limpios. De lo contrario, habría sido demasiado sencillo comprobar la denuncia en Reddit.

Después ayudó el archivo web. En una copia de principios de febrero en Wayback Machine los investigadores hallaron enlaces antiguos a SugarSMP-1.0.zip, SugarSMP-ModPack.zip y SugarSMP 1.0.0.mrpack alojados directamente en sugarsmp(dot)com. Al momento del análisis al menos dos de esos archivos aún se podían descargar desde el archivo. Fueron esas versiones antiguas las que mostraron lo que realmente había ocurrido antes de que limpiaran el sitio.

El análisis de SugarSMP-1.0.zip pronto reveló una incoherencia. El formato de los modpacks de CurseForge suele ser sencillo: en manifest.json se listan las ID de proyectos legítimos y la propia plataforma descarga y verifica los mods al instalarlos. Un archivo así no debería ocupar decenas de megabytes. Pero SugarSMP-1.0.zip pesaba más de 20 MB. Solo por ese tamaño había indicios de que dentro había algo más que una lista de mods.

En manifest.json sí figuraban 15 mods normales con ID de proyectos de CurseForge, entre ellos Fabric API, Sodium, Iris Shaders y Simple Voice Chat. A ese nivel todo parecía inofensivo. Pero CurseForge tiene una carpeta overrides cuyo contenido se copia directamente en la carpeta del juego sin comprobación de integridad. Precisamente allí se escondía la sorpresa principal.

En overrides/mods/ estaba el archivo appleskin-fabric-mc1.21.3-3.0.6.jar. Por su nombre se hacía pasar por el mod legítimo AppleSkin de squeek502, que en su versión normal solo mejora la visualización de información de comida en la interfaz. En su interior había clases reales de AppleSkin y el mod seguía funcionando como de costumbre. Pero en una de las clases, DebugInfoHandler.class, los investigadores encontraron código inyectado.

La trama estaba montada con cuidado. Al iniciar Minecraft, el cargador Fabric llama al método AppleSkin.onInitializeClient(), y a continuación el control pasa a DebugInfoHandler.init(). Fue en esa cadena donde se integró la llamada maliciosa. Uno de los métodos guardaba la ruta al archivo JAR para usarla más tarde para la persistencia. Luego otro método arrancaba el malware en un hilo de fondo independiente. Para la víctima ese enfoque resulta útil al atacante por dos razones: el juego y el mod siguen funcionando normalmente, y el código malicioso se ejecuta en silencio sin romper el inicio ni generar sospechas.

La lógica maliciosa principal estaba en el paquete org.spark, de ahí que los investigadores llamaran a la familia Spark stealer. El código además estaba ofuscado. Cadenas cifradas se transformaban en caracteres Unicode del bloque Braille, y en algunos fragmentos el código incluso contenía pequeños dibujos ASCII; uno de ellos formaba la imagen de Shrek. Bajo esa máscara decorativa había enlaces a canales de salida de datos robados a través de Discord y GoFile.

El malware utilizaba tres canales separados para distintos tipos de mensajes: uno para la exfiltración principal, otro para errores y otro para datos de carteras cripto. En la muestra analizada, sin embargo, todos los mensajes iban al mismo canal. Por la marca temporal de Discord se pudo establecer que ese canal se creó el 4 de febrero de 2026, aproximadamente dos horas antes de la primera aparición de la muestra en VirusTotal. Es decir, hubo muy poco tiempo entre la creación de la infraestructura y la distribución del modpack malicioso.

En cuanto a funciones, Spark stealer resultó ser un programa tipo stealer plenamente funcional, no una creación primitiva. Robaba tokens de Discord, sesiones de Telegram Desktop, datos de extensiones de navegador para carteras cripto, carteras locales, credenciales de navegadores Chromium y Gecko y también de Steam. Además, el código consultaba APIs de algunos servicios para obtener información sobre sesiones, perfiles, analítica y saldos, incluyendo TikTok y Roblox. Ese conjunto muestra que a los atacantes les interesaban no solo las contraseñas, sino cualquier dato que pudiera monetizarse rápidamente o usarse para ejercer presión sobre la víctima.

La configuración del malware se guardaba en ConfigFeatures.class. En la muestra analizada algunos módulos estaban deshabilitados, y las funciones activas principales eran el robo de datos de navegadores, tokens de Discord y la inyección en el cliente de Discord. El malware también incluía un escáner de palabras clave. Revisaba las credenciales robadas, cookies y URL en busca de palabras que interesaran a los atacantes. En la lista figuraban Pornhub y OnlyFans, lo que parece una preparación para posibles intentos de chantaje mediante la revelación de actividad privada. También aparecían GitHub, Replit, Hostinger, Cloudflare y OVHcloud, es decir, el stealer claramente buscaba acceso a cuentas de desarrolladores, servicios en la nube y paneles de alojamiento.

Un módulo aparte se encargaba de modificar Discord. En la raíz del JAR infectado había un archivo injection.b64 con JavaScript codificado. El malware escribía ese código en discord_desktop_core/index.js, que el cliente de escritorio de Discord carga al iniciarse. Tras la desofuscación, los investigadores vieron que ese script enviaba a los atacantes datos sobre métodos de pago vinculados, lista de amigos, emblemas, participación en servidores, roles y fecha de creación de la cuenta. Además, el código vigilaba las peticiones salientes de Discord y interceptaba tokens, inicios de sesión y contraseñas, códigos de autenticación de dos factores y eventos de acceso o cambio de contraseña.

Para las plantillas de exfiltración y tanto el stealer principal como el código malicioso dentro de Discord utilizaron 25 emojis personalizados. Ese detalle, aunque secundario, demuestra que los autores montaron un sistema bastante cómodo para recibir y revisar los datos robados.

Desde el punto de vista técnico también importa el método de robo de secretos del navegador. Puesto que Spark stealer está escrito en Java y las contraseñas de los navegadores suelen protegerse con mecanismos criptográficos del sistema y de las aplicaciones, el malware recurrió a Java Native Access para invocar la API de Windows y funciones de bibliotecas como nss3.dll. Entre esas llamadas figuraban CryptUnprotectData, BCryptDecrypt, NSS_Init y PK11SDR_Decrypt. Para la defensa, esa es una pista útil: un mod normal de Minecraft no necesita acceso a las API criptográficas del navegador.

La persistencia en el sistema se construyó en varios niveles. El primer nivel es evidente: cada arranque de Minecraft con el AppleSkin infectado lanza automáticamente el malware. El segundo nivel está ligado a Discord: el index.js modificado sigue funcionando tras reiniciar el cliente y solo desaparece con la reinstalación completa de la aplicación. El tercer nivel proporcionaba el inicio automático mediante el programador de tareas. El malware obtenía la ruta al JAR original, creaba un directorio en AppData\Local\Microsoft\Windows, se copiaba allí con el nombre FileExplorer.jar y creaba la tarea ExplorerStartup que ejecutaba ese JAR. A partir de ahí, el stealer podía arrancar independientemente de Minecraft y de Discord.

Pero la parte técnica era solo la mitad de la estrategia. No menos importante fue la capa reputacional alrededor de SugarSMP. Los atacantes no se limitaron al sitio y al modpack: intentaron crear la apariencia de una comunidad viva y segura. En los resultados de búsqueda aparecían sitios de listado de servidores de Minecraft donde SugarSMP se nombraba como el mejor servidor de 2026. En YouTube había supuestas transmisiones en directo desde el servidor. Sin embargo, el contenido de esos streams parecía sin sentido y recordaba más a un decorado para el posicionamiento en buscadores que a una emisión real.

Lo más interesante ocurrió después. La cuenta de Reddit que solicitó la eliminación de la advertencia sobre archivos maliciosos también resultó formar parte de la historia. Más tarde los investigadores averiguaron que el propietario de esa cuenta había desarrollado anteriormente mods populares para juegos en Steam. Comprobar el Discord oficial de su comunidad mostró que la cuenta había sido comprometida. Cuando los investigadores contactaron con la nueva cuenta de esa persona en Discord, ésta confirmó la pérdida de sus antiguas cuentas de Reddit, Google y Discord. También era víctima de los estafadores, aunque por un camino distinto. De ese modo, los atacantes usaban cuentas ya robadas y con autoridad para pedir la eliminación de advertencias y reforzar la credibilidad de su leyenda.

Tras eso, los investigadores empezaron a buscar sitios similares por la léxica característica. Términos como cute y cozy permitieron hallar rápidamente toda una red de recursos de Minecraft casi idénticos. Parte de ellos eran clones directos de SugarSMP; otros tenían un diseño más rosado o "gato", pero la lógica era la misma: comunidad acogedora, descarga obligatoria de archivos y una presentación aparentemente inofensiva. Para verificarlo se escribió un rastreador que descargó archivos de todos los dominios encontrados. Ninguno distribuía exactamente el Spark stealer, pero casi todos los enlaces operativos conducían a otros stealers. Sobre todo eran aplicaciones Electron en JavaScript. Dos muestras resultaron ser también JAR, pero con otra implementación. Otra parte de los enlaces apuntaba a descargas de stealers alojadas en GitHub.

El caso de SugarSMP es significativo además porque la investigación solo pudo concluirse gracias a una copia archivada del sitio y de los archivos. Para el momento de la comprobación, desde el dominio principal ya se distribuían modpacks limpios. Para los atacantes esa táctica es muy práctica: primero infectar a los jugadores, luego reemplazar rápidamente la carga útil por una inofensiva y al mismo tiempo intentar eliminar las advertencias públicas. Según los autores del análisis, esa estrategia no es rara: los operadores de malware intentan impugnar detecciones, recuperar certificados, presionar a plataformas y borrar advertencias ajenas porque esa limpieza a veces funciona.

Para los usuarios, la conclusión práctica es directa. Si un servidor de Minecraft exige instalar un modpack desde su propio sitio, especialmente fuera de las plataformas habituales, conviene tratar esa descarga con precaución. Contar con un sitio atractivo, capturas, reseñas, vídeos e incluso un online "en vivo" no garantiza nada. En el caso de SugarSMP todo el escaparate fue diseñado precisamente para que el jugador dudara lo menos posible antes de descargar.

A quienes pudieron instalar los mods infectados de SugarSMP, los investigadores recomiendan actuar con firmeza. Es necesario reinstalar Discord, eliminar las tareas del programador que ejecutan archivos JAR y analizar el sistema con un antivirus actualizado. A continuación hay que cerrar todas las sesiones en navegadores y en Discord, regenerar los códigos de reserva de la autenticación de dos factores en Discord y comprobar la sección Aplicaciones autorizadas. Todas las contraseñas que pudieron almacenarse en navegadores o usarse en el sistema infectado deben cambiarse. Si en el dispositivo había carteras cripto, conviene transferir los fondos a nuevas direcciones y dejar de usar las seed phrases antiguas.