Attenzione alle chiavette USB

“We investigate the anecdotal belief that end users will pick up and plug in USB flash drives they find by completing a controlled experiment in which we drop 297 flash drives on a large university campus.We find that the attack is effective with an estimated success rate of 45–98% and expeditious with the first drive connected in less than six minutes.”

Users Really Do Plug in USB Drives They Find

Hai mai trovato una chiavetta USB abbandonata da qualche parte ? Che so, magari al parco o sull’autobus. Oppure in biblioteca, su uno dei tanti tavoli-studio, o al bar ? E magari l’hai presa e, arrivato a casa, hai acceso il PC, attaccato la pennina e sbirciato al suo interno.

Magari stai pensando “si, che male c’è ?” e che, magari, stai giustificando questo gesto con il sano proposito di identificarne il proprietario per la restituizione, dopo aver letto questo post probabilmente ci penserai 2 volte prima di collegare al tuo PC una qualsiasi chiavetta USB.

Con l’aumento delle misure di sicurezza informatiche e del livello di affidabilità delle apparecchiature e dei software, la ricerca di falle nel sistema si è concentrata sull’unico elemento che non è cambiato molto negli anni: l’utente. In particolare, alcuni attacchi informatici e violazioni a sistemi protetti oggi vengono perpetrati proprio sfruttando l’anello debole del sistema, l’utente, e l’innata curiosità di ognuno di noi.

Tra i tanti oggetti di uso comune, le chiavette USB sicuramente sono uno degli strumenti più usati per trasportare dati: foto, tesi di laurea, documenti di lavoro…possono essere comodamente trasportati nella tasca della giacca, con ingombro minimo e pronti all’uso: basta una porta USB ! Tutto bello, tutto perfetto se non fosse che le porte USB sono concepite per funzionare con una enorme quantità di dispositivi, non solamente penne dati.

Ad esempio, ma immagino che già lo sappiate, ad una porta USB si può collegare un mouse, una stampante, una tastiera… tutti dispositivi che possono essere emulati con poche righe di codice con un qualsiasi dispositivo come Arduino (Mouse and Keyboard libraries) e, avendo intenzioni non propriamente oneste, utilizzare questa possibilità per infiltrare codice malevolo all’interno di un qualsiasi sistema informatico.

Giusto per farvi capire, e vedere, di cosa sto parlando, ecco una chiavetta USB “WHID” (WiFi Hid Injector), basata su modulo ESP8266:

Questa tecnica, chiamata BadUSB, si basa sulla programmazione di chiavette USB “malevole” (come quella sopra) dove un attaccante può inserire il codice da far eseguire sul PC della vittima, che può essere un keylogger, un malware, un RAT

Chi ha visto la serie Mr Robot avrà notato questo tipo di attacco in almeno due puntate 🙂

Premetto che non è una tecnica proprio banale: richiede qualche conoscenza base di Arduino e del protocollo USB, oltre ovviamente a dover essere costruita ad-hoc per il sistema operativo del computer della vittima. Nel caso di un sistema MS Windows, sarà usata la PowerShell mentre per sistemi *NIX like, un attacco basato su un payload comporterà l’esecuzione di un qualche script bash. Un’idea di quante cose è possibile realizzare tramite questo attacco la trovate in questo repository di payloads pronti all’uso: github.com/hak5darren/USB-Rubber-Ducky/wiki/Payloads

Ovviamente tali dispositivi possono essere anche usati a fini legittimi: ad esempio, per monitorare un server o per accedere, da remoto, a certi dispositivi headless oppure per estrarre, in maniera del tutto legittima, le credenziali da una macchina da cui si è tagliati fuori per qualche motivo (es. utilizzando l’utility mimikatz).

Come difendersi ?

Beh, innanzitutto fate attenzione alle chiavette USB che trovate in giro e non inseritele nella porta USB vostro PC, almeno non prima di aver predisposto un adeguato sistema di sicurezza. Ad esempio, utilizzando un sistema operativo *nix like (Linux) che vi permette di verificare agevolmente la tipologia di dispositivo inserito nella porta USB con il comando “dmesg“. Ad esempio, questo è il messaggio in caso di chiavetta USB dati:

Notare “SCSI removable disk“, che indica appunto la presenza di un disco rimovibile. Nel caso, invece, di una pennina bad USB, il messaggio nel log sarà diverso:

Notare “USB HID 1.01 Keyboard“, che sta a significare come il sistema abbia identificato la chiavetta USB appena inserita come una tastiera

Michele Pinassi

Nato a Siena nel 1978, dopo aver conseguito il diploma in "Elettronica e Telecomunicazioni" e la laurea in "Storia, Tradizione e Innovazione", attualmente è Responsabile del Sistema telefonico di Ateneo presso l'Università degli Studi di Siena ed esperto di sicurezza informatica nello staff del DPO. Utilizza quasi esclusivamente software libero.

Potrebbero interessarti anche...

Rispondi

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.

%d blogger hanno fatto clic su Mi Piace per questo: