Falsos correos de «Correo Seguro» entregan archivos maliciosos haciéndose pasar por empresas de tarjetas de crédito
Detection stack
- AIDR
- Alert
- ETL
- Query
Resumen
AhnLab descubrió una campaña de phishing que distribuye archivos LNK maliciosos disfrazados como notificaciones de correo seguro de un importante proveedor de tarjetas de crédito coreano. Al abrirse, el acceso directo lanza un HTA a través de mshta.exe y PowerShell, luego descarga cargas útiles de seguimiento que cambian dependiendo de si Windows Defender está habilitado. Si Defender está activo, los atacantes utilizan curl para recuperar archivos cifrados que posteriormente son descomprimidos y ejecutados. Si Defender está deshabilitado, la cadena cambia a carga directa de DLL y actividad adicional de descargador. El malware resultante soporta robo de información, registro de teclas, recopilación del portapapeles y capacidades de puerta trasera.
Investigación
La investigación mostró que el archivo LNK inicial lanza mshta.exe, que ejecuta un HTA que contiene VBScript ofuscado. Ese HTA descarga pipe.zip, que incluye scripts codificados en Base64 nombrados 1.log, 1.ps1, y 2.log, los cuales son decodificados y ejecutados en la memoria. Cuando Defender está inactivo, el malware en su lugar descarga user.txt and sys.log, descifra sys.log en sys.dll, y lo ejecuta a través de rundll32. El análisis del user.txt develó tres URLs de Google Drive utilizadas para obtener archivos maliciosos adicionales, incluidos notepad.log, net, y app, que se almacenan bajo %LOCALAPPDATA%.
Mitigación
Las defensas recomendadas incluyen verificar la legitimidad de los archivos adjuntos de correos electrónicos, prevenir la ejecución automática de archivos LNK y monitorear el uso sospechoso de mshta.exe and curl. Los equipos de seguridad también deberían buscar y eliminar archivos como 1.log, 1.ps1, 2.log, notepad.log, net, y app desde %TEMP% and %LOCALAPPDATA%. Además, los defensores deberían inspeccionar el sistema en busca de cambios inesperados en el registro y asegurarse de que Windows Defender u otra plataforma de protección de endpoint permanezca habilitada y adecuadamente configurada.
Respuesta
Si se detecta esta actividad, aísle inmediatamente el sistema afectado, termine cualquier mshta.exe, curl, o rundll32 procesos que ejecuten archivos desconocidos, y preserve los artefactos maliciosos para revisión forense. Ejecute un escaneo completo del sistema, restablezca cualquier credencial potencialmente expuesta y monitorice para actividad de puerta trasera posterior vinculada a notepad.log. El contenido de detección también debería ser actualizado con los indicadores de compromiso observados, y los controles de seguridad de correo electrónico deberían fortalecerse para bloquear señuelos de phishing similares en el futuro.
graph TB %% Class definitions classDef action fill:#99ccff classDef operator fill:#ff9900 classDef builtin fill:#cccccc %% Nodes initial_user_exec[«<b>Técnica</b> – <b>T1204.002 Ejecución por usuario: Archivo malicioso</b><br/>La víctima abre un archivo .lnk disfrazado de correo seguro de una empresa de tarjeta de crédito.»] class initial_user_exec action exec_mshta[«<b>Técnica</b> – <b>T1218.005 Ejecución proxy de binario del sistema: Mshta</b><br/>El archivo LNK lanza PowerShell, que ejecuta mshta.exe para obtener un HTA remoto con VBScript ofuscado.»] class exec_mshta action exec_powershell[«<b>Técnica</b> – <b>T1059.001 Intérprete de comandos: PowerShell</b><br/>PowerShell descarga cargas adicionales mediante curl.»] class exec_powershell action masquerade[«<b>Técnica</b> – <b>T1036.008 Mascaramiento: Tipo de archivo falsificado</b><br/>El archivo LNK se disfraza como correo seguro.»] class masquerade action obfuscate[«<b>Técnica</b> – <b>T1027 Información ofuscada</b><br/>Cargas cifradas con AES y codificadas en Base64; icono embebido en LNK.»] class obfuscate action sandbox_evasion[«<b>Técnica</b> – <b>T1497.002 Evasión de sandbox: comprobaciones de actividad del usuario</b><br/>El malware verifica el estado de Windows Defender.»] class sandbox_evasion action cond_defender[«<b>Operador</b> – Condición AND basada en estado de Defender»] class cond_defender operator defender_on[«<b>Condición</b> – Defender activado»] class defender_on action defender_off[«<b>Condición</b> – Defender desactivado»] class defender_off action download_pipe[«<b>Acción</b> – Descarga pipe.zip, lo descifra y extrae 1.log, 1.ps1, 2.log.»] class download_pipe action cred_access[«<b>Técnica</b> – <b>T1539 Secuestro de sesión del navegador</b>, <b>T1185 Cookies de sesión web</b>, <b>T1555.003 Credenciales de navegador</b><br/>Scripts realizan robo de credenciales.»] class cred_access action collection[«<b>Técnica</b> – <b>T1056.001 Captura de entrada: keylogging</b> y <b>T1115 Datos del portapapeles</b><br/>Recolección de pulsaciones y contenido del portapapeles.»] class collection action download_sys[«<b>Acción</b> – Descarga user.txt y sys.log, descifra sys.dll.»] class download_sys action load_rundll[«<b>Técnica</b> – <b>T1218.011 Ejecución proxy de binario firmado: Rundll32</b><br/>Carga sys.dll mediante rundll32.»] class load_rundll action persistence_appinit[«<b>Técnica</b> – <b>T1546.010 Ejecución activada por evento: AppInit DLLs</b><br/>sys.dll se usa para persistencia y evasión.»] class persistence_appinit action command_control[«<b>Técnica</b> – <b>T1219 Herramientas de acceso remoto</b><br/>notepad.log permite ejecución remota de comandos y exfiltración de datos.»] class command_control action clipboard_phish[«<b>Técnica</b> – <b>T1204.004 Phishing por copiar y pegar</b><br/>Técnicas de phishing mediante portapapeles.»] class clipboard_phish action %% Connections initial_user_exec –>|lleva a| exec_mshta exec_mshta –>|ejecuta| exec_powershell exec_powershell –>|habilita| masquerade masquerade –>|habilita| obfuscate obfuscate –>|habilita| sandbox_evasion sandbox_evasion –>|activa| cond_defender cond_defender –>|si Defender activo| defender_on cond_defender –>|si Defender inactivo| defender_off defender_on –>|descarga| download_pipe download_pipe –>|contiene| cred_access cred_access –>|habilita| collection defender_off –>|descarga| download_sys download_sys –>|carga| load_rundll load_rundll –>|establece| persistence_appinit persistence_appinit –>|habilita| command_control command_control –>|usa| clipboard_phish
Flujo de Ataque
Detecciones
Posible ejecución mediante el uso de nombre corto de script (vía cmdline)
Ver
Comportamiento de evasión de defensa del LOLBAS MSHTA sospechoso mediante la detección de comandos asociados (vía creación de procesos)
Ver
Posible infiltración/exfiltración de datos/C2 a través de servicios/herramientas de terceros (vía proxy)
Ver
Posible infiltración/exfiltración de datos/C2 a través de servicios/herramientas de terceros (vía dns)
Ver
Ejecución de Rundll32 con sys.dll en entornos donde Windows Defender está desactivado [Creación de procesos de Windows]
Ver
Archivo LNK malicioso con ejecución de comando mshta [Windows Powershell]
Ver
Ejecución de Simulación
Prerequisito: La revisión de telemetría y línea de base debe haber pasado.
-
Narrativa del Ataque y Comandos:
Un adversario ha logrado obtener un punto de apoyo en el punto final y desea ejecutar código arbitrario mientras evade el control tradicional de aplicaciones. Elaboran un archivo HTA malicioso que contiene VBScript ofuscado que, al renderizarse, escribe una puerta trasera de PowerShell en el disco. Para lanzar el HTA, utilizan un acceso directo de Windows (.lnk) que llama apowershell.execon un comando que invocamshta.exe. Ejecutar el acceso directo desencadena la cadena PowerShell →mshta, produciendo la telemetría exacta que la regla monitorea. -
Script de Prueba de Regresión:
# ------------------------------------------------- # 1. Crear HTA malicioso con VBScript ofuscado # ------------------------------------------------- $htaPath = "$env:TEMPevil.hta" $vbscript = @" <script language='VBScript'> ' Obfuscated VBScript payload (example: write a file) Dim fso, f Set fso = CreateObject("Scripting.FileSystemObject") Set f = fso.CreateTextFile("C:WindowsTemppwned.txt", True) f.WriteLine "Compromised by ATT&CK" f.Close </script> "@ Set-Content -Path $htaPath -Value $vbscript -Encoding ASCII # ------------------------------------------------- # 2. Crear un acceso directo (.lnk) que ejecute PowerShell → mshta # ------------------------------------------------- $lnkPath = "$env:TEMPlaunch_malicious.lnk" $ws = New-Object -ComObject WScript.Shell $shortcut = $ws.CreateShortcut($lnkPath) # Comando de PowerShell que lanza mshta con el archivo HTA $psCommand = "mshta.exe `"$htaPath`"" $shortcut.TargetPath = "C:WindowsSystem32WindowsPowerShellv1.0powershell.exe" $shortcut.Arguments = "-NoProfile -WindowStyle Hidden -Command `"$psCommand`"" $shortcut.Save() # ------------------------------------------------- # 3. Ejecutar el acceso directo para disparar la detección # ------------------------------------------------- Write-Host "Executing malicious shortcut..." & $lnkPath # ------------------------------------------------- # 4. Pausar para permitir la recopilación de registros # ------------------------------------------------- Start-Sleep -Seconds 10 -
Comandos de Limpieza:
# Eliminar artefactos creados Remove-Item -Path "$env:TEMPevil.hta" -Force -ErrorAction SilentlyContinue Remove-Item -Path "$env:TEMPlaunch_malicious.lnk" -Force -ErrorAction SilentlyContinue Remove-Item -Path "C:WindowsTemppwned.txt" -Force -ErrorAction SilentlyContinue Write-Host "Cleanup complete."