viernes, junio 27, 2025

Análisis de los programas maliciosos de Minecraft distribuidos por Stargazers Ghost Network

En una Investigación realizada por Jaromír Hořejší y Antonis Terefos para Check Point Research descubrió repositorios maliciosos que distribuían malware a través de Stargazers Ghost Network, que opera como una distribución como servicio.

Minecraft es un videojuego popular con una enorme base de jugadores global, con más de 200 millones de jugadores activos mensuales.

El juego también ha vendido más de 300 millones de copias, lo que lo convierte en uno de los videojuegos más vendidos de la historia.

Minecraft admite mods (modificaciones creadas por los usuarios), que enriquecen la experiencia del usuario al mejorar la jugabilidad, corregir errores, optimizar los gráficos y añadir nuevo contenido.

Se estima que más de un millón de jugadores participan activamente en la creación de mods en Minecraft.

Check Point Research descubrió repositorios maliciosos que distribuían malware a través de Stargazers Ghost Network, que opera como una distribución como servicio (DaaS).

Las campañas resultaron en una cadena de ataques de varias etapas dirigida específicamente a los usuarios de Minecraft. El malware suplantaba a Oringo y Taunahi, que son «herramientas de scripts y macros» (también conocidas como trucos).

Tanto la primera como la segunda etapa están desarrolladas en Java y solo se pueden ejecutar si el entorno de ejecución de Minecraft está instalado en el equipo host.

Campañas de la red fantasma de stargazers

Desde marzo de 2025, Check Point Research ha estado rastreando repositorios maliciosos de GitHub que atacan a usuarios de Minecraft con un descargador de Java no detectado. Estos repositorios supuestamente proporcionaban mods para Minecraft y parecían legítimos, ya que varias cuentas los habían marcado como favoritos.

Los repositorios contenían varios archivos jar maliciosos, cuyos nombres solían suplantar diversas herramientas de trampa y automatización. A continuación se enumeran los nombres de los archivos detectados:

  • FunnyMap-0.7.5.jar
  • Oringo-1.8.9.jar
  • Oringo-Client.1.8.9.jar
  • Polar-1.8.9.jar
  • PolarClient-v2.6.jar
  • SkyblockExtras-1.8.9.jar
  • Taunahi-V3.jar

Este descargador de Java no es detectado por todos los motores antivirus de VirusTotal, ya que está especialmente dirigido a los usuarios de Minecraft y los motores sandbox no contienen las dependencias necesarias, lo que permitirá que se ejecute el malware.

Si bien tenemos poca información sobre el atacante, una cosa es consistente con respecto a sus confirmaciones: todas se realizan en la zona horaria UTC+3 y los comentarios rusos encontrados en algunos archivos maliciosos sugieren además el probable país de origen.

Descripción general del malware

La cadena de infección comienza con un archivo JAR alojado, que la víctima debe descargar e instalar manualmente como un mod de Minecraft («mod» es una abreviatura de «modificación», que consiste en una adición o alteración de la versión original creada por el usuario.

Los mods pueden añadir nuevas funciones, mejorar la experiencia de juego y personalizar la experiencia del jugador). Cuando la víctima inicia el juego, el mod malicioso descarga el ladrón de segunda etapa, que a su vez descarga otro ladrón de .NET. El malware está desarrollado por una empresa rusa.

Parte I: análisis estático – cargador de la primera etapa

El archivo JAR inicial está diseñado como un mod de Minecraft Forge. No incluye el atributo Main-Class en el manifiesto, por lo que ejecutar «java -jar » desde la línea de comandos no funciona.

Los nombres de los paquetes de las dos primeras etapas son me.baikal.club, que hacen referencia a Baikal, el lago más profundo del mundo, ubicado en la parte asiática de Rusia.

Para desarrollar mods personalizados, el desarrollador debe respetar una estructura específica e incluir dependencias específicas. La clase principal @Mod contiene una referencia a IFMLLoadingPlugin. Las siglas FML significan Cargador de Mods de Forge.

El cargador implementa técnicas sencillas de anti-VM y anti-análisis. Inicialmente, el cargador obtiene los nombres de las tres siguientes propiedades (los resultados equivalen a llamar a «java -XshowSettings:properties -version»).

  • os.name
  • java.vm.name
  • java.vm.vendor

Si alguna de las configuraciones mencionadas contiene una palabra clave bloqueada (relacionada con varias máquinas virtuales), el malware (mod de Minecraft) se autoelimina. Esta es la lista de palabras clave bloqueadas:

  • vmware
  • virtualbox
  • kvm
  • qemu
  • hyperv
  • xen
  • parallels
  • vbox
  • vpc
  • vboxguest
  • sshd
  • headd

A continuación, se llama a la utilidad de lista de tareas para listar todos los procesos en ejecución. Si se detecta alguno de los procesos bloqueados, se finaliza la ejecución del mod.

Estos procesos están asociados con máquinas virtuales (VBox, Parallels, VMware), analizadores de protocolos (Wireshark, HTTP Debugger) y programas para listar conexiones de red (TCPView).

Esta es la lista de procesos bloqueados:

  • VBoxTray.exe
  • VBoxService.exe
  • prl_cc.exe
  • prl_tools.exe
  • SharedIntApp.exe
  • vmusrvc.exe
  • vmsrvc.exe
  • vmtoolsd.exe
  • Wireshark.exe
  • HTTPDebuggerUI.exe
  • HTTPDebuggerSvc.exe
  • tcpview.exe

Tras superar las comprobaciones anteriores, la primera etapa descarga el contenido de un archivo paste de Pastebin.

El contenido codificado en base64 se decodifica y el malware recupera un enlace para la segunda etapa. El descargador carga en memoria el Java Stealer llamado MixinLoader-v2.4.jar.

Curiosamente, el archivo paste fue creado por el usuario JoeBidenMama, quien creó tres pastes más:

  • Google statistics 3 (plaintext)
  • Google statistics 2 (Base64 Encoded)
  • Google statistics (plaintext)
  • Google statistics (plaintext)

La columna «HITS» de Pastebin muestra cuántas veces se ha visto o descargado el archivo paste. Esto nos da una estimación aproximada del número máximo de víctimas que podrían haber sido atacadas o infectadas, ya que se accede al archivo paste cada vez que se ejecuta el plugin infectado.

Check Point Research siguió monitoreando esta cuenta y descubrió que se añadían más campañas y URL de paste, con un número total de visitas superior a 1500

Parte II: análisis dinámico – cargador de la primera etapa

Para añadir mods a un juego de Minecraft, el usuario debe copiar el archivo JAR malicioso en la carpeta de mods de Minecraft.

Tras iniciar el juego, el proceso de Minecraft cargará todos los mods de la carpeta, incluido el malicioso, que descargará y ejecutará la segunda etapa.

Para ejecutar el malware dinámicamente, decidimos instalar Legacy Launcher. Se requiere Minecraft Forge versión 1.8.9, ya que los metadatos del archivo mcmod.info del archivo JAR revelan que nuestro plugin malicioso requiere este cargador.

Por lo tanto, todo lo que necesitamos hacer es ejecutar el cliente de Minecraft e instalar el tipo y la versión adecuados del cargador de mods.

Una vez completada la instalación, podemos copiar nuestro archivo JAR malicioso al directorio de mods (.tlauncher\legacy\Minecraft\game\mods) e ingresar al juego, lo que activará nuestro mod malicioso.

Al ejecutar el complemento JAR malicioso en una máquina virtual, observamos la ejecución de la lista de tareas justo antes de que el complemento malicioso finalice debido a la detección del entorno virtual.

Para fines de demostración, editamos el mod JAR original para ejecutar el bloc de notas en lugar de la lista de tareas. Al ejecutar este mod modificado, se ejecuta Notepad, como se muestra en la animación a continuación.

Parte III: stealer de 2° etapa

Cuando el cargador supera todas las comprobaciones del entorno, carga el componente principal, el Stealer. Algunas muestras pueden estar ofuscadas con Skidfuscator. Las clases y funciones interesantes del Stealer se muestran en la lista a continuación.

  • Clase Baikal: una clase que implementa las acciones realizadas en la etapa de preinicialización.
  • Método: init: no implementado.
  • Método: preInit: ejecuta el método start() de la clase Start.
  • Inicio de clase
  • Método: iniciar
    • Descargar y ejecutar .NET Stealer
    • Obtener la IP externa de checkip.amazonaws.com
    • Robar
  • Token de Minecraft
  • Archivo accounts.json del cliente/lanzador Feather
  • Archivo microsoft_accounts.jcon del cliente/lanzador Essential
  • Archivo accounts.json del cliente/lanzador Lunar
  • Token de Discord
  • Telegram
  • Token de pizzaclient
  • Nombre de usuario
  • ID del jugador

  • El valor de tipo codificado se establece en b0.5, que probablemente sea una versión del ladrón.
  • OBTENER la URL de exfiltración de Pastebin (hxxps://pastebin[.]com/raw/C9QvUqi3).
  • PUBLICAR los datos robados en formato JSON.

Clase SSHaccess: clase responsable de descargar y ejecutar otro archivo (un ladrón de archivos .NET), que se analiza con más detalle en la sección IV.

  • Método: descargarArchivo
  • Método: ejecutarArchivo

Clase Discord: clase responsable de robar tokens de Discord. Lista los archivos en %APPDATA%/discord/Almacenamiento local/leveldb, lee el contenido de los archivos con la extensión .ldb y busca tokens.

  • Método: robarDiscord

Clase HTTP: clase auxiliar que implementa solicitudes GET y POST.

  • Método: fetchURL: solicitud GET.
  • Método: post: solicitud POST.

Clase Telegram: clase responsable de robar datos de Telegram. Encuentra la carpeta tdata de Telegram, la comprime y la extrae.

  • Método: execute.

Parte IV: 3° etapa del Stealer .NET

La clase SSHaccess se encarga de descargar un Stealer adicional escrito en .NET y exfiltrarlo a un webhook de Discord.

Un webhook es una herramienta que permite a servicios o aplicaciones externas enviar mensajes, notificaciones o datos a un canal específico de Discord sin necesidad de iniciar sesión con un bot o una cuenta de usuario.

Después de la desofuscación podemos observar que roba varias credenciales de navegadores (Chromium, Edge, Firefox), archivos (Escritorio, Documentos, %USERPROFILE%/Source), billeteras de criptomonedas (Armory, AtomicWallet, BitcoinCore, Bytecoin, DashCore, Electrum, Ethereum, LitecoinCore, Monero, Exodus, Zcash, Jaxx), VPN (ProtonVPN, OpenVPN, NordVPN), Steam, Discord, FileZilla, Telegram, así como también recopila información sobre la máquina infectada, como procesos en ejecución, IP externa, contenido del portapapeles y toma una captura de pantalla.

Los datos robados se comprimen y, junto con las siguientes estadísticas, se comentan en ruso y se cargan en el webhook de Discord.

«\n <@&945424667102031903> fixed file size\n «,
Environment.UserName,
» «,
SystemInfo.Country(),
«\n ————————-\n пассвордс: «,
Counting.Passwords.ToString(),
«\n ————————-\n спиздил:»,
(Counting.Discord > 0) ? «\n – дискорд» : «»,
(Counting.Wallets > 0) ? «\n – холодки» : «»,
(Counting.Telegram > 0) ? «\n – тг» : «»,
(Counting.Steam > 0) ? «\n – стеме» : «»,
(Counting.NordVPN > 0) ? «\n – нордвпн» : «»,
(Counting.OpenVPN > 0) ? «\n – открытьвпн» : «»,
(Counting.ProtonVPN > 0) ? «\n – протонвпн» : «»

Conclusión

Un nuevo descargador de malware basado en Java ha permanecido prácticamente desapercibido durante un la rgo periodo.

Camuflados como mods de Minecraft, estos archivos maliciosos de Java suelen evadir el análisis de sandbox debido a la falta de dependencias. La red Stargazers Ghost ha estado distribuyendo activamente este malware, dirigido a jugadores de Minecraft que buscan mods para mejorar su experiencia de juego.

Lo que parecían ser descargas inofensivas eran, en realidad, cargadores basados en Java que implementaban dos ladrones adicionales, capaces de exfiltrar credenciales y otros datos confidenciales.

El actor de amenazas detrás de estas campañas probablemente sea de origen ruso. Este caso pone de manifiesto cómo las comunidades de jugadores populares pueden ser explotadas como vectores eficaces para la distribución de malware, lo que enfatiza la importancia de tener precaución al descargar contenido de terceros.

Redacción ebizLatam
Redacción ebizLatamhttp://www.ebizlatam.com
Desde la redacción de ebizLatam gestionamos todos los contenidos del portal pionero sobre tecnología y negocios América Latina.
ARTÍCULOS RELACIONADOS

DEJA UNA RESPUESTA

Por favor ingrese su comentario!
Por favor ingrese su nombre aquí

mas leídas