LummaStealer está cobrando una segunda vida junto a CastleLoader
Detection stack
- AIDR
- Alert
- ETL
- Query
Resumen
LummaStealer es un infostealer que ha resurgido tras una importante interrupción por parte de las fuerzas del orden en 2025. La actividad reciente pivota hacia CastleLoader, un cargador basado en scripts que entrega LummaStealer a través de señuelos de ingeniería social como software “cracked” falso y páginas CAPTCHA falsas. La cadena enfatiza la ejecución en memoria, la ofuscación agresiva y la infraestructura compartida entre ambas familias de malware. Los defensores pueden priorizar la búsqueda de comportamientos DNS inusuales, AutoIt rastros de ejecución y patrones comunes de persistencia.
Investigación
Los investigadores de Bitdefender analizaron muestras frescas y confirmaron CastleLoader como el principal mecanismo de entrega de LummaStealer. Escrito en AutoIt, el cargador realiza verificaciones de sandbox, establece persistencia en Local AppData, y genera una señal de red distintiva mediante repetidas consultas DNS fallidas. Los analistas también notaron superposición de infraestructura con los servicios vinculados a GrayBravo. Se extrajeron cadenas de línea de comandos relevantes y fragmentos de código para apoyar el desarrollo de reglas de detección.
Mitigación
Reduzca la exposición bloqueando las descargas de software pirateado, instaladores de juegos y otros paquetes de medios no confiables. Prevenga o controle estrictamente la ejecución de AutoIt scripts desconocidos y monitoree la creación de archivos bajo rutas nombradas CraftStitch Studios Inc. Implemente MFA y rote credenciales después de una sospecha de compromiso. Aplique controles de red para marcar o bloquear las consultas DNS fallidas características y la infraestructura IP maliciosa asociada.
Respuesta
Si se encuentran artefactos de CastleLoader o LummaStealer, aísle el host, detenga los AutoIt procesos sospechosos y elimine artefactos de persistencia de. Preserve evidencias recopilando la carga útil descargada, telemetría de red relevante y cualquier acceso directo creado. Restablezca las credenciales expuestas e invalide las sesiones de navegador activas. Actualice las detecciones utilizando los IOCs extraídos para identificar hosts adicionales afectados.
"graph TB %% Class definitions classDef action fill:#99ccff classDef tool fill:#ffcc99 classDef malware fill:#ff9999 classDef operator fill:#ff9900 classDef builtin fill:#cccccc %% Nodes u2013 Initial Access init_user_execution["<b>Acción</b> – <b>T1204 Ejecución del Usuario</b>: Las víctimas ejecutan software o instaladores de juegos/películas «cracks» falsos.<br/><b>Descripción</b>: Ejecución de código malicioso por parte del usuario."] class init_user_execution action init_mal_copy_paste["<b>Acción</b> – <b>T1204.004 Copiar y Pegar Malicioso</b>: Los usuarios siguen las instrucciones CAPTCHA de ClickFix para copiar y pegar comandos maliciosos.<br/><b>Descripción</b>: El atacante guía a la víctima a ejecutar código controlado por el atacante."] class init_mal_copy_paste action %% Nodes u2013 Loader Deployment loader_autoit["<b>Herramienta</b> – <b>T1059.010 Intérprete de AutoIt</b>: Script compilado de CastleLoader.<br/><b>Descripción</b>: Ejecuta código AutoIt fuertemente ofuscado."] class loader_autoit tool obfuscation["<b>Acción</b> – <b>T1027.009 Cargas Útiles Incrustadas</b>: El script AutoIt ofuscado oculta la carga útil maliciosa.<br/><b>Descripción</b>: Usa codificación y empaquetado para evadir el análisis."] class obfuscation action masquerading["<b>Acción</b> – <b>T1036 Menospreciar</b>: El cargador se disfraza como un instalador legítimo con extensiones de software comunes.<br/><b>Descripción</b>: Parece benigno al usuario y herramientas de seguridad."] class masquerading action %% Nodes u2013 Persistence persistence_shortcut["<b>Acción</b> – <b>T1547.009 Modificación de Accesos Directos</b>: Crea archivos .lnk y .url en la carpeta de Inicio.<br/><b>Descripción</b>: Persiste al iniciarse durante el inicio de sesión del usuario."] class persistence_shortcut action persistence_task["<b>Acción</b> – <b>T1053 Tarea Programada</b>: El script VBA registra una tarea programada para ejecución repetida.<br/><b>Descripción</b>: Ejecuta la carga útil en intervalos definidos."] class persistence_task action persistence_init["<b>Acción</b> – <b>T1037 Scripts de Inicialización de Inicio de Sesión</b> and <b>T1547.014 Configuración Activa</b>: Ejecuta scripts durante el inicio de sesión del usuario a través de claves de registro.<br/><b>Descripción</b>: Asegura que el código se ejecute en cada inicio de sesión."] class persistence_init action hijack_execution["<b>Acción</b> – <b>T1574 Secuestrar Flujo de Ejecución</b>: Carga reflexiva de la carga útil maliciosa en la memoria.<br/><b>Descripción</b>: Se ejecuta sin escribir archivos en el disco."] class hijack_execution action %% Nodes u2013 Defense Evasion defense_virtual["<b>Acción</b> – <b>T1497 Evasión de Virtualización/Sandbox</b> y <b>T1497.002 Verificaciones de Actividad de Usuario</b>: Detecta el entorno de análisis y aborta la ejecución.<br/><b>Descripción</b>: Evita la detección de sandbox."] class defense_virtual action defense_reflective["<b>Acción</b> – <b>T1620 Carga Reflexiva de Código</b>: Carga código a través de reflexión para ocultar actividad.<br/><b>Descripción</b>: Evita herramientas de análisis estático."] class defense_reflective action %% Nodes u2013 Command and Control c2_dga["<b>Acción</b> – <b>T1568.002 Algoritmos de Generación de Dominios</b>: Genera dominios pseudo-aleatorios causando consultas DNS fallidas.<br/><b>Descripción</b>: Proporciona puntos finales C2 dinámicos."] class c2_dga action c2_dns["<b>Acción</b> – <b>T1071.004 Protocolo DNS</b>: Comunica a través de consultas y respuestas DNS.<br/><b>Descripción</b>: Usa DNS en capa de aplicación para C2."] class c2_dns action c2_web["<b>Acción</b> – <b>T1102 Servicio Web</b>: Comunicación bidireccional a través de servicio web HTTPS.<br/><b>Descripción</b>: Sirve como canal principal C2."] class c2_web action %% Nodes u2013 Credential Access cred_browser["<b>Acción</b> – <b>T1555.003 Credenciales de Navegadores Web</b>: Roba contraseñas almacenadas, archivos de criptomonedero y datos de sesión.<br/><b>Descripción</b>: Extrae credenciales de Chrome, Firefox, etc."] class cred_browser action cred_cookie["<b>Acción</b> – <b>T1550.004 Cookie de Sesión Web</b>: Usa cookies robadas como material de autenticación alternativo.<br/><b>Descripción</b>: Reutiliza sesiones web válidas."] class cred_cookie action forge_cookie["<b>Acción</b> – <b>T1606.001 Forjar Credenciales Web</b>: Crea cookies falsificadas para suplantar a las víctimas.<br/><b>Descripción</b>: Permite acceso no autorizado a servicios web."] class forge_cookie action %% Nodes u2013 Exfiltration exfil_c2["<b>Acción</b> – <b>T1041 Exfiltración sobre Canal C2</b>: Envía datos recolectados a través del servicio web C2.<br/><b>Descripción</b>: Los datos salen de la red a través del mismo canal utilizado para comando y control."] class exfil_c2 action %% Connections u2013 Attack Flow init_user_execution –>|lleva_a| loader_autoit init_mal_copy_paste –>|lleva_a| loader_autoit loader_autoit –>|usa| obfuscation loader_autoit –>|se_disfraza_como| masquerading loader_autoit –>|establece| persistence_shortcut loader_autoit –>|establece| persistence_task loader_autoit –>|establece| persistence_init persistence_shortcut –>|habilita| hijack_execution persistence_task –>|habilita| hijack_execution persistence_init –>|habilita| hijack_execution hijack_execution –>|emplea| defense_virtual hijack_execution –>|emplea| defense_reflective hijack_execution –>|conecta_a| c2_dga c2_dga –>|resuelve_a_través_de| c2_dns c2_dns –>|comunica_a_través_de| c2_web c2_web –>|roba| cred_browser c2_web –>|captura| cred_cookie c2_web –>|habilita| forge_cookie cred_browser –>|proporciona| exfil_c2 cred_cookie –>|proporciona| exfil_c2 forge_cookie –>|proporciona| exfil_c2 %% Estilo class init_user_execution,init_mal_copy_paste action class loader_autoit,obfuscation,masquerading tool class persistence_shortcut,persistence_task,persistence_init,hijack_execution,defense_virtual,defense_reflective,cred_browser,cred_cookie,forge_cookie action class c2_dga,c2_dns,c2_web,exfil_c2 action "
Flujo de Ataque
Detecciones
Posible Enumeración/Manipulación de Procesos AV (a través de línea de comandos)
Ver
Posible Intento de Ejecución de Script AutoHotkey (a través de línea de comandos)
Ver
Extensión Inusual de Binario Ejecutable (a través de creación de procesos)
Ver
Schtasks Apunta a Directorio/Binario/Script Sospechoso (a través de línea de comandos)
Ver
LOLBAS WScript / CScript (a través de creación de procesos)
Ver
La Binario AutoIT Se Ejecutó Desde una Ubicación Inusual (a través de creación de procesos)
Ver
Cadenas de Powershell Sospechosas (a través de línea de comandos)
Ver
IOCs (SourceIP) para detectar: LummaStealer está teniendo una segunda vida junto a CastleLoader
Ver
IOCs (DestinationIP) para detectar: LummaStealer está teniendo una segunda vida junto a CastleLoader
Ver
Detecte Actividad de LummaStealer y CastleLoader a través de Ejecución de Procesos [Creación de Procesos Windows]
Ver
Detección de Ejecución de One-liner Malicioso de PowerShell [Windows PowerShell]
Ver
Ejecución de Simulación
Requisito previo: La verificación de Telemetría y Línea Base debe haber pasado.
Justificación: 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 apuntar a generar la telemetría exacta esperada por la lógica de detección. Ejemplos abstractos o no relacionados llevarán a un diagnóstico erróneo.
-
Narrativa del Ataque y Comandos:
- Caída Inicial: El atacante obtiene el contexto del usuario (por ejemplo, a través de phishing) y usa el
explorer.exeproceso legítimo para lanzar la carga útil maliciosa ubicada en un recurso compartido de red montado:DeviceHarddiskVolumeXNFSNeed for Speed Hot PursuitSetup.exe. - Persistencia y Lanzador: Después de que el malicioso
Setup.exese ejecuta, se deja caer un script por lotes (Pros.cmd) en el mismo directorio. El atacante luego utilizacmd.exe /c copy Pros Pros.cmd & Pros.cmdpara ejecutar el script, que carga cargas útiles adicionales. - Proxy de AutoIt: En paralelo, el cargador puede invocar
AutoIt3.execon un script incrustado (V.a3x) para eludir AppLocker. Esto refleja lacondition selection_autoit.
Estos pasos generan los tres patrones exactos de telemetría requeridos por la regla Sigma:
explorer.execon la ruta fija de Setup.exe malicioso, andcmd.execon/cademás de ya sea una cadena de copiar y ejecutar or una ejecución de AutoIt.
- Caída Inicial: El atacante obtiene el contexto del usuario (por ejemplo, a través de phishing) y usa el
-
Script de Prueba de Regresión:
# ----------------------------------------------- # Script de simulación de LummaStealer / CastleLoader # ----------------------------------------------- $maliciousDir = "$env:ProgramDataNFSNeed for Speed Hot Pursuit" $setupPath = Join-Path $maliciousDir "Setup.exe" $batchPath = Join-Path $maliciousDir "Pros.cmd" $autoItPath = Join-Path $maliciousDir "V.a3x" # 1. Crear estructura de directorios New-Item -Path $maliciousDir -ItemType Directory -Force | Out-Null # 2. Colocar archivos maliciosos ficticios (archivos vacíos son suficientes para el registro) New-Item -Path $setupPath -ItemType File -Force | Out-Null New-Item -Path $batchPath -ItemType File -Force | Out-Null New-Item -Path $autoItPath -ItemType File -Force | Out-Null # 3. Simular explorer.exe lanzando el malicioso Setup.exe Start-Process -FilePath "explorer.exe" -ArgumentList $setupPath # Pequeña pausa para asegurar que el primer evento esté registrado Start-Sleep -Seconds 2 # 4a. Activar la cadena de copiar y ejecutar de cmd.exe cmd.exe /c "copy Pros.cmd $batchPath & $batchPath" # 4b. (Alternativa) Activar ejecución de AutoIt – descomentar si se prueba este camino # Start-Process -FilePath "AutoIt3.exe" -ArgumentList $autoItPath # 5. Esperar que los eventos fluyan al SIEM Start-Sleep -Seconds 5 -
Comandos de Limpieza:
# Eliminar todos los artefactos creados por la simulación Remove-Item -Path "$env:ProgramDataNFS" -Recurse -Force -ErrorAction SilentlyContinue