Iscriviti al webinar gratuito del 12 Maggio per diventare Forensic Analyst! Scopri di più
Corso Ethical Hacker: accedi alla promozione fino al 30 Aprile! Scopri di più
Quando un avversario rinomina un eseguibile malevolo con estensione .jpg o modifica i primi byte di un file per fargli sembrare un'immagine JPEG legittima, sta sfruttando una delle forme più classiche di evasione difensiva: il mascheramento del tipo di file. La tecnica si colloca nella fase di Defense Evasion (TA0005) e agisce su tre livelli distinti — estensione, magic bytes (la firma binaria che identifica il formato) e icona — per ingannare sia gli strumenti automatici sia l'operatore umano.
L'impatto operativo è rilevante: i dati del framework di riferimento censiscono 3 gruppi APT, 11 famiglie software e 2 campagne documentate che hanno impiegato questa sotto-tecnica. Il ventaglio di applicazioni spazia dal ransomware AvosLocker mascherato da immagine, ai file poliglotti DLL/HTML distribuiti da StrelaStealer, fino alle operazioni sponsorizzate da stati-nazione in cui Volt Typhoon ha rinominato copie del database Active Directory ntds.dit aggiungendo l'estensione .gif.
La pericolosità risiede nella semplicità: bastano un editor esadecimale e un cambio di estensione per eludere controlli di validazione basati solo sul nome del file, rendendo questa tecnica accessibile anche ad attori con competenze limitate e al tempo stesso presente nell'arsenale di gruppi avanzati.
Il mascheramento del tipo di file è una tecnica che si presta perfettamente a esercizi red team perché richiede strumenti minimi e produce risultati osservabili per il blue team. L'obiettivo in laboratorio è validare se i controlli endpoint rilevano la discrepanza tra estensione e contenuto reale.
Modifica dell'estensione senza alterare il contenuto. Il caso più banale è rinominare un payload. Su Windows, in PowerShell:
Copy-Item -Path .\payload.exe -Destination .\report.jpg
Su Linux il concetto è identico:
cp payload.elf /tmp/photo.gif
Questo simula esattamente ciò che ha fatto Sandworm Team durante la campagna 2016 Ukraine Electric Power Attack (C0025), mascherando eseguibili con estensione .txt.
Manipolazione dei magic bytes. Un livello più sofisticato consiste nel preporre una firma JPEG (0xFF 0xD8 0xFF 0xE0) a un eseguibile, così che tool come file su Linux lo classifichino erroneamente. Con Python:
python3 -c "import sys; sys.stdout.buffer.write(b'\xff\xd8\xff\xe0' + open('payload.exe','rb').read())" > fake.jpg
A questo punto il comando file fake.jpg restituirà "JPEG image data" nonostante il contenuto reale sia un PE. L'utility file (open source, preinstallata su distribuzioni Linux) si basa sulla libreria libmagic e analizza solo i primi byte.
Creazione di file poliglotti. I file poliglotti, validi contemporaneamente come due formati diversi, rappresentano la forma più avanzata di questa tecnica — come documentato per StrelaStealer, distribuito come poliglotto DLL/HTML. Per creare un poliglotto HTML/JavaScript in laboratorio si può usare lo strumento Polyfile (open source) per analizzare e validare strutture multi-formato.
Simulazione con icone fuorvianti. Come documentato per Brute Ratel C4 e Raspberry Robin, mascherare un file LNK con l'icona di Microsoft Word o di una cartella è estremamente efficace contro l'utente. Su Windows si può creare un collegamento LNK tramite PowerShell, impostando la proprietà IconLocation su un'icona legittima di sistema:
$ws = New-Object -ComObject WScript.Shell; $sc = $ws.CreateShortcut("$env:TEMP\document.lnk"); $sc.TargetPath = "cmd.exe"; $sc.Arguments = "/c calc.exe"; $sc.IconLocation = "C:\Program Files\Microsoft Office\root\Office16\WINWORD.EXE,0"; $sc.Save()
Per la verifica, lo strumento Sigcheck di Sysinternals (gratuito) è ideale per confrontare estensione e firma reale:
sigcheck.exe -e C:\Users\target\Downloads\report.jpg
Su Linux, YARA (open source) permette di scrivere regole personalizzate che rilevano la discrepanza tra estensione e header, elemento chiave per validare la detection del blue team.
Scarica la guida gratuita e segui il percorso corretto fin dal primo passo