Mascheramento Tipo File: Masquerade File Type (T1036.008)

La tecnica T1036.008 - Masquerade File Type rientra nella tattica TA0005 (Defense Evasion) e descrive la manipolazione di formato, estensione, icona o firma binaria (i cosiddetti magic bytes) di un payload malevolo per farlo apparire come un file legittimo e benigno. L'obiettivo è aggirare i controlli di validazione, la sanitizzazione degli input e le ispezioni superficiali degli operatori.

Ogni formato ha una struttura standard: un file JPEG inizia con 0xFF 0xD8, un PNG con 0x89 0x50 0x4E 0x47, un eseguibile PE con 0x4D 0x5A (MZ). Un attaccante può rinominare backdoor.php in test.gif per bypassare filtri sugli upload, oppure costruire un polyglot — un file che è simultaneamente valido in più formati e viene interpretato diversamente a seconda dell'applicazione che lo elabora.

Questa tecnica attraversa più fasi della kill chain: compare in Initial Access (allegati di phishing camuffati), in Ingress Tool Transfer durante il movimento laterale, in Upload Malware su infrastrutture C2 e nella persistenza. I dati MITRE documentano 3 gruppi APT, 11 famiglie di malware e 2 campagne che sfruttano il mascheramento del tipo file, tra cui l'attacco del 2016 alla rete elettrica ucraina e Operation Dream Job attribuita a Lazarus. La contromisura richiede l'ispezione dell'header reale, non della sola estensione.

In un ingaggio red team autorizzato, la simulazione di T1036.008 parte dalla scelta del vettore di consegna. Per phishing con allegato, il pattern classico è generare un LNK che punta a un payload rinominato con estensione benigna, replicando quanto osservato in Raspberry Robin e Brute Ratel C4.

Per verificare i magic bytes di un file di riferimento su Linux o macOS si usa file (preinstallato) e xxd per l'ispezione esadecimale:

xxd sample.jpg | head -n 2

file --mime-type sample.jpg

Su Windows il comando nativo certutil -encodehex payload.exe payload.hex (built-in) permette di ottenere una rappresentazione hex utile per costruire header ibridi. Per creare un polyglot JPEG/PHP — utile contro upload form vulnerabili — si prepende l'header JPEG a codice PHP:

printf '\xFF\xD8\xFF\xE0' > shell.jpg && echo '' >> shell.jpg

Strumenti dedicati alla costruzione di polyglot includono PoCGTFO e mitra (open source, entrambi su GitHub), che generano combinazioni tipo PDF/ZIP, PNG/JAR e HTML/DLL — quest'ultima combinazione ricalca il pattern di StrelaStealer.

Per emulare Kapeka, che si presenta come Word Add-In .wll, basta compilare una DLL con MinGW e rinominare l'estensione:

x86_64-w64-mingw32-gcc -shared payload.c -o addin.wll

L'esecuzione avviene copiando il file in *%APPDATA%\Microsoft\Word\STARTUP* dove Word carica automaticamente gli add-in all'avvio.

Per replicare la tecnica di Volt Typhoon — appendere estensione .gif al dump ntds.dit per eluderne l'esfiltrazione — si può usare in laboratorio:

copy ntds.dit ntds.gif

e trasferire il file via HTTP simulando traffico immagini legittimo. Framework di post-exploitation come Sliver (open source) e Havoc (open source) supportano nativamente il rename dei payload durante lo staging.

Per testare la robustezza di web application contro upload di polyglot, Burp Suite (freemium) con l'estensione Upload Scanner automatizza il fuzzing di estensioni, MIME type e magic bytes. Su ESXi, dove il tema è meno rilevante, si può comunque testare il caricamento di script Python mascherati da .log nella datastore. Documenta ogni artefatto generato per il report finale e rimuovi tutto al termine dell'esercizio.

Vuoi diventare un Ethical Hacker ma non sai da dove iniziare?

Accedi alle lezioni gratuite e segui il percorso corretto fin dal primo passo