MaaS Appeal: An Infostealer Rises From The Ashes By Jia Yu Chan, Elastic Security Labs Published: 2025-07-29 · Archived: 2026-04-05 22:40:48 UTC NOVABLIGHT de un vistazo NOVABLIGHT es un ladrón de información Malware-as-a-Service (MaaS) basado en NodeJS, desarrollado y vendido por un grupo de amenazas que demuestra dominio del idioma francés. Esto es evidente en sus discusiones y comunicaciones operativas en sus principales plataformas de ventas y soporte, Telegram y Discord. Según nuestro análisis de la última versión lanzada de NOVABLIGHT, el siguiente fragmento de código sugiere que Sordeal Group, el grupo detrás de Nova Sentinel y MALICORD, también es responsable de NOVABLIGHT. Se menciona a Sordeal Group, seguido de un enlace al canal de Telegram Conclusiones clave NOVABLIGHT es un ladrón de información descrito como una herramienta educativa, aunque los mensajes del canal de Telegram revelan información confidencial y capturas de pantalla sin redactar. Las licencias de NOVABLIGHT son válidas por hasta un año y los binarios se pueden generar a través de Telegram o Discord. Código muy ofuscado con muchas capacidades. Descubrimiento Elastic Security Labs identificó múltiples campañas que aprovechan descargas de instaladores de juegos de video falsos como señuelo de acceso inicial para infecciones MaaS de usuarios de Internet. En un ejemplo, la URL http://gonefishe[.]com aplicar al usuario descargar un binario e instalar una versión en francés de un juego con un nombre y una descripción comparables a uno lanzado recientemente en Steam. https://www.elastic.co/es/security-labs/maas-appeal-an-infostealer-rises-from-the-ashes Page 1 of 26 Página de destino para http://gonefishe . con Distribución, monetización y comunidad El grupo publicitó y vendió su producto en varias plataformas en línea, anteriormente Sellix y Sellpass y actualmente Billgang. Página de productos de NOVABLIGHT en Billgang El grupo vende una clave API, que caduca entre 1 y 12 meses. Esta clave se puede usar luego para crear una instancia de NOVABLIGHT a través de un bot de Telegram o mediante Discord. El grupo promueve un programa de referencia en su canal de Discord con claves API como recompensa. Los usuarios obtienen acceso a un panel alojado por el grupo que presenta la información recopilada de las víctimas. Se identificaron los siguientes dominios, aunque pueden existir otros: https://www.elastic.co/es/security-labs/maas-appeal-an-infostealer-rises-from-the-ashes Page 2 of 26 api.nova-blight[.]top shadow.nova-blight[.]top nova-blight[.]site nova-blight[.]xyz bamboulacity.nova-blight[.]xyz Algunas de las imágenes empleadas en el panel del tablero están alojadas en repositorios de GitHub asociados a diferentes cuentas, lo que ayudó a exponer más detalles sobre el grupo. Respuesta HTTP de https://shadow.nova-blight .arriba encontrado en VirusTotal La cuenta de GitHub KSCHcuck1 es un pseudónimo similar al del autor anterior de MALICORD, una versión gratis de la primera versión del ladrón que estaba alojada en GitHub bajo la cuenta KSCH-58 (ENLACE AL ARCHIVO SITIO WEB). La cuenta X @KSCH_dsc también tenía similitudes y estaba promocionando activamente su "mejor ladrón jamás lanzado" tan recientemente como en 2023. Se identificaron las siguientes cuentas de GitHub en relación con el grupo: https:\/\/github.com\/KSCHcuck1 https:\/\/github.com\/CrackedProgramer412\/caca https:\/\/github.com\/MYnva https:\/\/github.com\/404log (muerto) Su canal público de Telegram alberga tutoriales y una comunidad de usuarios. En la siguiente captura de imagen, los usuarios comparten capturas de pantalla del proceso de compilación. https://www.elastic.co/es/security-labs/maas-appeal-an-infostealer-rises-from-the-ashes Page 3 of 26 https://www.elastic.co/es/security-labs/maas-appeal-an-infostealer-rises-from-the-ashes Page 4 of 26 Capturas de pantalla de usuarios de la construcción de NOVABLIGHT Los usuarios del infostealer comparten abiertamente imágenes de artículos de lujo y transferencias de dinero, lo que es notable porque se describe que NOVABLIGHT tiene únicamente fines educativos. Imagen de teléfonos que un usuario de NOVABLIGHT afirma comprar, compartida a través de Telegram el 15 de mayo de 2025 Análisis NOVABLIGHT https://www.elastic.co/es/security-labs/maas-appeal-an-infostealer-rises-from-the-ashes Page 5 of 26 NOVABLIGHT es un ladrón de información modular y rico en funciones creado en NodeJS con el marco Electron. Sus capacidades van más allá del simple robo de credenciales e incorporan métodos de recopilación y exfiltración de datos, detección en entornos sandbox y ofuscación intensa. VirusTotal muestra una baja tasa de detección de NOVABLIGHT Un aspecto notable del proceso de construcción del malware es su configuración modular. Si bien un cliente puede elegir deshabilitar funciones específicas, el código subyacente para esas funciones permanece dentro de la carga útil final; está inactivo y no se ejecutará según los indicadores de configuración de la compilación. La lógica del recortador de billetera se puede ejecutar o no, según el campo de configuración swapWallet.active Los fragmentos de código de este reporte provienen de una muestra de la versión 2.0 no ofuscada, cuando los detalles de implementación coinciden con los de las muestras de la versión 2.2, o de nuestro código desofuscado manualmente de una muestra de la versión 2.2 cuando difieren. Estructura del código Desde la configuración inicial hasta el robo de datos, el ladrón de información está organizado en un proceso claro y de múltiples etapas gestionado por controladores de "flujo" de alto nivel. Las etapas principales son: flujo/inicio: Comprobaciones previas al vuelo (instancias en ejecución, privilegios de administrador, conectividad a Internet), comprobaciones de antianálisis, enumeración de información del sistema, establecimiento de persistencia, etc. flujo/inyección: Inyección y parcheo de aplicaciones (Atomic, Mullvad, Discord, …) fluir/agarrar: Recopilación de datos flujo/Portapapeles:Secuestro del portapapeles flujo/envío:Exfiltración de datos flujo/deshabilitar:Sabotaje del sistema (desactivar Windows Defender, anti-resetear del sistema, conectividad a Internet rota, …) flujo/limpieza: Limpieza posterior a la exfiltración https://www.elastic.co/es/security-labs/maas-appeal-an-infostealer-rises-from-the-ashes Page 6 of 26 Para obtener más información sobre la estructura del código, consulte este GitHub Gist, que enumera las dependencias directas de cada uno de los módulos principales y los flujos de ejecución de NOVABLIGHT. Detección anti-depuración y sandbox NOVABLIGHT incorpora múltiples técnicas para detectar y evadir entornos de análisis, combinando la toma de huellas ambientales con contramedidas activas. Estos controles incluyen: Detección de nombres de GPU relacionados con VM (vmware, virtualbox, qemu) Comprobación de nombres de usuario incluidos en la lista negra (sandbox, prueba, malware) Identificación de archivos de controlador específicos de la máquina virtual (balloon.sys, qemu-ga) Comprobación de baja resolución de pantalla y falta de dispositivos USB Consultar GitHub para obtener listas negras de IP, HWID, nombres de usuario, programas, organizaciones, nombres de GPU, nombres de PC y sistemas operativos Matar activamente herramientas de análisis y depuración conocidas que se encuentran en una lista remota Comprobaciones anti-depuración y anti-VM Las listas negras están alojadas en GitHub: https:\/\/raw.githubusercontent.com\/Mynva\/sub\/main\/json\/blocked_ips.json https:\/\/raw.githubusercontent.com\/Mynva\/sub\/main\/json\/blocked_progr.json https:\/\/raw.githubusercontent.com\/Mynva\/sub\/refs\/heads\/main\/json\/blockedorg.json https:\/\/raw.githubusercontent.com\/Mynva\/sub\/main\/json\/blocked_GPUTYPE.json https:\/\/raw.githubusercontent.com\/Mynva\/sub\/main\/json\/nope.json https:\/\/raw.githubusercontent.com\/Mynva\/sub\/main\/json\/blocked_hwid.json https:\/\/raw.githubusercontent.com\/Mynva\/sub\/main\/json\/blockedpcname.json https:\/\/raw.githubusercontent.com\/MYnva\/sub\/refs\/heads\/main\/json\/blockedOS.json Deshabilitar Defender e intentos de deshabilitar el Administrador de tareas https://www.elastic.co/es/security-labs/maas-appeal-an-infostealer-rises-from-the-ashes Page 7 of 26 NOVABLIGHT intenta deshabilitar Windows Defender y las funciones de seguridad de Windows relacionadas descargando y ejecutando un script por lotes, DisableWD.bat. de un repositorio público de GitHub. El malware afirma ser capaz de deshabilitar el Administrador de tareas, lo que dificulta que un usuario sin conocimientos técnicos identifique y finalice el programa malicioso. Emplea setValues del paquete regedit-rs para establecer el valor DisableTaskMgr en 1 bajo HKCU\\\\Software\\\\Microsoft\\\\Windows\\\\CurrentVersion\\\\Policies\\\\System . Deshabilitar el Administrador de tareas a través del registro Sin embargo, al observar el regedit-rs repositorio (v1.0.3 para que coincida), no hay funciones exportadas llamadas setValues , solo putValue . Es posible que esta funcionalidad no funcione como se espera. Fragmento de js-binding.js del repositorio de GitHub regedit-rs Deshabilitar el acceso a Internet Para interrumpir la conexión a Internet de la víctima, el malware emplea dos métodos distintos. El primero implica deshabilitar de forma persistente el adaptador Wi-Fi resetear repetidamente en un bucle rápido, empleando el paquete npm externo wifi-control y su función resetWiFi . https://www.elastic.co/es/security-labs/maas-appeal-an-infostealer-rises-from-the-ashes Page 8 of 26 Desactivar el adaptador Wi-Fi El segundo método deshabilita el adaptador de red principal “Ethernet” mediante el comando netsh , ejecutándolo cada 5 segundos para deshabilitar los intentos de reactivación. Deshabilitar el adaptador de red llamado “Ethernet” Derrotar la recuperación del sistema El malware puede sabotear la recuperación del sistema al deshabilitar el entorno de recuperación de Windows ( reagentc /disable ) y eliminar todas las instantáneas de volumen ( vssadmin delete shadows /all ) cuando la marca antireset está habilitada en la configuración. https://www.elastic.co/es/security-labs/maas-appeal-an-infostealer-rises-from-the-ashes Page 9 of 26 Deshabilitar la restauración del sistema Bloqueo de la eliminación de archivos Otra función de sabotaje del sistema que puede ser evidente para la víctima implica hacer que el archivo ejecutable del malware no se pueda eliminar modificando sus licencias de seguridad a través de icacls “${filePath}” /deny ${currentUser}:(DE,DC) , donde DE niega los derechos de eliminación y DC impide la eliminación a través de la carpeta principal y, opcionalmente, creando un cuadro de mensaje emergente que contiene un mensaje "troll". https://www.elastic.co/es/security-labs/maas-appeal-an-infostealer-rises-from-the-ashes Page 10 of 26 Impedir que el usuario actual elimine el ejecutable de malware Antes de bloquear, también ejecuta un comando de PowerShell para eliminar la cuenta de la víctima de los siguientes grupos del sistema: Administrators , Power Users , Remote Desktop Users , Administrateurs . Eliminar el usuario actual de los grupos de administradores Sustitución de la dirección del portapapeles El malware implementa un módulo "clipper" que monitorea activamente el portapapeles de la máquina en busca de direcciones Crypto o Paypal y las reemplaza con direcciones definidas en la configuración. Si el usuario que creó la carga útil no proporcionó sus propias direcciones, el malware emplea de forma predeterminada un conjunto codificado, presumiblemente controlado por los desarrolladores para capturar fondos de sus usuarios menos experimentados. https://www.elastic.co/es/security-labs/maas-appeal-an-infostealer-rises-from-the-ashes Page 11 of 26 Se emplean direcciones de respaldo si no se especifican en la configuración. Inyecciones de aplicación de electrones NOVABLIGHT puede inyectar código malicioso en varias aplicaciones populares basadas en Electron. Las cargas útiles se obtienen dinámicamente desde el punto final https://api.nova-blight[.]top/injections/*targeted_application*/*some_key* y están dirigidas a aplicaciones como: Cliente de Discord Cartera Exodus Cliente VPN de Mullvad Monedero atómico Cliente de email Mailspring Pudimos recuperar todos los módulos de un repositorio público de GitHub. La implementación de la inyección es un ejemplo tradicional de reempaquetado de Electron App: descomprimir el archivo ASAR, reescribir cualquier archivo fuente de destino y luego reempaquetarlo. Si observamos un ejemplo que involucra al cliente Mullvad, primero descomprime Program Files\\Mullvad VPN\\resources\\app.asar en un directorio temporal, obtiene una versión con puerta trasera de account.js desde https://api.nova-blight[.]top/injections/mullvad/dVukBEtL8rW2PDgkwdwfbNSdG3imwU8bZhYUygzthir66sXXUuyURunOin9s , sobreescribir el archivo fuente account.js y, finalmente, lo vuelve a empaquetar. Si bien aún podría funcionar para versiones anteriores de Mullvad, como 2025.4, Esto no parece funcionar en la última versión de Mullvad. https://www.elastic.co/es/security-labs/maas-appeal-an-infostealer-rises-from-the-ashes Page 12 of 26 Reempaquetado del cliente Mullvad En un caso similar para el cliente Exodus, los desarrolladores de NOVABLIGHT modificaron la función setPassphrase en el módulo principal de la aplicación Exodus, con funcionalidades adicionales de robo de credenciales. Así es como se ve main/index.js en una publicación legítima de Éxodo 25.28.4: Lógica original de main/index.js en el cliente Exodus En el index.js troyanizado, las contraseñas ingresadas por el usuario se filtran a través de webhooks de Discord configurables y Telegram, empleando la API oficial de Telegram o un proxy de API de Telegram personalizado. https://www.elastic.co/es/security-labs/maas-appeal-an-infostealer-rises-from-the-ashes Page 13 of 26 index.js troyanizado Extracción de datos confidenciales de Chrome Para atacar a los navegadores basados en Chromium (Brave, Chrome, Edge) que se ejecutan en la versión 137, el malware descarga un archivo zip que contiene una herramienta de descifrado de datos de Chrome desde https:\/\/github.com\/Hyutop\/pandakmc-auto-vote\/blob\/main\/bin.zip. https://www.elastic.co/es/security-labs/maas-appeal-an-infostealer-rises-from-the-ashes Page 14 of 26 Recuperación dinámica de la herramienta de descifrado de datos de Chrome El repositorio de GitHub intenta hacer pasar por una herramienta de gestión de votaciones de Minecraft. Repositorio de GitHub con un README falso Sin embargo, el archivo zip bin.zip contiene el código compilado (decrypt.exe y chrome_decrypt.dll) de la versión 0.11.0 del proyecto PoC del descifrador vinculado a la aplicación Chrome de xaitax. Herramienta de descifrado de aplicaciones de Chrome de xaitax Enumeración del sistema Una vez activo, NOVABLIGHT ejecuta un conjunto integral de funciones de enumeración del sistema diseñadas para crear un perfil completo de la máquina de la víctima y de la actividad del usuario. Cada módulo apunta a una pieza específica de información, que luego se almacena en un directorio local antes de cargar al servidor de comando y control. Los ingenieros de detección deben tener en cuenta las implementaciones específicas de cada técnica y qué fuentes de datos proporcionan suficiente visibilidad. captureSystemInfo() :Recopila especificaciones extensas de hardware y software para identificar el dispositivo. Esto incluye el ID de hardware (HWID), los modelos de CPU y GPU, el tamaño de RAM, la información del disco, la versión del sistema operativo Windows y una lista de todos los dispositivos USB conectados. Salida: *configured_path*/System Info.txt https://www.elastic.co/es/security-labs/maas-appeal-an-infostealer-rises-from-the-ashes Page 15 of 26 Recopilación de información del sistema captureScreen() :Captura una captura de pantalla completa del escritorio de la víctima, lo que proporciona información inmediata sobre la actividad actual del usuario. Método: emplea la biblioteca de captura de pantalla de escritorio . Salida: Un archivo de imagen con marca de tiempo (por ejemplo, `configured_path/hostname_2025-10- 26_14-30-00.png`). captureTaskList() :Obtiene una lista de todos los procesos que se están ejecutando actualmente para conocer la situación, lo que permite al atacante ver qué aplicaciones y herramientas de seguridad están activas. Método: ejecuta el comando tasklist /FO CSV /NH . Salida: *configured_path*/TaskManagerInfo.txt captureAVDetails() :Identifica el producto antivirus o de protección de puntos finales instalado consultando el Centro de seguridad de Windows. Método: ejecuta el comando de PowerShell Get-CimInstance -Namespace root/SecurityCenter2 - ClassName AntiVirusProduct | Format-List Salida: *configured_path*/Avdetails.txt captureClipboardContent() : Vuelca el contenido actual del portapapeles del usuario, que puede contener información transitoria y confidencial, como contraseñas o mensajes copiados. Método: ejecuta el comando de PowerShell Get-Clipboard . Salida: *configured_path*/Clipboard.txt captureWebcamVideo() :Graba de forma encubierta un video empleando la cámara sitio web principal del sistema, proporcionando información visual sobre la víctima y su entorno. Método: aprovecha la biblioteca direct-synch-show para la captura de video. Salida: *configured_path*/Bighead.avi captureWifiPasswords() :Exfiltra las contraseñas de todas las redes Wi-Fi almacenadas en el dispositivo, lo que permite un posible movimiento lateral o acceso a otras redes que emplea la víctima. Método: ejecuta el comando netsh wlan show profile *wifi_ssid* key=clear para cada perfil. Salida: *configured_path*/WifiPasswords.txt getFilesUrgents : Esta funcionalidad extrae archivos del disco según un conjunto de palabras clave como las siguientes: copia de seguridad, default, code, discord, token, passw, mdp, motdepasse, mot_de_passe, login, secret, account, acount, apacht, banque, bank, matamask, wallet, crypto, exdous, 2fa, a1f, memo, compone, finance, seecret, credit, cni, estos archivos se archivan como files.zip y luego se envían al C2. https://www.elastic.co/es/security-labs/maas-appeal-an-infostealer-rises-from-the-ashes Page 16 of 26 Recopilación de archivos importantes Exfiltración de datos Hay 3 canales para los datos robados: el panel sitio web oficial propiedad del grupo NOVABLIGHT, la API de webhook de Discord y la API de Telegram. El estado de estos canales es incierto, ya que la API de proxy principal y el panel sitio web están actualmente inactivos, lo que puede interrumpir la funcionalidad de los canales de Discord y Telegram si dependen de la misma infraestructura de proxy. El panel sitio web alguna vez fue el canal oficial de exfiltración, ya que se publicitaba como su principal plataforma de gestión de datos. Panel de control en el panel sitio web de NOVABLIGHT https://www.elastic.co/es/security-labs/maas-appeal-an-infostealer-rises-from-the-ashes Page 17 of 26 La implementación de Telegram primero intenta enviar los datos a una URL proxy configurada, el código verifica si la URL contiene la cadena req en este caso https://bamboulacity.nova-blight[.]xyz/req/dVukBEtL8rW2PDgkwdwfbNSdG3imwU8bZhYUygzthir66sXXUuyURunOin9s . Si la URL del proxy no está configurada o no cumple la condición, el módulo recurre a la comunicación directa con la API oficial de Telegram (en https://api.telegram[.]org/bot*token*/sendMessage ) empleando un userId, chatId y botToken configurados para enviar los datos robados. Canal de exfiltración de datos: Telegram A diferencia del módulo Telegram, la implementación del webhook de Discord es mucho más simple. Emplea una única URL para la exfiltración sin ningún mecanismo de respaldo. Las muestras analizadas emplearon consistentemente la URL de proxy personalizada para este propósito. https://www.elastic.co/es/security-labs/maas-appeal-an-infostealer-rises-from-the-ashes Page 18 of 26 Canal de exfiltración de datos: Discord NOVABLIGHT emplea una infraestructura redundante y de múltiples niveles. En lugar de depender de un único host de carga, lo que crearía un único punto de falla, el malware aprovecha una combinación de servicios legítimos de alojamiento de archivos de terceros y su propio backend dedicado. La siguiente es la lista extraída de dominios y puntos finales: https://bashupload[.]com https://litterbox.catbox[.]moe/resources/internals/api.php https://tmpfiles[.]org/api/v1/upload https://oshi[.]at/ http://sendfile[.]su/ https://wsend[.]net https://api.gofile[.]io/servers https://gofile[.]io/uploadFiles https://rdmfile[.]eu/api/upload https://bamboulacity.nova-blight[.]xyz/file/ Datos específicos NOVABLIGHT ejecuta rutinas específicas diseñadas para robar credenciales y archivos de sesión de una lista específica de software instalado. La lista seleccionada está disponible en este GitHub Gist. Técnicas de ofuscación Mapeo de matrices La primera técnica que hay que abordar es el uso del mapeo de matrices por parte del malware. El script inicializa una única matriz global grande __p_6Aeb_dlrArray con valores de diferentes tipos y codificaciones, lo que representa casi todos los valores literales empleados en el script. https://www.elastic.co/es/security-labs/maas-appeal-an-infostealer-rises-from-the-ashes Page 19 of 26 Matriz global principal empleada para búsquedas de valores Luego de sustituir las referencias del índice de la matriz, muchos fragmentos pequeños de cadenas que forman una cadena completa se dividen y concatenan en el tiempo de ejecución, pero en esta etapa, el número de versión de NOVABLIGHT se puede identificar fácilmente. Resultados luego de corregir la asignación de matriz para __p_6Aeb_dlrArray Codificación de cadenas La segunda técnica empleada para ocultar cadenas es el uso de la codificación base91. La función contenedora __p_xIFu_MAIN_STR se llama con un argumento entero. Cadenas ofuscadas El entero es un índice de una matriz secundaria que asigna __p_9sMm_array y que contiene cadenas codificadas. Recupera la cadena codificada y la pasa a la rutina de decodificación. __p_xIFu_MAIN_STR_decode . https://www.elastic.co/es/security-labs/maas-appeal-an-infostealer-rises-from-the-ashes Page 20 of 26 Matriz global empleada para la búsqueda por __p_xIFu_MAIN_STR __p_xIFu_MAIN_STR_decode Luego, lo decodificará empleando un alfabeto personalizado: vFAjbQox\>5?4K$m=83GYu.nBIh\