Segnali USB reverse engineering


8

Diciamo che esiste una chiavetta USB che è specifica per la memorizzazione di date o giorni o qualche tipo di dati arbitrari. Per accedere ai dati è necessario disporre del software.

Esiste un modo per analizzare i segnali USB e creare il proprio hardware per leggere i valori sull'unità flash? Quali metodi esistono per farlo?

Risposte:


7

Sì.

Sono stato molto soddisfatto del software di HHD . Ho usato il monitor della porta seriale per fare un po 'di ingegneria inversa qualche anno fa e il software HHD era ben adattato per il lavoro.

Mi sono dilettato con la loro versione dello sniffer USB ma non ho mai acquistato la versione completa. In passato c'era una versione di prova gratuita che era in qualche modo utile. Potrebbero ancora averlo.

Ad ogni modo, sono entrato in testa con USB perché non riuscivo a capire come realizzare il "driver" in Windows. Se stai usando Linux, il progetto potrebbe essere un po 'più semplice, dato che tutta quella logica I / O del driver di basso livello è facilmente accessibile nel codice del kernel. Inoltre, Linux 2.6 offre alcuni dispositivi in ​​/ dev che possono essere utilizzati per inviare / ricevere direttamente sul dispositivo USB senza la necessità di alcun modulo / driver speciale. Ottimo per lo sviluppo.


Sono interessato a fare un po 'di reverse engineering della comunicazione USB della scheda di sviluppo della scheda di sviluppo del launchpad MSP430 sotto Linux. Sai dove potrei trovare qualche informazione in più sui dispositivi sotto / dev con cui posso comunicare direttamente?
pfyon,

1
Qualche tempo fa stavo facendo ricerche sull'interfaccia USB dello spazio utente Linux. (Ho finito per programmare solo per Windows e OS X) Le uniche informazioni che ho trovato sull'interfaccia / proc erano nella libreria libusb (usa l'interfaccia) e il kernel stesso (non ricordo il link o il nome del file più).
jpc,

4

Il reverse engineering USB può essere una sfida; ci sono molti dati da ordinare.

Innanzitutto, devi capire il protocollo; Ho trovato USB in a Nutshell per essere abbastanza buono.

Quindi hai bisogno di un modo per raccogliere il traffico e analizzarlo. Richiede almeno un po 'di software e forse un po' di hardware. Uso un analizzatore USB hardware al lavoro, ma sono costosi. So che è possibile utilizzare Virtualbox e raccogliere il traffico USB in Linux, ma non l'ho mai fatto. Puoi iniziare con Virtual USB Analyzer .


Uso un analizzatore USB Ellisys ogni tanto. Quando qualcuno dice "Il dispositivo X è costoso", la risposta corretta è "Rispetto a cosa?" (In un recente caso al lavoro, mi è stato detto che qualcosa nel mio codice non funzionava. Mi ci sono voluti un paio di minuti con l'Ellisys per dimostrare che il problema era da qualche altra parte, e la maggior parte di quel tempo stava collegando le cose a eseguire il test.)
John R. Strohm,

2

Penso che ti riferisci ai dongle USB utilizzati per la protezione del software. Non usano classi di dispositivi USB HID standard o MASS STORAGE e di solito implementano il proprio protocollo e forniscono il proprio driver lato PC per la comunicazione con loro. L'applicazione PC di solito chiede loro di rispondere correttamente al messaggio crittografato inviato, oppure forniscono alcune informazioni critiche non esistenti nell'applicazione PC, necessarie all'applicazione per funzionare correttamente. Questi messaggi possono essere sniffati, come qualsiasi altra cosa tramite USB, ma fai attenzione poiché potresti camminare sul bordo. Educare te stesso all'USB è una cosa, ma pubblicare lavori che violano la protezione del software non è legale e sarà perseguito. Non farlo Mi scuso se ho frainteso la domanda.


È illegale in alcuni paesi, ma non in tutti.
pfyon,

La decodifica del traffico non sarà comunque banale.
Erik Friesen,

2

Puoi analizzare il traffico USB con Wireshark: http://wiki.wireshark.org/CaptureSetup/USB

Wireshark è un software gratuito, noto soprattutto per le sue capacità di analisi della rete, ma da un po 'di tempo fa anche lo sniffer USB.


Vale la pena notare che l'acquisizione USB richiede fondamentalmente Linux. È possibile acquisire il traffico USB di Windows eseguendo Windows in una macchina virtuale, su Linux .
Connor Wolf,

Se si desidera una soluzione di sniffing USB di Windows, VMWare può registrare il traffico USB con un host Windows, anche se è necessario disporre del dispositivo USB effettivo collegato a una VM.
Connor Wolf,

2

Pochi famosi hacker (che hanno invertito le console di gioco) stanno attualmente sviluppando uno strumento per analizzare il protocollo USB. Si chiama OpenVizsla. È attualmente in fase di sviluppo ma presto sarà completato. È un progetto open source completo.

Controlla questo link http://www.kickstarter.com/projects/bushing/openvizsla-open-source-usb-protocol-analyzer/posts


I link aggiornati per questo progetto sono: openvizsla.org e github.com/openvizsla/ov_ftdi
Glenn 'devalias'


0

Ci sono tonnellate di soluzioni software e hardware. Catturare i dati e analizzare non è un problema, tuttavia è necessario capire cosa c'è nella chiavetta USB. Ho visto persone sviluppare penne USB con processori integrati e crittografia AES. (Crittografato / decrittografato localmente). Senza sapere cosa sia esattamente questa chiavetta USB, è difficile sapere esattamente cosa si può imparare dal traffico.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.