Analisi del DLL Load Hijacking

Questo post ha l’intenzione di spiegare ed illustrare la vulnerabilità del DLL Load Hijacking scoperta la scorsa settimana dalla società di sicurezza Acros che imputava la falla esclusivamente ad iTunes ma poi si è scoperto essere un problema nettamente più diffuso a tutti i software che hanno interazioni con le libreria dinamiche DLL.

Microsoft ha rilasciato il Security Advisory (2269637) lo scorso 23 Agosto 2010 e conferma l’esistenza della vulnerabilità e specifica che sono soggette esclusivamente le applicazioni che non caricano le librerie esterne in modo sicuro secondo le loro linee guide disponibili in questo articolo di MSDN, Dynamic-Link Library Security.

La vulnerabilità viene attivata quando viene aperto un determinato tipo di file all’interno di una directory gestita dall’attaccante, la directory può essere su un chiavetta USB, all’interno di un archivio oppure in una condivisione di rete (SMB). Per far attivare l’exploit l’utente, nella maggior parte dei casi, dovrà accedere alla directory e quindi aprire il file. Il file aperto dall’utente sarà sicuramente innocuo ma avrà il compito di avviare l’applicazione “difettosa” che andrà a recuperare dal percorso remoto le DLL malevoli contenenti malware, trojan, ecc ecc.

In pratica, questa falla può essere sfruttata inviando all’utente bersaglio un link ad una condivisione remota contenente uno o più file innocui, ma realmente l’apertura di essi porterà al caricamento di DLL infette a causa di una errata gestione delle DLL del programma associato al file.

Prendendo in esame iTunes, che si associa automaticamente a diversi file multimediali (mp3,waw, ecc ecc), e ciascuno di questi comporta l’esistenza di una DLL all’interno della directory dell’applicazione l”utente potrebbe essere tratto in inganno fornendogli una directory remota piena di contenuti multimediali, del tipo \…\server\film\.

Se l’utente tenta di aprire qualsiasi file contenuto nella directory \film\, iTunes caricherà sicuramente il film ma cercherà nella medesima directory una eventuale DLL per il caricamento del video senza considerare le DLL originali contenute nella cartella di installazione “\iTunes”. Se l’attaccante ha fornito una DLL compatibile per il caricamento del film iTunes provvederà ad aprirla ed automaticamente infetterà il PC dell’utente se quest’ultima contiene codice malevolo.

Il team di metasploit ha già sviluppato il kit DLLHijackAuditKit in grado di analizzare ogni applicazione e determinare se è afflitta da tale vulnerabilità, ed in pochi giorni ha già raggiunto la seconda versione, tale applicativo può essere scaricamento tramite questo collegamento.

Il funzionamento di tale KIT è spiegato sul blog ufficiale di MetaSploit ma contiamo di crearvi una guida in Italiano a breve.

Fonti: