MedusaHVNC roba sesiones activas de Windows a través de un escritorio oculto
Detection stack
- AIDR
- Alert
- ETL
- Query
Resumen
MedusaHVNC es un troyano de acceso remoto (RAT) recién identificado, distribuido a través de un modelo de Malware como Servicio (MaaS). Utiliza un módulo oculto de Computación de Red Virtual (HVNC) para crear una sesión de escritorio separada e invisible de Windows. Esto permite a los atacantes secuestrar sesiones de navegador activas, incluidas cookies y estados de sesión autenticados, sin alertar a la víctima.
Investigación
Los investigadores analizaron una muestra de MedusaHVNC y descubrieron una cadena de infección de cinco etapas que comienza con un lanzador JScript ofuscado. La investigación mostró que AutoIt se utiliza para la desencriptación y la inyección de procesos en la utilidad legítima de Mapa de Caracteres de Windows (charmap.exe). La carga final depende de la encriptación ChaCha20 y se comunica con un servidor C2 codificado mediante un protocolo TCP personalizado.
Mitigación
Las medidas efectivas de mitigación incluyen bloquear la infraestructura C2 conocida y monitorear los endpoints para detectar conexiones de red salientes inusuales. Las organizaciones deben implementar controles anti-exfiltración de datos capaces de inspeccionar el tráfico saliente independientemente del proceso originario. Monitorear procesos hijos sospechosos o actividad de inyección que involucre binarios del sistema legítimos como charmap.exe también puede mejorar la detección.
Respuesta
Si se detecta actividad de MedusaHVNC, los equipos de seguridad deben aislar inmediatamente el endpoint afectado para terminar la comunicación con el servidor C2. Los investigadores deben identificar la ruta inicial de entrega del lanzador JScript y verificar los mecanismos de persistencia en la carpeta de Inicio. Los registros de sesión y autenticación también deben revisarse para detectar actividad no autorizada ocurrida durante la ventana de compromiso.
Flujo de Ataque
Detecciones
LOLBAS WScript / CScript (vía process_creation)
Proof of Value
Binarios / Scripts sospechosos en la ubicación de inicio automático (vía file_event)
Proof of Value
IOCs (SourceIP) para detectar: MedusaHVNC: Un escritorio oculto que roba sesiones activas de Windows
Proof of Value
IOCs (DestinationIP) para detectar: MedusaHVNC: Un escritorio oculto que roba sesiones activas de Windows
Proof of Value
Detección de comunicación C2 de MedusaHVNC [Conexión de red de Windows]
Proof of Value
Detección del lanzador JScript e intérprete de AutoIt en la cadena de infección de MedusaHVNC [Creación de proceso de Windows]
Proof of Value
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 las TTP identificadas y buscar generar exactamente la telemetría esperada por la lógica de detección. Ejemplos abstractos o no relacionados conducirán a un diagnóstico erróneo.
-
Narrativa del Ataque & Comandos: Un adversario ha desplegado exitosamente MedusaHVNC en una estación de trabajo víctima. Para establecer mando y control (C2) y comenzar la interacción de escritorio remoto, el malware intenta conectarse a su escuchador codificado. En esta simulación, imitamos este comportamiento forzando una conexión a un escuchador local en el puerto 4444. Esta acción está destinada a simular la fase de «Phone Home» del ciclo de vida de MedusaHVNC, generando un registro Sysmon Event ID 3 con
Puerto de Destino: 4444. -
Script de Prueba de Regresión:
# Script de Simulación: Emulación de Comunicación C2 de MedusaHVNC # Objetivo: Generar un evento de conexión de red en el puerto 4444 para activar la regla Sigma. $TargetIP = "127.0.0.1" $TargetPort = 4444 Write-Host "[+] Iniciando Simulación C2 de MedusaHVNC..." -ForegroundColor Cyan # Paso 1: Crear un escuchador local para capturar la conexión (Simula el Servidor C2) $Listener = New-Object System.Net.Sockets.TcpListener([System.Net.IPAddress]::Loopback, $TargetPort) $Listener.Start() Write-Host "[+] Escuchador C2 local iniciado en $TargetIP:$TargetPort" -ForegroundColor Green try { # Paso 2: Emular la conexión saliente del malware Write-Host "[+] Emulando conexión saliente a C2..." -ForegroundColor Yellow $Client = New-Object System.Net.Sockets.TcpClient $Client.Connect($TargetIP, $TargetPort) Write-Host "[!] Éxito: Conexión establecida. Verifique alertas en SIEM." -ForegroundColor Red } catch { Write-Host "[-] Error al conectar: $($_.Exception.Message)" -ForegroundColor Red } finally { # Limpieza de conexión if ($Client) { $Client.Close() } $Listener.Stop() Write-Host "[+] Limpieza de simulación completa." -ForegroundColor Cyan } -
Comandos de Limpieza:
# Asegúrese de que no existan procesos o escuchadores persistentes Stop-Process -Name "powershell" -Force -ErrorAction SilentlyContinue # (Nota: En un entorno real, verifique manualmente que el puerto 4444 esté cerrado) Test-NetConnection -ComputerName 127.0.0.1 -Port 4444