Analisi Tecnica di Email Sospette Mirate all’Industria Alberghiera
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
Rilevamenti
La Possibilità di Esecuzione Attraverso Linee di Comando PowerShell Nascoste (via cmdline)
Visualizza
Possibili Indicatori di Offuscamento PowerShell (via powershell)
Visualizza
Possibili Punti di Persistenza [ASEPs – Software/NTUSER Hive] (via registry_event)
Visualizza
PowerShell che Esegue File In Una Directory Sospetta Utilizzando la Politica di Bypass dell’Esecuzione (via cmdline)
Visualizza
NodeJS Binario che Esegue Da Una Posizione Non Comune (via cmdline)
Visualizza
Cambiamenti Sospetti nelle Preferenze di Windows Defender (via powershell)
Visualizza
Comando e Controllo Sospetti da Richiesta DNS di Tipo Top Level Domain (TLD) Insolito (via dns)
Visualizza
Comunicazione C2 WebSocket Rilevata tramite API TON in TonRAT [Connessione di Rete di Windows]
Visualizza
Comando PowerShell per Scaricare ed Eseguire File Dannosi [Windows Powershell]
Visualizza
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.ioservizio 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 hardcodedzloapobikahy23.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."