Microsoft

Authentication Laundering e TonRAT: come il malware Node.js prende di mira il settore hospitality

Dario Fadda Giugno 26, 2026

Microsoft Threat Intelligence ha recentemente portato alla luce una campagna di attacco multi-stadio particolarmente sofisticata, attiva dall’aprile 2026 contro l’industria dell’ospitalità in Europa e Asia. Il vettore principale è il phishing, ma la tecnica di evasione usata — ribattezzata dagli analisti “authentication laundering” — rappresenta un salto di qualità rispetto ai metodi tradizionali.

Cos’è l’Authentication Laundering

Il termine prende spunto dal concetto di “money laundering”: come si riciclano fondi illeciti attraverso canali legittimi, gli attaccanti “riciclano” URL malevoli attraverso servizi reputati come Calendly e i redirect di Google. In pratica, il link inserito nell’email di phishing non punta direttamente al payload, ma a una pagina Calendly o a un redirect Google che a sua volta reindirizza alla risorsa malevola.

Il risultato è che i gateway email sicuri (SEG) vedono un dominio affidabile nel corpo del messaggio e lasciano passare il messaggio. La destinazione finale, quella pericolosa, viene raggiunta solo dopo che l’utente ha già cliccato. Questo approccio bypassa efficacemente:

  • Reputazione URL in tempo reale
  • Sandboxing statico dei link
  • Filtri basati su domain reputation

La catena di attacco passo per passo

Fase 1 – Il lure

Le email di phishing sono costruite per sembrare comunicazioni legittime da parte di ospiti: reclami fotografici su condizioni delle camere, richieste di prenotazione, o segnalazioni su oggetti smarriti. Tutte contengono un link che sfrutta l’authentication laundering descritto sopra. L’obiettivo è persuadere il personale dell’hotel — tipicamente non tecnico — ad aprire un archivio ZIP allegato o scaricato.

Fase 2 – Lo ZIP con shortcut fasulli

Il file ZIP contiene shortcut (.lnk) mascherati da immagini. Quando l’utente fa doppio clic sul presunto file JPG, in realtà esegue uno script PowerShell heavily obfuscated che dà il via alla catena di infezione.

# Esempio semplificato di obfuscation tipica nei dropper PowerShell
$encoded = "JABzAD0AIgBoAHQAdABwAHMAOi..."
[System.Text.Encoding]::Unicode.GetString([Convert]::FromBase64String($encoded)) | IEX

Gli script evolvono attraverso multiple iterazioni per evitare le signature statiche degli antivirus: ogni stage decodifica il successivo in memoria prima di eseguirlo.

Fase 3 – Deployment di TonRAT (Implant Node.js)

Il payload finale è TonRAT, un Remote Access Trojan scritto in Node.js. La scelta di Node.js è deliberata: viene eseguito da directory user-space (es. %APPDATA%), senza richiedere privilegi elevati, e sfrutta un runtime legittimo — il processo node.exe — che non desta sospetti ai controlli superficiali.

TonRAT dispone di capacità avanzate:

  • Modifica delle esclusioni di Microsoft Defender: aggiunge i propri processi temporanei alla lista delle esclusioni per operare indisturbato.
  • Compilazione .NET dinamica: genera ed esegue codice .NET in memoria per estendere le proprie capacità senza toccare il disco.
  • Download di componenti aggiuntivi: se un componente viene rimosso da un prodotto di sicurezza, l’implant si riconnette al C2 e lo riscarica automaticamente.

Fase 4 – Persistenza duale nel Registro

La persistenza viene garantita attraverso un meccanismo a doppio strato nel registro di Windows:

HKCU\Software\Microsoft\Windows\CurrentVersion\Run
HKCU\Software\Microsoft\Windows\CurrentVersion\RunOnce

Sia il componente Node.js principale che i payload secondari in ProgramData hanno proprie entry con percorsi randomizzati. Se la sicurezza rimuove uno dei due, l’altro sopravvive e provvede a ripristinare il componente eliminato.

Come difendersi: Indicatori e Contromisure

Monitoraggio comportamentale

Il punto critico da monitorare è l’esecuzione di node.exe da directory non standard. In un ambiente aziendale, Node.js non dovrebbe mai girare da %APPDATA%, %TEMP% o %LOCALAPPDATA%. Un alert su questo pattern è altamente indicativo.

# Query per trovare processi node.exe in esecuzione da directory sospette (PowerShell)
Get-CimInstance Win32_Process -Filter "Name = node.exe" |
  Select-Object ProcessId, CommandLine, @{
    Name=Path; Expression={$_.ExecutablePath}
  } |
  Where-Object { $_.Path -notlike "*\Program Files*" -and $_.Path -notlike "*\nodejs*" }

Audit delle Registry Run Keys

Verificare regolarmente la presenza di entry con nomi randomizzati (tipicamente 8-12 caratteri alfanumerici) nelle chiavi di autorun:

# Controllo chiavi Run e RunOnce per tutti gli utenti del sistema
$keys = @(
  "HKLM:\Software\Microsoft\Windows\CurrentVersion\Run",
  "HKLM:\Software\Microsoft\Windows\CurrentVersion\RunOnce",
  "HKCU:\Software\Microsoft\Windows\CurrentVersion\Run",
  "HKCU:\Software\Microsoft\Windows\CurrentVersion\RunOnce"
)
foreach ($key in $keys) {
  Write-Host "`n[$key]"
  Get-ItemProperty -Path $key -ErrorAction SilentlyContinue |
    Select-Object -Property * -ExcludeProperty PS*
}

Politiche di restrizione PowerShell

Abilitare la modalità Constrained Language di PowerShell e configurare le AMSI-based logging per catturare gli script decodificati prima dell’esecuzione:

# Abilitare la trascrizione di PowerShell (via GPO o direttamente)
Set-ItemProperty -Path "HKLM:\Software\Policies\Microsoft\Windows\PowerShell\Transcription" `
  -Name "EnableTranscripting" -Value 1 -Force
Set-ItemProperty -Path "HKLM:\Software\Policies\Microsoft\Windows\PowerShell\Transcription" `
  -Name "OutputDirectory" -Value "C:\PSLogs" -Force

Formazione del personale

Poiché il vettore iniziale è sociale, la formazione rimane fondamentale. Il personale dell’ospitalità deve essere addestrato a:

  • Non aprire allegati ZIP da email sconosciute, anche se contengono presunte foto di ospiti
  • Verificare il dominio reale di un link passando il mouse sopra prima di cliccare
  • Segnalare immediatamente comportamenti anomali dei propri dispositivi

La campagna TonRAT esemplifica l’evoluzione delle minacce verso un’evasione sempre più raffinata. L’authentication laundering rende inefficaci i controlli perimetrali basati sulla reputazione dei domini, spostando il punto di difesa verso il rilevamento comportamentale. Per i sysadmin, il takeaway principale è chiaro: non basta bloccare URL malevoli — occorre monitorare ciò che accade dopo il click, dentro i sistemi.

Fonte: 4sysops.com | Analisi tecnica originale: Microsoft Threat Intelligence

💬 Unisciti alla discussione!


Questo è un blog del Fediverso: puoi trovare quindi questo articolo ovunque con @blog@spcnet.it e ogni commento/risposta apparirà qui sotto.

Se vuoi commentare su Authentication Laundering e TonRAT: come il malware Node.js prende di mira il settore hospitality, utilizza la discussione sul Forum.
Condividi la tua esperienza, confrontati con altri professionisti e approfondisci i dettagli tecnici nel nostro 👉 forum community