Variante de PureRAT Descubierta en Reproductor de Video AI
Detection stack
- AIDR
- Alert
- ETL
- Query
Resumen
Una campaña de malware está utilizando un falso descargador de videos temático de Google Drive para lanzar una cadena de ejecución en varias etapas. La infección pasa de un cargador en Python a shellcode y luego a un ensamblaje .NET protegido identificado como PureRAT. El malware se basa en una fuerte ofuscación, cifrado personalizado y comunicaciones WebSocket autenticadas para gestionar el tráfico de comando y control.
Investigación
La investigación analizó un flujo de ejecución en etapas que comenzó con un cargador de bytecode de Python. Los investigadores observaron decodificación Base85, zlib descompresión e inyección de shellcode a través de VirtualAlloc. Un análisis adicional descubrió un cargador .NET altamente protegido, Ykzrh/smveo-csharp-agent.exe, que utilizaba virtualización y reconstrucción en tiempo de ejecución para dificultar el análisis.
Mitigación
Se debe advertir a los usuarios de no descargar archivos desde cebos temáticos de videos sospechosos o no oficiales. Las organizaciones deben monitorear la ejecución no autorizada de Python y el comportamiento inusual de ensamblajes .NET dentro de los directorios de datos de aplicaciones locales. Listas blancas de aplicaciones fuertes y monitoreo de cambios sospechosos en la clave de ejecución pueden también reducir el riesgo de compromiso.
Respuesta
Si se detecta esta actividad, aísle los puntos finales afectados inmediatamente para interrumpir el tráfico de comando y control basado en WebSocket. Los investigadores deben realizar forense de memoria para capturar el payload .NET descifrado y determinar el alcance de la infección. También se deben revisar los registros de red para las conexiones a la infraestructura smveo.com , y cualquier credencial potencialmente expuesta debe ser rotada.
Flujo de Ataque
Detecciones
Posibles Puntos de Persistencia [ASEPs – Software/Colmena NTUSER] (mediante registry_event)
Ver
Comunicación C2 de la Variante PureRAT a través de WebSocket Autenticado [Conexión de Red de Windows]
Ver
Persistencia a través de la Clave de Ejecución del Registro de Windows [Evento de Registro de Windows]
Ver
Ejecución de Simulación
Prerrequisito: La Verificación Previa al Vuelo de Telemetría y Línea de Base debe haber pasado.
Motivo: 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 las TTPs identificadas y aspirar a generar la telemetría exacta esperada por la lógica de detección. Los ejemplos abstractos o no relacionados llevarán a un diagnóstico erróneo.
-
Narrativa y Comandos del Ataque: El adversario ha desplegado con éxito una variante de PureRAT. Para mantener el control, el malware estableció un canal persistente de Comando y Control (C2). En lugar de sondeo HTTP estándar, utiliza una conexión WebSocket autenticada para eludir los proxies web tradicionales que podrían no inspeccionar flujos WebSocket de larga duración. El objetivo del atacante es establecer un túnel estable y de baja latencia hacia
agent.sm-veo.comen el puerto8443. Esta simulación usará un script de PowerShell para imitar este comportamiento de red iniciando una conexión a la URI maliciosa. -
Script de Prueba de Regresión:
# Simulación de variante PureRAT C2 a través de WebSocket # Objetivo: Activar la regla de detección mediante el dominio de destino o URL. $targetUrl = "wss://agent.sm-veo.com:8443/v1/ws" $targetDomain = "agent.sm-veo.com" Write-Host "[+] Iniciando simulación de C2 PureRAT..." -ForegroundColor Cyan try { Write-Host "[+] Intentando establecer conexión WebSocket a $targetUrl" # Usando un cliente WebSocket de .NET para simular el comportamiento específico del protocolo $ws = New-Object System.Net.WebSockets.ClientWebSocket $uri = New-Object System.Uri($targetUrl) $ct = New-Object System.Threading.CancellationTokenSource # No necesitamos un apretón de manos exitoso para que la telemetría de red se active, # solo el intento de conectarse al destino especificado. $task = $ws.ConnectAsync($uri, $ct.Token) # Esperar brevemente para que el intento de conexión genere telemetría Start-Sleep -Seconds 5 Write-Host "[!] Intento de conexión completado. Verifique SIEM para la telemetría." -ForegroundColor Green } catch { Write-Host "[!] Conexión fallida (Esperado si el dominio está sumidero / no es real), pero la telemetría debería haberse generado." -ForegroundColor Yellow } finally { if ($ws) { $ws.Dispose() } } -
Comandos de Limpieza:
# No se modificaron archivos persistentes o claves de registro por este script de simulación específico. # Si se simuló persistencia (T1547.001), use lo siguiente: # Remove-ItemProperty -Path 'HKCU:SoftwareMicrosoftWindowsCurrentVersionRun' -Name 'PureRAT_Update' Write-Host "[+] Limpieza completa. Sin artefactos dejados por simulación de red." -ForegroundColor Cyan