Campaña de Phishing Despliega Variante de PureLogs Basada en JavaScript para Robar Datos Sensibles
Detection stack
- AIDR
- Alert
- ETL
- Query
Resumen
Una campaña de phishing está utilizando un archivo adjunto JavaScript malicioso para descifrar y ejecutar un script de PowerShell. Ese script luego realiza hollowing de procesos para inyectar un descargador .NET en el MsBuild.exe proceso de confianza. El descargador se comunica con un servidor de comando y control para recuperar un plugin PureLogs que roba credenciales, datos del navegador, información de billeteras de criptomonedas y otros activos sensibles. La cadena de ataque es altamente evasiva y se basa en cifrado por capas junto con técnicas de ejecución sin archivos para reducir la detección.
Investigación
FortiGuard Labs examinó el archivo adjunto del correo electrónico, el JavaScript ofuscado, el script de PowerShell descargado y los componentes .NET en memoria utilizados posteriormente en el ataque. Durante el análisis, los investigadores observaron la creación de un MsBuild.exe proceso hollowed, la carga de una DLL descargadora y la ejecución de un plugin PureLogs que recolectaba datos de navegadores, Discord, billeteras de criptomonedas y otras aplicaciones. El tráfico de red capturado mostró comunicaciones cifradas GET y POST con un único servidor de comando y control.
Mitigación
El informe recomienda aplicar un filtro fuerte de correo electrónico, limitar la ejecución de scripts donde sea factible y monitorear la actividad sospechosa de PowerShell y el hollowing de procesos que involucran MsBuild.exe. También aconseja utilizar herramientas de detección y respuesta de endpoints que puedan identificar ensamblados .NET en memoria y comportamientos inusuales de red saliente asociados con la entrega de malware en etapas.
Respuesta
Si se detecta esta actividad, aísle el endpoint afectado, termine el MsBuild.exe proceso malicioso, y bloquee la dirección IP de comando y control. Los investigadores deben realizar un análisis forense para determinar si se robaron credenciales o datos sensibles y restablecer las cuentas expuestas según sea necesario. También se debe actualizar el contenido de detección para cubrir el abuso de PowerShell, hollowing de procesos y comportamientos relacionados con PureLogs.
Flujo de Ataque
Todavía estamos actualizando esta parte. Regístrese para recibir notificaciones
NotifíquemeDetecciones
La Posibilidad de Ejecución a Través de Líneas de Comando PowerShell Ocultas (mediante línea de comando)
Ver
Powershell Ejecutando Archivo en Directorio Sospechoso Usando Política de Ejecución Bypass (mediante línea de comando)
Ver
LOLBAS WScript / CScript (mediante creación de proceso)
Ver
IOCs (HashSha256) para detectar: Investigación de Amenazas de FortiGuard Labs Campaña de Phishing Despliega Variante de PureLogs Dirigida por JavaScript para Robar Datos Sensibles
Ver
IOCs (SourceIP) para detectar: Investigación de Amenazas de FortiGuard Labs Campaña de Phishing Despliega Variante de PureLogs Dirigida por JavaScript para Robar Datos Sensibles
Ver
IOCs (DestinationIP) para detectar: Investigación de Amenazas de FortiGuard Labs Campaña de Phishing Despliega Variante de PureLogs Dirigida por JavaScript para Robar Datos Sensibles
Ver
Ejecución de Script de PowerShell sin Archivos y Hollowing de Procesos mediante Ensambles .NET [Windows PowerShell]
Ver
Detección del Despliegue de la Variante PureLogs Dirigida por JavaScript vía PowerShell y Hollowing de Procesos [Creación de Proceso de Windows]
Ver
Ejecución de Simulación
Requisito Previo: La Verificación Previa 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 TTP identificados y apuntar a generar la telemetría exacta esperada por la lógica de detección.
-
Narrativa y Comandos de Ataque:
- Etapa 1 – Despliegue de JavaScript: El atacante entrega un
.jspayload malicioso (codificado) a través de un correo electrónico de phishing. El payload se guarda en%TEMP%y se ejecuta conwscript.exe. - Etapa 2 – Lanzador de PowerShell: El JavaScript lanza PowerShell con las banderas
-ExecutionPolicy Bypass -NoProfile -WindowStyle Hidden -File, señalando a un script secundario que realiza hollowing de procesos. - Etapa 3 – Hollowing de Procesos vía MsBuild: El script de PowerShell genera
MsBuild.exeen modo suspendido, inyecta el payload malicioso (un DLL ficticio), y reanuda el proceso, logrando la ejecución mientras aparece como una herramienta de construcción legítima.
- Etapa 1 – Despliegue de JavaScript: El atacante entrega un
-
Script de Prueba de Regresión: (PowerShell – ejecutar como usuario normal, no requiere archivos externos)
# -------------------------------------------------------------- # Simulación de Variante PureLogs – JavaScript → PowerShell → MsBuild # -------------------------------------------------------------- # 1. Crear JavaScript malicioso (codificado en base64 para imitar ofuscación) $jsPayload = @" // JS malicioso: lanza PowerShell con banderas de bypass var shell = new ActiveXObject("WScript.Shell"); var psCmd = "powershell.exe -ExecutionPolicy Bypass -NoProfile -WindowStyle Hidden -File ""%TEMP%launch.ps1"""; shell.Run(psCmd, 0, false); "@ $jsPath = "$env:TEMPmalicious.js" $jsPayload | Set-Content -Path $jsPath -Encoding ASCII # 2. Crear payload de PowerShell que realiza hollowing de procesos con MsBuild $psPayload = @" # Lanzar MsBuild en modo suspendido $msbuildPath = (Get-Command MsBuild.exe).Source $si = New-Object System.Diagnostics.ProcessStartInfo $si.FileName = $msbuildPath $si.UseShellExecute = $false $si.CreateNoWindow = $true $si.Arguments = "/t:Compile" $proc = [System.Diagnostics.Process]::Start($si) Start-Sleep -Milliseconds 500 # dar tiempo para la creación # Simular hollowing escribiendo solo un archivo ficticio en el espacio de memoria del proceso # (el hollowing real usaría llamadas a la API de Windows; aquí solo mantenemos vivo el proceso) Write-Host "Hollowing de proceso simulado – MsBuild en ejecución" "@ $psPath = "$env:TEMPlaunch.ps1" $psPayload | Set-Content -Path $psPath -Encoding ASCII # 3. Ejecutar el JavaScript – este es el punto de entrada que la regla vigila wscript.exe $jsPath # Espere un breve periodo para asegurar que se generen los registros Start-Sleep -Seconds 10 -
Comandos de Limpieza:
# Terminar cualquier proceso MsBuild persistente iniciado por la simulación Get-Process MsBuild -ErrorAction SilentlyContinue | Stop-Process -Force # Remover artefactos Remove-Item "$env:TEMPmalicious.js" -ErrorAction SilentlyContinue Remove-Item "$env:TEMPlaunch.ps1" -ErrorAction SilentlyContinue