GachiLoader

De CiberWiki

GachiLoader

GachiLoader es un cargador de malware altamente ofuscado escrito en Node.js, descubierto por Check Point Research en diciembre de 2025 como parte de una campaña masiva de distribución a través de la denominada "YouTube Ghost Network" . Esta red, compuesta por cuentas de YouTube comprometidas, publicó más de 100 vídeos promocionando "cracks" de software y trucos para videojuegos, acumulando aproximadamente 220.000 visualizaciones entre diciembre de 2024 y la fecha del informe . Los usuarios eran engañados para descargar archivos comprimidos con contraseña desde plataformas de alojamiento externas, con instrucciones que incluían desactivar Microsoft Defender, lo que permitía al cargador ejecutarse sin interferencias .

GachiLoader está empaquetado mediante nexe en un ejecutable autónomo de entre 60 y 90 MB que incluye el entorno de ejecución de Node.js, haciéndolo indistinguible de un instalador legítimo . Su código JavaScript está profundamente ofuscado y emplea múltiples mecanismos antianálisis: verifica la RAM (mínimo 4 GB), el número de núcleos de CPU, los nombres de usuario y host contra listas de exclusión, y examina procesos en busca de herramientas de virtualización . Si detecta un entorno de análisis, el malware entra en un bucle infinito de solicitudes HTTP a sitios benignos; en caso contrario, intenta elevar privilegios mediante un engañoso cuadro de diálogo UAC, desactiva el proceso SecHealthUI.exe de Microsoft Defender y añade exclusiones para directorios críticos, garantizando que los payloads posteriores no sean escaneados .

El cargador entrega su carga útil final mediante dos variantes: una que descarga directamente el ladrón Rhadamanthys desde un servidor C2, y otra que despliega un cargador secundario llamado Kidkadi (archivo .node) . Kidkadi implementa una técnica novedosa de inyección PE denominada "Vectored Overloading", que abusa del mecanismo de manejo de excepciones vectorizadas (VEH) de Windows: primero carga una DLL legítima (por ejemplo, wmp.dll o amsi.dll) y, mediante breakpoints de hardware en funciones como NtOpenSection y NtMapViewOfSection, reemplaza en memoria su contenido por el payload malicioso, engañando al cargador de Windows para que ejecute código arbitrario desde un binario legítimo .

Funcionamiento de GachiLoader

Cadena de distribución e infección

La campaña de GachiLoader se apoya en la "YouTube Ghost Network", un conjunto de cuentas de YouTube comprometidas que publican vídeos promocionando software pirateado o trucos para juegos . Los vídeos incluyen enlaces a archivos comprimidos alojados en plataformas externas, con contraseñas proporcionadas en la descripción y, frecuentemente, instrucciones para desactivar Windows Defender antes de la ejecución . El archivo descargado contiene un ejecutable empaquetado con nexe, que integra tanto el código JavaScript ofuscado como el entorno de ejecución Node.js, lo que lo hace ejecutable en sistemas sin Node.js instalado y le otorga un tamaño de 60-90 MB que ayuda a disimular su naturaleza maliciosa .

Mecanismos de evasión y antianálisis

Al ejecutarse, GachiLoader implementa una batería de comprobaciones diseñadas para frustrar entornos de análisis y soluciones de seguridad :

  • Verificación de recursos del sistema: Comprueba que la máquina tenga al menos 4 GB de RAM y 2 núcleos de CPU, descartando así entornos virtuales o sandboxes con recursos limitados .
  • Inspección de procesos y nombres: Busca procesos asociados a herramientas de análisis, máquinas virtuales y nombres de usuario o host en una lista de exclusión codificada .
  • Consulta WMI: Utiliza PowerShell para enumerar conectores de puertos, fabricantes de discos y controladores de vídeo, identificando así características típicas de entornos virtualizados .
  • Detección de sandbox: Si se detecta un entorno de análisis, el malware entra en un bucle infinito de solicitudes HTTP GET a sitios legítimos como LinkedIn o Twitter, deteniendo su ejecución maliciosa .
  • Elevación de privilegios mediante ingeniería social: Ejecuta el comando net session para verificar si tiene privilegios de administrador; si no, lanza un cuadro de diálogo UAC que, al ser aprobado por el usuario (confundido por el contexto del "instalador legítimo"), eleva los privilegios del malware .
  • Desactivación de Microsoft Defender: Finaliza el proceso SecHealthUI.exe y añade exclusiones a las rutas C:\Users, C:\ProgramData y C:\Windows para evitar que el antivirus escanee los payloads posteriores .

Entrega de payloads: dos variantes

El cargador recopila información del sistema (versión del SO, productos antivirus instalados) y la envía mediante una petición HTTP POST al endpoint /log de su infraestructura C2 . A partir de ahí, se distinguen dos variantes de entrega:

  1. Variante remota: GachiLoader contacta con el servidor C2 (con autenticación mediante cabeceras X-Secret) y descarga el payload final directamente desde una URL remota. El ejecutable descargado suele imitar aplicaciones legítimas como KeePass.exe o GoogleDrive.exe y está protegido con empaquetadores comerciales como VMProtect y Themida . En todos los casos analizados, el payload final fue el ladrón de información Rhadamanthys .
  2. Variante con Kidkadi (Vectored Overloading): En otras muestras, GachiLoader no contacta con un C2 externo, sino que escribe en disco un archivo kidkadi.node (un módulo nativo de Node.js, equivalente a una DLL) que contiene el payload malicioso embebido en su código fuente . Este módulo se encarga de ejecutar el payload mediante una técnica novedosa de inyección PE denominada "Vectored Overloading" .

La técnica Vectored Overloading

Vectored Overloading es una técnica de inyección de código que abusa del mecanismo de Manejo de Excepciones Vectorizadas (VEH) de Windows para engañar al cargador del sistema . Su flujo de ejecución es el siguiente:

  1. Creación de la sección maliciosa: El malware crea una nueva sección con la bandera SEC_IMAGE a partir de una DLL legítima (por ejemplo, wmp.dll) y sobrescribe su contenido con el PE malicioso que desea inyectar .
  2. Registro de un VEH: Se registra un manejador de excepciones vectorizadas que interceptará eventos de hardware .
  3. Establecimiento de breakpoints de hardware: El malware configura breakpoints de hardware (HWBP) en funciones críticas del cargador de Windows: NtOpenSection y NtMapViewOfSection .
  4. Carga de una DLL legítima (el señuelo): El malware llama a LoadLibrary para cargar amsi.dll. Internamente, el cargador de Windows llama a NtOpenSection para abrir la sección de amsi.dll, lo que activa el breakpoint y, por tanto, el VEH .
  5. Intercepción y sustitución: El VEH intercepta la llamada a NtOpenSection y reemplaza el identificador de sección (section handle) que devolvería la API por el de la sección maliciosa creada en el paso 1. Además, avanza el puntero de instrucción (eip) para omitir la llamada real al kernel, simulando la API .
  6. Mapeo del payload malicioso: Cuando el cargador de Windows llama a NtMapViewOfSection para mapear la sección en memoria, otro breakpoint activa el VEH, que sustituye los argumentos de salida por los de la sección maliciosa. De este modo, el cargador cree estar mapeando amsi.dll, pero en realidad está mapeando el código malicioso .
  7. Finalización y ejecución: Tras el mapeo, la entrada del PE malicioso es invocada o, si se trata de una DLL, se resuelven sus exportaciones para su ejecución .

Esta técnica ofrece ventajas significativas sobre la inyección clásica (RunPE): el payload aparece respaldado por una DLL legítima (wmp.dll en la vista de memoria), el cargador de Windows se encarga de resolver importaciones y callbacks TLS, y al emular las llamadas al kernel se evitan eventos ETWti que las soluciones de seguridad podrían monitorizar .

Impacto y consecuencias de GachiLoader

Escala de la campaña y alcance

La campaña de GachiLoader ha tenido un alcance considerable desde su inicio en diciembre de 2024, con más de 100 vídeos publicados en 39 cuentas de YouTube comprometidas que acumularon aproximadamente 220.000 visualizaciones . Aunque la mayoría de los vídeos han sido eliminados tras la denuncia de Check Point, se espera que los operadores continúen utilizando nuevas cuentas comprometidas para perpetuar la campaña, dada su persistencia operativa de al menos nueve meses . El vector de distribución basado en YouTube explota la confianza inherente que los usuarios depositan en la plataforma, lo que incrementa significativamente la tasa de éxito de la ingeniería social frente a métodos tradicionales como el correo electrónico de phishing .

Consecuencias para las víctimas

El payload final de la cadena de infección, el ladrón Rhadamanthys, está diseñado para exfiltrar credenciales almacenadas en navegadores, carteras de criptomonedas, datos de autenticación y otra información sensible, causando graves problemas de privacidad, pérdidas económicas y robo de identidad . Además, el carácter de "cargador" de GachiLoader implica que podría ser utilizado para distribuir cualquier tipo de malware (ransomware, mineros de criptomonedas, troyanos bancarios), lo que amplifica el daño potencial en función de las cargas futuras . La capacidad del malware para desactivar Microsoft Defender y elevar privilegios garantiza que las defensas nativas del sistema sean neutralizadas, facilitando una infección persistente y de larga duración que podría pasar desapercibida para el usuario .

Implicaciones para la defensa y la investigación

La adopción de Node.js como plataforma para el desarrollo de malware representa un cambio de paradigma que complica la detección tradicional basada en firmas de binarios PE o scripts PowerShell . El código JavaScript, altamente ofuscado, dificulta el análisis estático, y el empaquetado con nexe produce binarios de gran tamaño que pueden eludir escáneres basados en huellas de archivos pequeños . La técnica de inyección Vectored Overloading supone una evolución significativa de los métodos de inyección PE, demostrando un profundo conocimiento de los internals de Windows y una capacidad de innovación que obliga a los equipos de seguridad a monitorear el abuso de VEH y breakpoints de hardware en procesos legítimos .

Impacto en la comunidad de investigación y la industria

El desarrollo por parte de Check Point Research de una herramienta open-source de trazado de API para Node.js (Nodejs-Tracer) responde a la necesidad de adaptar las técnicas de análisis a esta nueva generación de malware, y su liberación beneficia a toda la comunidad de investigación . La campaña subraya la importancia de que los usuarios desconfíen de ofertas de software "gratuito" o "pirateado" en plataformas como YouTube, y de que las organizaciones implementen controles de ejecución de aplicaciones (allowlisting) para restringir la ejecución de Node.js y módulos nativos (.node) en endpoints sin necesidad comercial justificada .

Origen y motivación de GachiLoader

El malware GachiLoader fue descubierto por Check Point Research en diciembre de 2025 como parte de la campaña "YouTube Ghost Network", una infraestructura de distribución que utiliza cuentas de YouTube comprometidas para engañar a usuarios en busca de software pirateado y trucos para videojuegos . Su origen se atribuye a actores de cibercrimen con motivación económica, ya que su propósito principal es actuar como cargador para desplegar el ladrón de información Rhadamanthys, diseñado para robar credenciales bancarias, carteras de criptomonedas y datos personales que luego son monetizados en el mercado negro . La sofisticación técnica del malware, que incluye una inyección PE mediante Vectored Overloading y una profunda ofuscación en Node.js, indica que los desarrolladores cuentan con conocimientos avanzados de los internals de Windows y buscan evadir las soluciones de seguridad tradicionales para maximizar el beneficio económico de sus operaciones .