Search Code

Tutorial USB Sniffer de 34 USD: Capturați mișcarea mouse-ului și tastările de la tastatură folosind Wireshark

Tutorial USB Sniffer de 34 USD: Capturați mișcarea mouse-ului și tastările de la tastatură folosind Wireshark

Ghid USB Sniffer: Capturați mișcarea mouse-ului și tastele apăsate folosind Wireshark

În acest proiect, explorăm modul în care un dispozitiv USB sniffer poate fi folosit pentru a monitoriza și analiza comunicarea USB între un computer și dispozitive de intrare comune, cum ar fi un mouse și o tastatură. Prin plasarea unui USB sniffer în serie între dispozitivul USB și computer, toate pachetele USB care trec pot fi capturate și analizate în timp real folosind Wireshark.

usb_sniffter-12

Acest tutorial demonstrează cum mișcările mouse-ului, clicurile pe butoane și chiar tastele apăsate (inclusiv parolele) pot fi observate la nivelul protocolului USB. Proiectul este destinat scopurilor educaționale pentru a înțelege cum funcționează intern dispozitivele USB de interfață umană (HID) și de ce securitatea fizică este la fel de importantă ca securitatea software.

Ce este un USB Sniffer?

Un USB sniffer este un dispozitiv hardware care se plasează între un periferic USB (cum ar fi un mouse sau o tastatură) și un computer gazdă. Acesta transmite datele în mod transparent, astfel încât dispozitivul funcționează normal, capturând simultan și expunând pachetele de date USB printr-o interfață de monitorizare separată.

În acest proiect, USB sniffer-ul acționează ca un dispozitiv de trecere:

  • Mouse-ul sau tastatura USB se conectează la sniffer
  • Sniffer-ul se conectează la computer
  • O conexiune USB separată de la sniffer merge către un computer de monitorizare care rulează Wireshark

Tot traficul USB care trece între dispozitiv și computer poate fi capturat și decodat fără a afecta funcționarea normală :contentReference[oaicite:0]{index=0}.

Componentele principale utilizate

Hardware USB Sniffer

USB sniffer-ul folosit în acest proiect se bazează pe un design FPGA creat de Alex Tarasov. Designul complet include firmware, fișiere PCB și instrumente software. Unitatea comercială folosită aici vine cu firmware preîncărcat, astfel încât nu este necesară nicio programare sau configurare înainte de utilizare.

Intern, sniffer-ul interceptează liniile diferențiale de date USB și oglindește pachetele către o interfață USB separată pe care Wireshark o poate monitoriza.

usb_sniffter-4

Mouse și tastatură (dispozitive USB HID)

Atât mouse-ul, cât și tastatura sunt dispozitive USB de interfață umană (HID). Aceste dispozitive trimit rapoarte periodice către computerul gazdă care descriu starea lor:

  • Mouse: stările butoanelor, mișcarea X, mișcarea Y
  • Tastatură: taste modificatoare și coduri de scanare a tastelor

Aceste rapoarte sunt transmise în formă clară, necriptată, prin USB, motiv pentru care pot fi capturate de un sniffer.

Computer cu Wireshark

Wireshark este folosit pentru a captura și analiza pachetele USB. Pe Windows, captura USB necesită componente suplimentare pentru a permite accesul la traficul USB la nivel de driver.

Cablare și conexiune

USB sniffer-ul este conectat în serie între dispozitivul USB și computer.

usb-sniffer-wiring-mouse
usb-sniffer-wiring-keyboard
usb-sniffer-wiring-mouse
  • Conectați mouse-ul sau tastatura la portul de intrare USB al sniffer-ului
  • Conectați portul de ieșire USB al sniffer-ului la computer
  • Conectați portul USB de monitorizare al sniffer-ului la același computer sau la alt computer care rulează Wireshark

Dispozitivul USB continuă să funcționeze normal în timp ce traficul său este oglindit către portul de monitorizare.

Instalarea software-ului necesar

Instalarea Wireshark

Wireshark trebuie instalat pe computerul de monitorizare. În timpul instalării pe Windows, este esențial să activați componenta de suport pentru captura USB. Fără acest driver, traficul USB nu poate fi capturat.

Odată instalat, Wireshark va lista interfețele de captură USB alături de interfețele de rețea.

Driver USB Sniffer (Windows)

Un mic executabil de ajutor este necesar pe Windows pentru a permite Wireshark să acceseze datele de sniffing USB de la hardware. Acest executabil trebuie plasat în calea de sistem (de exemplu, direct sub C:\Program Files\Wireshark\extcap  sau oriunde ați instalat Wireshark), astfel încât Wireshark să poată comunica cu sniffer-ul.

Capturarea datelor USB în Wireshark

După lansarea Wireshark, selectați interfața USB sniffer și începeți captura. Inițial, poate apărea o cantitate mare de trafic USB nelegat de subiect.

usb_sniffter-11

Aplicarea filtrelor USB

Pentru a vă concentra doar pe datele USB relevante, se aplică un filtru de afișare:

usbll

Acest filtru afișează doar pachetele USB Link Layer, care conțin tranzacțiile USB brute schimbate între dispozitiv și gazdă.

Este necesară o filtrare suplimentară, deoarece USB produce un volum foarte mare de date.

Filtrarea după ID-ul pachetului (PID)

Pachetele de date de la mouse și tastatură pot fi identificate prin ID-uri specifice de pachet (PID). În acest proiect, PID-urile relevante observate sunt:

  • 0xC3
  • 0x4B

Acestea pot fi filtrate în Wireshark folosind:

usbll.pid == 0xC3 || usbll.pid == 0x4B

Acest filtru izolează pachetele de rapoarte HID care provin de la mouse sau tastatură.

Înțelegerea datelor de la mouse

Când mouse-ul este mișcat sau se face clic, rapoartele HID sunt trimise continuu. Fiecare raport conține mai mulți octeți:

  • ID-ul raportului
  • Stările butoanelor (stânga, dreapta, mijloc)
  • Mișcarea pe axa X
  • Mișcarea pe axa Y

Prin observarea valorilor octeților care se schimbă în Wireshark, pot fi deduse direcția și viteza de mișcare a mouse-ului. Chiar și fără clic, doar mișcarea generează activitate USB vizibilă.

Înțelegerea datelor de la tastatură

Datele de la tastatură sunt trimise ca rapoarte HID care conțin coduri de scanare, nu valori ASCII. Fiecare tastă corespunde unui ID de utilizare HID specific.

De exemplu:

  • 0x04 → Litera A
  • 0x05 → Litera B
  • 0x0E → Litera K

Literele mari și mici sunt determinate de tastele modificatoare, cum ar fi Shift, care apar în octeți separați ai raportului.

Tastele funcționale, cum ar fi F12, generează, de asemenea, coduri de scanare unice care pot fi observate direct în pachetele capturate.

Implicații de securitate

Acest proiect demonstrează clar că traficul USB HID nu este criptat. Dacă un dispozitiv rău intenționat este plasat fizic între o tastatură și un computer, acesta poate captura fiecare apăsare de tastă, inclusiv nume de utilizator și parole.

Acesta este motivul pentru care securitatea USB, hardware-ul de încredere și controlul accesului fizic sunt critice în medii sensibile.

Rezumatul demonstrației

În această demonstrație, următoarele au fost capturate și decodate cu succes:

  • Mișcarea mouse-ului și activitatea butoanelor
  • Apăsări individuale de taste de la tastatură
  • Taste funcționale și taste modificatoare
  • Cuvinte complete scrise pe tastatură

Dispozitivul de captare USB funcționează transparent, ceea ce face detectarea dificilă fără o inspecție fizică.

Concluzie

Acest proiect de captare USB oferă o demonstrație practică puternică a modului în care funcționează comunicarea USB la cel mai de jos nivel. Prin combinarea hardware-ului dedicat de captare cu Wireshark, devine posibil să se vadă exact cum comunică dispozitivele de intrare cu computerele.

Proiectul este ideal pentru învățarea protocoalelor USB, a structurilor de rapoarte HID și a considerațiilor de securitate din lumea reală. Deși este demonstrat cu un mouse și o tastatură, aceleași principii se aplică multor alte dispozitive USB.

Descărcare software

Aplicația de ajutor pentru Windows usb_sniffer_win.exe, necesară pentru capturarea datelor USB cu Wireshark, este disponibilă pentru descărcare mai jos în acest articol.

Imagini

usb_sniffter-3
usb_sniffter-3
usb_sniffter-4
usb_sniffter-4
usb_sniffter-5
usb_sniffter-5
usb_sniffter-6
usb_sniffter-6
USB Sniffer
USB Sniffer
usb_sniffter-10
usb_sniffter-10
usb_sniffter-11
usb_sniffter-11
usb_sniffter-12
usb_sniffter-12
usb_sniffter-8_software
usb_sniffter-8_software
usb_sniffter-9
usb_sniffter-9
usb-sniffer-wiring-keyboard
usb-sniffer-wiring-keyboard
usb-sniffer-wiring-mouse
usb-sniffer-wiring-mouse
Nu există cod atașat.

Lucruri de care ai putea avea nevoie

Resurse și referințe

Fișiere📁

Manualul utilizatorului

Alte fișiere