// 2 CRITICAL · 5 ZERO-DAY · 9 CVE · 6 EXPLOIT NELLE ULTIME 24H
Il malware LausivLoader sfrutta l'ereditarietà ordinaria delle variabili d'ambiente processo per passare percorsi file tra JavaScript e PowerShell, rendendo

Nota metodologica: Tutta l'analisi che segue si basa su un unico report del SANS Internet Storm Center, pubblicato il 17 settembre 2025 con firma autoriale generica "Handler on Duty". Nessuna fonte indipendente ha confermato i dettagli tecnici del campione. Il report si interrompe bruscamente durante la descrizione del payload .NET finale.

Un campione di malware documentato dal SANS ISC con il nome LausivLoader sfrutta un meccanismo insolito di passaggio dati tra stadi di esecuzione: le variabili d'ambiente ereditate dal processo padre. Rilevato in allegati .r01 di una campagna malspam di fine agosto 2025, il loader dimostra come campioni con detection rate moderato possano incorporare logiche che rendono vano l'analisi isolata del singolo stadio.

Punti chiave
  • Tutta l'analisi si basa su un unico report SANS ISC, non confermato indipendentemente.
  • JavaScript imposta le variabili d'ambiente Kv7408 e Kv562 nel proprio processo, ereditate poi da conhost.exe e PowerShell per trasmettere percorsi di file temporanei.
  • Il payload finale è suddiviso in due file con suffissi 'a' e 'b', decodificati con AES-128-CBC e GZipStream in un eseguibile .NET a 64 bit di 315.904 byte.
  • La persistenza è ottenuta tramite un scheduled task denominato \MicrosoftEdgeUpdateTaskCore che esegue wscript.exe con una copia dello script in %LOCALAPPDATA%\Microsoft\PhotoEngine\PhotoStudio.js.
  • Il report SANS si interrompe bruscamente con la frase incompleta "Its reachable code re"; la destinazione operativa del payload .NET non è documentata.

Come funziona il passaggio dati

Il file iniziale è un JavaScript di 613 KB, di cui 450 righe di commento offuscante. Dopo la pulizia, lo script si riduce a circa 205 KB. Questo stadio primario genera una directory temporanea in %TEMP% con nome costruito da un numero casuale e un timestamp in base36, quindi scrive due file con suffissi 'a' e 'b' contenenti porzioni del payload codificato.

Il punto di interesse tecnico emerge nel trasferimento di informazioni allo stadio successivo. Lo script JavaScript imposta due variabili d'ambiente nel proprio processo WScript: Kv7408 e Kv562, che contengono i percorsi completi dei due file temporanei. Quando lo script avvia PowerShell con parametri -NoP -NonI -W Hidden -EncodedCommand, il nuovo processo eredita l'ambiente attraverso conhost.exe. Il codice PowerShell recupera quindi i percorsi tramite [Environment]::GetEnvironmentVariable('Kv7408','Process') e [Environment]::GetEnvironmentVariable('Kv562','Process').

"It is 'just' an ordinary environment inheritance used to pass information between different stages of an execution chain… Which is nevertheless an interesting approach from a technical standpoint"
— Analista SANS ISC, "Handler on Duty"

Perché l'analisi parziale fallisce

Fatti verificati: Il meccanismo documentato ha una conseguenza concreta sulle tecniche di analisi. L'analista del SANS ISC osserva che copiare il comando PowerShell decodificato in una shell non correlata non permette di ricostruire gli input originali, poiché le variabili d'ambiente di contesto mancano. L'analisi per parti della catena di infezione risulta impraticabile.

Analisi editoriale: Questo meccanismo colpisce un punto cieco diffuso nelle pratiche di analisi malware. I ricercatori tendono a concentrarsi sullo stadio più accessibile — spesso lo script PowerShell decodificato — trascurando il contesto di esecuzione ereditato dal processo padre. La variabile d'ambiente Process in .NET restituisce le variabili associate al processo corrente, incluse quelle ereditate; senza tracciare l'albero completo, l'analista perde i riferimenti ai file temporanei che vengono eliminati prima della decrittazione.

L'analista SANS sottolinea un ulteriore aspetto: "It is also one of the reasons why looking only at the decoded command would leave us with an incomplete picture". La frammentazione intenzionale del payload su due file temporanei, combinata con il passaggio di metadati tramite ambiente ereditato, costringe l'analista a ricostruire l'intera catena processuale per ottenere un quadro esaustivo.

Dalla decodifica all'esecuzione in memoria

I due file temporanei contengono dati codificati in Base64 che, combinati e decrittati, producono il payload finale. La decrittazione utilizza AES-128-CBC con PKCS#7 padding, con chiave e IV hardcoded nel codice PowerShell: la chiave è l'array di byte 0xC9,0xE0,0xBF,0x98,0xDC,0x0E,0xC6,0x9C,0x8D,0x66,0x15,0x17,0x45,0x0E,0xC6,0xC9 e l'IV è 0x4A,0x58,0x21,0xE3,0x29,0x41,0xDF,0xE5,0x19,0x8F,0xCE,0x68,0xEC,0x8A,0x06,0x2C.

Dopo la decrittazione, i dati passano attraverso GZipStream per decompressione. Il risultato è un eseguibile .NET a 64 bit di 315.904 byte, caricato in memoria senza scrittura su disco e invocato direttamente all'entry point. I due file temporanei vengono rimossi prima che il payload venga eseguito, eliminando le tracce dal filesystem.

Il testo dell'analisi SANS si interrompe bruscamente durante la descrizione del codice raggiungibile del payload .NET finale, con la frase incompleta "Its reachable code re". La destinazione operativa del payload — comunicazione C2, furto di dati, o altre azioni — non è documentata nella fonte.

Detection e contesto del campione

Il campione analizzato ha registrato una detection di 28/55 su VirusTotal al momento dell'analisi. La fonte SANS indica che "several engines providing information about the malware family" hanno associato il campione alla famiglia LausivLoader, senza specificare quanti motori abbiano effettivamente riconosciuto la famiglia o con quale confidenza.

La persistenza è ottenuta tramite un scheduled task denominato \MicrosoftEdgeUpdateTaskCore che esegue wscript.exe con una copia dello script in %LOCALAPPDATA%\Microsoft\PhotoEngine\PhotoStudio.js. La fonte documenta questo percorso come quello utilizzato dal campione analizzato, senza affermare che la directory PhotoEngine sia o meno legittima.

Cosa fare adesso

Il brief dell'analisi SANS non specifica misure di rilevamento o contromisure tecniche consigliate. L'unica indicazione azionabile derivabile dai fatti documentati è che l'analisi dinamica deve catturare l'intero albero processuale — inclusa l'ereditarietà delle variabili d'ambiente — per ricostruire i valori di Kv7408 e Kv562 prima della loro eliminazione.

Limiti noti e trasparenza metodologica

Questo articolo presenta limiti significativi imposti dalla fonte primaria. Il report SANS ISC è l'unica fonte con analisi tecnica diretta del campione; non esiste conferma indipendente. L'autore è identificato solo come "Handler on Duty", senza nome proprio. La data esatta di rilevamento del campione è indicata genericamente come "end of August" senza giorno specifico.

Il report si interrompe bruscamente durante l'analisi del payload .NET finale, con la frase incompleta "Its reachable code re". Di conseguenza, la destinazione operativa del payload — comunicazione C2, furto di dati, ransomware o altre azioni — non è documentata. Non è possibile stabilire se LausivLoader sia una famiglia malware nota in precedenza o se questo campione rappresenti un'evoluzione specifica.

Non sono disponibili informazioni su campagne precedenti o successive, origine geografica, attribuzione dell'attacco, o numero di vittime ed entità colpite.

Le informazioni sono basate sulla fonte citata e aggiornate al momento della pubblicazione.

Fonti


Fonti e riferimenti
  1. isc.sans.edu
  2. virustotal.com