Controllo della protezioneIsland hopping:il fascino ingannevole di un bottino facile

Jesper M. Johansson

Per anni è stata utilizzata una tecnica denominata "island hopping", che consente di entrare in una rete tramite un collegamento debole e passare da un sistema all'altro.Nel tempo, questo tipo di tecnica sta assumendo sempre nuove dimensioni.Negli attuali ambienti IT, dove tutti sono consapevoli dell'importanza della protezione, gli utenti rappresentano spesso il collegamento più debole che gli utenti malintenzionati

cercano di sfruttare a loro vantaggio (basti pensare al phishing e alle altre forme di ingegneria sociale).Questa combinazione può diventare fatale per la tua rete.

Uno dei tentativi che preferisco per esaminare il comportamento umano è stato organizzato da Steve Stasiukonis della Secure Network Technologies durante un test di penetrazione per un cliente.Questi ha disseminato nel parcheggio del cliente diverse unità memoria flash USB, tutte contenenti un trojan horse.Quando i dipendenti arrivarono al lavoro la mattina, rimasero felicemente sorpresi nel trovare questi regali sparpagliati nel parcheggio.Raccolsero con entusiasmo le unità USB e le inserirono nei primi computer che si trovarono davanti:le proprie workstation.

Probabilmente alcuni di essi furono abbastanza saggi da non raccogliere le unità USB e forse altri le buttarono via, ma bastò un solo utente che infettò il proprio sistema per fornire così un gateway nella rete.Ovviamente, Stasiukonis eseguì questo esperimento come un test, ma la stessa tecnica è stata utilizzata da veri criminali per infiltrarsi in reti aziendali di grandi dimensioni.

Attualmente, le unità memoria flash USB si trovano ovunque.In quasi tutte le conferenze, si trovano fornitori che le regalano come fossero caramelle.Queste unità, spesso, hanno una capacità limitata, ma non è necessario molto spazio per assumere il controllo di un'intera rete.In questa serie di due parti, analizzerò questo tipo di attacchi e illustrerò alcune soluzioni utili per ridurre eventuali rischi.Nel numero di questo mese, spiegherò in dettaglio cosa si può fare con un'unità memoria flash USB e come è possibile controllarla.Nel numero del mese prossimo di TechNet Magazine, illustrerò come contenere un attacco a un unico sistema o a un piccolo gruppo di sistemi della rete.

I dettagli tecnici dell'attacco sono effettivamente abbastanza semplici.Tutto ha inizio con un un'unità memoria flash USB infetta inserita in un solo computer.Quanto avviene dopo dipende dal payload di tale unità e, ovviamente, da quanto l'utente è credulone.

Scenario iniziale

Sul palco era stato lasciato un computer portatile incustodito.Il relatore era sceso tra il pubblico per cercare di accattivarsene la simpatia prima di cominciare con la sua presentazione.Il computer portatile era bloccato, ma questo non rappresentò un ostacolo.L'utente malintenzionato salì sul palco e si soffermò per un po', come se stesse aspettando che il relatore tornasse.Poiché questi palchi sono generalmente progettati per nascondere quanto di sgradevole alla vista, ad esempio i computer, era praticamente impossibile riuscire a vedere le porte USB e le mani dell'utente malintenzionato.Una volta inserita l'unità memoria flash USB nel computer, bastarono pochi secondi per portare a termine l'attacco.

Su questo tema esistono alcune variazioni.Ad esempio, quando giravo il mondo per le mie presentazioni, al termine di ogni presentazione c'era sempre qualcuno che mi chiedeva una copia delle mie diapositive.Solitamente, tiravo fuori il mio biglietto da visita e chiedevo di inviarmi un messaggio di posta elettronica.Perché lo facevo se queste persone mi porgevano un'unità memoria flash USB?Perché conosco bene strumenti del tipo USB Hacksaw e USB Switchblade.Per informazioni su questi strumenti, visitare il sito all'indirizzo wiki.hak5.org.

Fondamentalmente, questi strumenti consentono di individuare con estrema facilità le persone che lasciano non protette le proprie porte USB.Ad esempio, Switchblade è in grado di scaricare:

  • Informazioni di sistema
  • Tutti i servizi di rete
  • Un elenco delle porte in ascolto
  • Tutti i codici "Product Key" per i prodotti Microsoft presenti sul computer
  • Il database di password locale
  • La password di tutte le reti wireless utilizzate dal computer
  • Tutte le password di rete archiviate nel computer dall'utente attualmente connesso
  • Internet Explorer®, Messenger, Firefox e le password di posta elettronica
  • I documenti segreti dell'autorità di protezione locale (Local Security Authority, LSA), che contengono tutte le password dell'account di servizio in testo non crittografato
  • Un elenco delle patch installate
  • Una cronologia recente delle esplorazioni

Bastano circa 45 secondi per raccogliere tutti questi dati in un file di registro sull'unità memoria flash.

Hacksaw è una versione leggermente modificata che installa un trojan horse sul computer che controlla quando viene inserita un'unità memoria flash USB.Successivamente, invia all'utente malintenzionato, tramite posta elettronica, tutti i documenti contenuti nelle unità memoria flash inserite nel computer.

Gli strumenti finora descritti utilizzano U3 (u3.com), una tecnologia progettata per consentire agli utenti di portare con sé i programmi su un'unità memoria flash.In breve, un'unità memoria flash dotata di U3 mente sulla propria identità.Comunica al sistema operativo di essere un hub USB contenente un'unità memoria flash e un CD inserito.Per impostazione predefinita, le versioni di Windows® precedenti a Windows Vista® eseguono automaticamente i programmi indicati nel file autorun.inf dei CD, ma non delle unità USB.Nascondendo questo aspetto, l'unità memoria flash USB dotata di U3 aggira il sistema operativo ed esegue automaticamente un programma definito utilità di avvio U3.L'utilità di avvio U3, a sua volta, è in grado di avviare i programmi, fornire un menu o eseguire qualsiasi operazione dal computer.

Questi strumenti si limitano a sostituire l'utilità di avvio con il codice che consente di sfruttare le vulnerabilità.Non appena l'unità memoria flash viene inserita in un sistema Windows XP, lo strumento si avvia automaticamente.In Windows Vista, AutoPlay funziona in maniera differente.Esecuzione automatica è attualmente attivo sui dispositivi rimovibili, come i CD.Ciò significa che quando il dispositivo viene inserito nel sistema, succede qualcosa.Per impostazione predefinita, viene visualizzata la finestra di dialogo AutoPlay, come illustrato nella Figura 1.

Figura 1 La finestra di dialogo AutoPlay predefinita viene visualizzata quando un utente inserisce un'unità rimovibile contenente immagini

Figura 1** La finestra di dialogo AutoPlay predefinita viene visualizzata quando un utente inserisce un'unità rimovibile contenente immagini **

Si noti che la finestra di dialogo illustrata nella Figura 1 presenta l'opzione "Esegui sempre questa operazione per le immagini".In questo modo viene impostata un'opzione di AutoPlay, che può essere configurata nel Pannello di controllo, illustrato nella Figura 2.

Figura 2 Configurazione di AutoPlay in Windows Vista

Figura 2** Configurazione di AutoPlay in Windows Vista **(Fare clic sull'immagine per ingrandirla)

La configurazione di AutoPlay è particolarmente interessante per l'opzione "Software e giochi".Per definizione, questa opzione indica che l'unità rimovibile contiene un file autorun.inf che avvia l'esecuzione di alcuni programmi.Le impostazioni presenti nella Figura 2 correlate a "Software e giochi" vengono memorizzate nella seguente chiave del Registro di sistema:

Hive:    HKEY_CURRENT_USER
Key:    \Software\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\
UserChosenExecuteHandlers\AutorunINFLegacyArrival 
Value: (Default)
Data:
MSAutoRun – automatically executes the program specified in the autorun.inf file
   
MSPromptEachTime – prompts the user, using strings specified in the autorun.inf file, if available

Poiché non è necessario essere un amministratore per modificare tali impostazioni, gli utenti possono impostarle come desiderano, ad esempio eseguendo automaticamente qualsiasi malware presente sull'unità trovata nel parcheggio.Infatti, possono farlo selezionando la casella appropriata nella finestra di dialogo AutoPlay.

Gestione di AutoPlay nella rete

Gli amministratori possono gestire AutoPlay in due modi all'interno della rete.Innanzitutto, è possibile impedire a un utente di attivare AutoPlay su supporti rimovibili e CD modificando l'impostazione NoDriveTypeAutoRun che controlla i tipi di unità per cui AutoPlay è abilitato.In Windows XP, NoDriveTypeAutoRun è impostato su 0x95. Questo valore fa sì che AutoPlay sia disattivato sui tipi di unità sconosciute, sulle unità di rete e sui dispositivi rimovibili.A partire da Windows XP SP2, l'impostazione NoDriveTypeAutoRun viene configurata, per impostazione predefinita, su 0x91,consentendo quindi l'attivazione di AutoPlay sui dispositivi di archiviazione rimovibili.Se si utilizza Criteri di gruppo, in Configurazione utente\Modelli amministrativi\Componenti di Windows\Criteri AutoPlay è disponibile un'opzione che consente di gestire l'impostazione di NoDriveTypeAutoRun.Disattivando l'impostazione AutoPlay e selezionando le unità CD-ROM e quelle rimovibili, AutoPlay viene disattivato su entrambi i tipi di unità.

Di conseguenza, l'utente non visualizza la finestra di dialogo AutoPlay dalla Figura 1.Infatti, quando l'utente inserisce l'unità non accade nulla.Probabilmente questa non è la soluzione ideale in quanto l'utente che non sa come accedere alle informazioni necessarie presenti sull'unità può entrare in confusione.

Forse si potrebbe controllare quali sono i contenuti che possono essere riprodotti automaticamente.Per certi versi è possibile eseguire questa operazione in Windows Vista, in quanto questo sistema operativo presenta due livelli di controlli sull'esecuzione automatica del software.Un altro controllo in Criteri di gruppo, illustrato nella Figura 3, consente di disattivare la funzionalità AutoPlay del software che utilizza i file autorun.inf, lasciando inalterate al tempo stesso le altre funzionalità di AutoPlay in Windows Vista.

Figura 3 Disattivare i file autorun.inf con Criteri di gruppo

Figura 3** Disattivare i file autorun.inf con Criteri di gruppo **(Fare clic sull'immagine per ingrandirla)

Il flusso decisionale risulta più complesso se si tratta di AutoPlay e, forse, è più semplice illustrarlo con un diagramma di flusso.Nella Figura 4 viene illustrato il flusso decisionale utilizzato per stabilire se eseguire automaticamente un file su supporti rimovibili.

Figura 4 Flusso decisionale di AutoPlay

Figura 4** Flusso decisionale di AutoPlay **(Fare clic sull'immagine per ingrandirla)

Altri scenari

Naturalmente, gli strumenti appena descritti sono solo alcuni di quelli esistenti utilizzati per compromettere un computer con un'unità memoria flash USB.A questi può essere aggiunto qualsiasi altro tipo di strumento, ad esempio che consente di eseguire il dump dell'hash password di Windows NT® dell'utente attualmente connesso (vedere microsoft.com/technet/community/columns/secmgmt/sm1005.mspx).

Molti controller USB sono in realtà dispositivi DMA (Direct Memory Access, Accesso Diretto alla Memoria).Ciò significa che possono ignorare il sistema operativo e leggere e scrivere direttamente sulla memoria del computer.Ignorando il sistema operativo, vengono ignorati i controlli di protezione, quindi l'accesso all'hardware è libero.Ciò può rendere completamente inefficace il controllo del dispositivo implementato dal sistema operativo.Non conosco quali sono attualmente gli strumenti di attacco che la utilizzano, ma dubito fortemente che questa tecnica non sia già stata utilizzata.

Un altro modo per sfruttare la combinazione di utenti creduloni e dispositivi rimovibili vulnerabili consiste nel presentare un'opzione allettante.Ad esempio, quanti utenti vorrebbero fare clic sulla finestra di dialogo illustrata nella Figura 5?Non tutti, ma probabilmente molti.Il punto è che basta veramente poco per escogitare una finestra di dialogo troppo accattivante per essere ignorata dagli utenti.

Figura 5 Quanti utenti cadrebbero nella trappola?

Figura 5** Quanti utenti cadrebbero nella trappola? **

Blocco del dispositivo

Criteri di gruppo, una novità di Windows Vista, dispone ora di una serie di criteri per gestire l'installazione del dispositivo (vedere la Figura 6).Come illustrato, l'amministratore può bloccare l'installazione di tutti i nuovi dispositivi rimovibili se il driver specifica che sono rimovibili.Se, invece, il driver indica che non lo sono, il criterio non ha alcun effetto sulla loro installazione.Quindi, per aggirare questo criterio, è possibile utilizzare driver personalizzati.

Figura 6 Criteri di installazione del dispositivo di Windows Vista

Figura 6** Criteri di installazione del dispositivo di Windows Vista **(Fare clic sull'immagine per ingrandirla)

Per un controllo più dettagliato, l'amministratore può utilizzare i criteri che consentono di agire sulle classi di installazione di un dispositivo specifico.Tuttavia, tali criteri richiedono che l'utente conosca il GUID della classe di un dispositivo specifico che si desidera bloccare (o consentire), rendendo la gestione di questo approccio decisamente più difficile.

L'importanza del privilegio minimo

Mettiamo da parte per un momento lo scenario DMA. Il successo degli attacchi descritti in precedenza, così come il successo delle contromisure scelte, dipenderà dai privilegi di cui dispone l'utente che utilizza il computer.Se l'utente è standard, i danni che un attacco può causare sono limitati.Mediante un attacco è comunque possibile rubare i dati dell'utente e tutto ciò a cui quest'ultimo ha accesso.È molto probabile, comunque, che l'attacco non avrà alcun impatto sulla rete in generale.

Tuttavia, se l'utente che subisce l'attacco è un amministratore, le conseguenze potrebbero essere gravi.Nella peggiore delle ipotesi, l'utente è un amministratore di dominio e assumere il controllo dell'intera rete è piuttosto semplice.Ad esempio, l'utente malintenzionato potrebbe estrarre dalla memoria l'hash password dell'utente.Al momento dell'accesso il sistema, memorizza nella cache l'hash presente all'interno dello spazio del processo LSA. In questo modo l'hash può essere utilizzato per accedere in maniera trasparente alle risorse di rete per conto dell'utente.Un utente malintenzionato con privilegi amministrativi può estrarre questo hash e accedere a qualunque risorsa di rete.In altre parole, se l'utente è un amministratore di dominio, è possibile compromettere l'intero dominio.

Questo mi fa pensare alle dipendenze.Fino ad ora, ho delineato un attacco specifico alle workstation.Non ho, tuttavia, analizzato le conseguenze che un attacco può avere sulla scalabilità di rete.Nell'articolo del prossimo mese, analizzerò le dipendenze, illustrando cosa rappresentano per l'ambiente nel suo insieme e, ancora più importante, come è possibile rafforzarle.

Jesper M. Johansson, Principal Security Engineer, si occupa dei problemi di protezione software e collabora con TechNet Magazine in qualità di redattore.Ha conseguito il titolo di PhD in MIS e ha oltre 20 anni di esperienza nel settore della protezione.

© 2008 Microsoft Corporation e CMP Media, LLC. Tutti i diritti riservati. È vietata la riproduzione completa o parziale senza autorizzazione.