SOC Prime Bias: Alto

12 Jun 2026 06:33 UTC

Análisis Técnico de Correos Electrónicos Sospechosos Dirigidos a la Industria Hotelera

Author Photo
SOC Prime Team linkedin icon Seguir
Análisis Técnico de Correos Electrónicos Sospechosos Dirigidos a la Industria Hotelera
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Resumen

Una sofisticada campaña de malware de múltiples etapas está apuntando al sector hotelero a través de correos electrónicos disfrazados como notificaciones de Booking.com. La cadena de intrusión combina archivos LNK maliciosos, scripts de PowerShell y un troyano de acceso remoto basado en Node.js conocido como TonRAT. Uno de los aspectos más notables de la operación es su uso de The Open Network (TON) API para obtener dominios de comando y control de manera dinámica, lo que hace que el bloqueo basado en dominios tradicionales sea menos confiable.

Investigación

La investigación descubrió un flujo de ejecución en capas en el cual un archivo ZIP inicial contiene un archivo LNK que lanza PowerShell para recuperar un script secundario. Ese script descifra una carga útil de JavaScript identificada como TonRAT usando AES y la ejecuta a través de un entorno Node.js legítimo descargado de nodejs.org. Una vez activo, el malware inicia comunicaciones de comando y control basadas en WebSocket usando información de dominio extraída de solicitudes API de blockchain TON.

Mitigación

Las defensas recomendadas incluyen restringir la ejecución de PowerShell, monitorear de cerca el uso no autorizado del entorno de Node.js (node.exe), y detectar tráfico anormal de WebSocket. Las organizaciones también deben vigilar las conexiones con la API de TON, incluyendo tonapi.io, y fortalecer el filtrado de correos electrónicos para detectar dominios falsificados, adjuntos sospechosos y señuelos de phishing dirigidos al personal del hotel.

Respuesta

Si se sospecha de un compromiso, los equipos de seguridad deben aislar el terminal afectado de inmediato para prevenir tráfico adicional de comando y control y posible exfiltración de datos. Los registros operativos de PowerShell y los registros de ejecución de procesos deben ser revisados para detectar node.exe actividad no autorizada. También se debe realizar un análisis forense para los hashes de JavaScript de TonRAT conocidos, junto con la investigación de cualquier conexión a la infraestructura de comando y control identificada.

Flujo de Ataque

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 TTPs identificadas y apuntan a generar la telemetría exacta esperada por la lógica de detección. Ejemplos abstractos o no relacionados conducirán a un diagnóstico erróneo.

  • Narrativa y Comandos del Ataque: El adversario busca establecer un canal de Comando y Control (C2) basado en WebSocket. Para mezclarse con el tráfico legítimo, el malware primero consulta el tonapi.io servicio para resolver su infraestructura C2. Una vez que se establece la interacción «legítima» con la API, el malware inicia un apretón de manos WebSocket (wss://) al dominio malicioso predefinido zloapobikahy23.bond. Esta secuencia está diseñada para aprovechar la reputación de la API de TON para ocultar la conexión maliciosa subsiguiente.

  • Script de Prueba de Regresión:

    # Simulación de Comunicación C2 de TonRAT WebSocket
    # Paso 1: Simular interacción con la API TON
    Write-Host "[+] Simulando interacción con tonapi.io..."
    $api_url = "https://tonapi.io/v2/blockchain/accounts/EQ..."
    Invoke-WebRequest -Uri $api_url -Method Get -UseBasicParsing
    
    # Paso 2: Simular conexión WebSocket al dominio C2 malicioso
    # Nota: Usamos un cliente de PowerShell para iniciar una solicitud WSS para activar la lógica de 'wss://' y dominio
    Write-Host "[+] Simulando conexión WebSocket al dominio malicioso..."
    $c2_url = "wss://zloapobikahy23.bond/control"
    
    # Usar un cliente WebSockets .NET para asegurar que 'wss://' está presente en la telemetría
    $ws = New-Object System.Net.WebSockets.ClientWebSocket
    $cts = New-Object System.Threading.CancellationTokenSource
    $uri = New-Object System.Uri($c2_url)
    
    try {
        $task = $ws.ConnectAsync($uri, $cts.Token)
        # No necesitamos una conexión exitosa, solo el intento para generar el registro
        $task.Wait(5000) 
    } catch {
        Write-Host "[!] Conexión fallida como se esperaba (el dominio no existe), pero la telemetría debe generarse."
    } finally {
        $ws.Dispose()
    }
  • Comandos de Limpieza:

    # Este script no crea artefactos persistentes, pero limpiamos la consola
    Clear-Host
    Write-Host "Limpieza de simulación completa."