Introducción

Desde marzo de 2026, el grupo Toy Ghouls (también conocido como Bearlyfy o Labubu) está utilizando un ransomware personalizado llamado GenieLocker para atacar organizaciones en la Federación Rusa, principalmente del sector manufacturero. A diferencia de sus operaciones previas —que dependían de troyanos de terceros como RedAlert, LockBit o Babuk—, esta vez implementan su propia familia de malware, compilada en PE para Windows y ELF para Linux/ESXi. El vector inicial de infección en un caso documentado por Kaspersky fue una conexión OpenVPN desde la red de un socio externo, aprovechando credenciales robadas pero aún válidas.

La particularidad de GenieLocker radica en su diseño modular y en el uso de técnicas de evasión avanzadas, como la validación de argumentos secretos en hexadecimal, chequeos de depuración en tiempo real y listas de exclusión para evitar dañar el sistema operativo. Además, no deja notas de rescate en el sistema: los atacantes las entregan manualmente durante el ataque, lo que dificulta su detección proactiva.

Qué ocurrió

En el incidente analizado por Kaspersky a fines de marzo de 2026, los atacantes accedieron a la red víctima a través de OpenVPN, utilizando credenciales robadas de un partner de confianza. Una vez dentro, desplegaron herramientas legítimas para moverse lateralmente y preparar el terreno:

  • SoftPerfect Network Scanner para descubrimiento de hosts.
  • Mimikatz para volcar credenciales de memoria.
  • KeePassXC (ya instalado en algunas máquinas) para extraer contraseñas almacenadas en sus bases de datos.
  • OpenSSH y socks5.exe para establecer túneles de comunicación.

El movimiento lateral se realizó mediante RDP en Windows y SSH en Linux, mientras que la distribución masiva del ransomware se hizo con PsExec y PAExec. En la fase de impacto, los atacantes:

  1. Detuvieron máquinas virtuales activas en servidores ESXi y Linux.
  2. Cifraron los discos con la variante ELF de GenieLocker.
  3. En Windows, usaron la variante PE para cifrar archivos, excluyendo carpetas críticas del sistema (como Windows, Program Files, System Volume Information).

Un detalle clave: no hubo exfiltración de datos, alineado con el modus operandi histórico de Toy Ghouls, que no opera bajo el modelo de doble extorsión ni mantiene un sitio de fugas.

Impacto para DevOps / Infraestructura / Cloud / Seguridad

El ransomware GenieLocker representa un riesgo medio-alto para entornos híbridos (Windows/Linux/ESXi) por tres razones:

  1. Alcance multiplataforma: Las variantes ELF afectan a servidores Linux y ESXi, lo que permite a los atacantes cifrar tanto hosts como máquinas virtuales en un mismo ataque. En el caso documentado, se detuvieron VMs antes de cifrar, lo que incrementa el tiempo de inactividad.
  2. Uso de herramientas legítimas: La dependencia de utilidades como PsExec, PAExec y OpenSSH complica la detección, ya que estas herramientas son comunes en operaciones de administración.
  3. Evasión de análisis: La validación de un argumento secreto en hexadecimal (hasta 4096 bytes) y los chequeos de depuración en tiempo real (cada 500 ms) reducen la efectividad de sandboxes y soluciones de análisis automático.

El CVSS base score no fue publicado oficialmente, pero la combinación de acceso inicial vía VPN, movimiento lateral y cifrado de discos sugiere un impacto crítico en disponibilidad (CIA triada). En el incidente de marzo, se vieron afectados servidores de producción y almacenes de datos, con un tiempo de recuperación estimado en días, no horas.

Detalles técnicos

Arquitectura y componentes

  • Windows (PE): Escrito principalmente en C, compilado con Microsoft Visual C/C++ y librerías C++. Usa libsodium (versión no especificada, pero compatible con la 1.0.18+) para operaciones criptográficas.
  • Linux/ESXi (ELF): Implementado en Rust (versión no confirmada, pero con dependencias de libsodium-sys para el binding con libsodium).
  • Tamaño de muestras:
– Windows: MD5 5d62c1349b8981c396c9a23f4f8f053c (tamaño: ~1.2 MB).

– Linux/ESXi: No se proporcionaron hashes, pero se confirmaron muestras de ~800 KB.

Mecanismos de evasión

  1. Argumento secreto:
– El malware requiere un hex string como primer argumento (ejemplo: genielocker.exe 5d62c1...).

– Este valor se hashea con SHA-256 y se compara con un hash hardcodeado. Si coincide, se appendeara la cadena session y se hashea con BLAKE2b-256 (aunque el resultado no se usa, sugiere una funcionalidad en desarrollo).

– Propósito: Evitar ejecución en entornos controlados (sandboxes) o uso no autorizado por otros grupos.

  1. Detección de depuración:
Chequeo inicial: Usa IsDebuggerPresent y CheckRemoteDebuggerPresent al inicio.

Watchdog thread: Se ejecuta en un bucle infinito cada 500 ms con:

– Verificación de debuggers conocidos (ej: x64dbg, OllyDbg).

– Cálculo de CRC32 de la sección .text del proceso. Si el hash cambia (por modificación en memoria), el malware se termina.

– Uso de NtQueryInformationProcess para detectar depuradores ocultos.

  1. Listas de exclusión:
Carpetas: Windows, Program Files, System Volume Information, Boot, Intel, PerfLogs.

Archivos: ntuser.dat, iconcache.db, thumbs.db.

Extensiones: .exe, .dll, .sys, .lnk, .ini, .log.

Hostnames: Lista vacía en la muestra analizada, pero el código sugiere soporte para excluir hosts específicos.

Proceso de cifrado

  1. Preparación:
– Finaliza procesos que podrían bloquear archivos (ej: sqlserver.exe, oracle.exe, mysqld.exe).

– Detiene servicios críticos con ControlService y el código SERVICE_CONTROL_STOP.

– Lista de procesos a matar:

     sqlservr.exe, oracle.exe, mysqld.exe, postgresql.exe, mssql.exe,
     vssvc.exe, sqlagent.exe, dbsnmp.exe, synctime.exe, agntsvc.exe,
     isqlplussvc.exe, xfssvccon.exe, mydesktopservice.exe, ocautoupds.exe
     
  1. Cifrado:
– Usa libsodium con el algoritmo XChaCha20-Poly1305 (stream cipher autenticado).

– Extensión de archivos cifrados: .03ffc1c4a3da0f02 (hardcodeada en la muestra).

– Para cada archivo, crea dos archivos auxiliares:

Lock file: Almacena el PID del proceso (GetCurrentProcessId) para evitar cifrado duplicado.

Journal file: Contiene el string VCJOURN, versión (1), campos reservados, bloques totales a cifrar y bloques cifrados. Incluye un CRC32 para validar integridad.

Qué deberían hacer los administradores y equipos técnicos

Detección y prevención

  1. Monitoreo de herramientas legítimas:
– Auditar el uso de PsExec, PAExec, OpenSSH y socks5.exe en la red. Ejemplo de regla Sigma para detectar PsExec sospechoso:
     title: PsExec Execution from Unusual Location
     description: Detects PsExec being run from non-standard paths
     status: experimental
     author: Your Team
     logsource:
       category: process_creation
       product: windows
     detection:
       selection:
         Image|endswith: '\PsExec.exe'
         CommandLine|contains: '-accepteula'
       filter:
         Image|startswith: 'C:\Windows\System32\'
       condition: selection and not filter
     

– Usar Wazuh o Elastic SIEM para correlacionar eventos de process_creation con network_connection.

  1. Restricción de acceso VPN:
– Revisar logs de OpenVPN para conexiones desde IPs no autorizadas o socios externos. Ejemplo de comando para auditar:
     grep -E "auth-failure|client-connect" /var/log/openvpn.log | awk '{print $1, $2, $NF}'
     

– Implementar MFA para todas las conexiones VPN, incluso para partners.

  1. Protección de credenciales:
Mimikatz: Bloquear su ejecución con AppLocker o Windows Defender ASR (regla Block credential stealing from the Windows local security subsystem).

KeePassXC: Deshabilitar la opción «Remember password» y forzar el uso de claves maestras complejas + archivos clave (keyfile).

Mitigación en Linux/ESXi

  1. Hardening de SSH:
– Deshabilitar root login y usar claves SSH en lugar de contraseñas:
     sed -i 's/PermitRootLogin yes/PermitRootLogin no/' /etc/ssh/sshd_config
     sed -i 's/#PasswordAuthentication yes/PasswordAuthentication no/' /etc/ssh/sshd_config
     systemctl restart sshd
     

– Limitar accesos con fail2ban:

     apt install fail2ban
     systemctl enable fail2ban
     
  1. Protección de ESXi:
– Deshabilitar SSH en hosts ESXi no críticos:
     esxcli system settings advanced set -o /UserVars/ESXiShellInteractiveActive -i 0
     

– Usar VMware NSX o firewalls de red para segmentar el tráfico entre VMs.

  1. Detección de GenieLocker:
– Buscar archivos con extensión .03ffc1c4a3da0f02 o patrones de lock/journal files:
     find / -type f \( -name "*.03ffc1c4a3da0f02" -o -name "VCJOURN*" \) -exec ls -la {} \;
     

– Monitorear procesos con YARA (regla de ejemplo para la variante Windows):

     rule GenieLocker_PE {
       meta:
         description = "Detects GenieLocker Windows variant"
         author = "Your Team"
       strings:
         $hex_arg = "secret argument" nocase
         $libsodium = "libsodium" nocase
         $ext = ".03ffc1c4a3da0f02" nocase
       condition:
         all of them
     }
     

Respuesta ante un incidente

  1. Aislamiento:
– Desconectar de la red los hosts con archivos cifrados o que hayan ejecutado PsExec/PAExec en las últimas 24 horas.

– Bloquear IPs de C2 (en el caso analizado, se usó un reverse SSH tunnel a una IP en 185.143.223[.]43).

  1. Recuperación:
– Restaurar desde backups offline (GenieLocker no borra backups, pero los cifra si están accesibles).

– Verificar integridad de los backups con:

     sha256sum /backup/path/* > /tmp/backup_hashes.txt
     

Conclusión

GenieLocker demuestra una evolución en las tácticas de Toy Ghouls: pasan de depender de ransomware de terceros a desarrollar su propia herramienta, con capacidades de evasión y cifrado robustas. Su uso de OpenVPN como vector inicial, herramientas legítimas para movimiento lateral y cifrado multiplataforma lo hace especialmente peligroso para entornos híbridos. Los equipos de seguridad deben priorizar:

  • La auditoría de accesos VPN y la implementación de MFA.
  • El monitoreo de herramientas como PsExec y SSH.
  • La segmentación de redes para limitar el movimiento lateral.
  • La detección temprana mediante reglas YARA y Sigma.

La ausencia de exfiltración de datos no reduce el impacto: el cifrado de servidores críticos y VMs puede paralizar operaciones por días. La prevención, en este caso, es la mejor defensa.

Fuentes

https://securelist.com/genielocker-ransomware-for-windows-linux-and-esxi/120843/

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *