Suchcode

$34 USB Sniffer Tutorial: Erfassen von Mausbewegungen und Tastatureingaben mit Wireshark

$34 USB Sniffer Tutorial: Erfassen von Mausbewegungen und Tastatureingaben mit Wireshark

USB-Sniffer-Tutorial: Erfassen von Mausbewegungen und Tastatureingaben mit Wireshark

In diesem Projekt untersuchen wir, wie ein USB-Sniffergerät verwendet werden kann, um die USB-Kommunikation zwischen einem Computer und gängigen Eingabegeräten wie einer Maus und einer Tastatur zu überwachen und zu analysieren. Durch das Einfügen eines USB-Sniffers zwischen dem USB-Gerät und dem Computer können alle durchlaufenden USB-Pakete in Echtzeit erfasst und mit Wireshark analysiert werden.

usb_sniffter-12

Dieses Tutorial zeigt, wie Mausbewegungen, Mausklicks und sogar Tastatureingaben (einschließlich Passwörtern) auf der Ebene des USB-Protokolls beobachtet werden können. Das Projekt dient Bildungszwecken, um zu verstehen, wie USB Human Interface Devices (HID) intern funktionieren und warum physische Sicherheit genauso wichtig ist wie Software-Sicherheit.

Was ist ein USB-Sniffer?

Ein USB-Sniffer ist ein Hardwaregerät, das zwischen einem USB-Peripheriegerät (wie einer Maus oder Tastatur) und einem Host-Computer sitzt. Er leitet die Daten transparent weiter, sodass das Gerät normal funktioniert, während gleichzeitig die USB-Datenpakete über eine separate Überwachungsoberfläche erfasst und angezeigt werden.

In diesem Projekt fungiert der USB-Sniffer als Durchgangsgerät:

  • Die USB-Maus oder -Tastatur verbindet sich mit dem Sniffer.
  • Der Sniffer verbindet sich mit dem Computer.
  • Eine separate USB-Verbindung vom Sniffer geht zu einem Überwachungscomputer, der Wireshark ausführt.

Der gesamte USB-Verkehr, der zwischen dem Gerät und dem Computer fließt, kann erfasst und decodiert werden, ohne den normalen Betrieb zu beeinträchtigen :contentReference[oaicite:0]{index=0}.

Hauptbestandteile verwendet

USB-Sniffer-Hardware

Der im Projekt verwendete USB-Sniffer basiert auf einem von Alex Tarasov entwickelten FPGA-Design. Das vollständige Design umfasst Firmware, PCB-Dateien und Software-Tools. Die hier verwendete kommerzielle Einheit wird mit vorinstallierter Firmware geliefert, sodass vor der Benutzung kein Flashen oder Konfigurieren erforderlich ist.

Internally greift der Sniffer auf die USB-Differenzialdatenleitungen zu und spiegelt die Pakete an eine separate USB-Schnittstelle, die Wireshark überwachen kann.

usb_sniffter-4

Maus und Tastatur (USB-HID-Geräte)

Sowohl die Maus als auch die Tastatur sind USB-Menschliche Schnittstellen-Geräte (HID). Diese Geräte senden regelmäßige Berichte an den Host-Computer, die ihren Zustand beschreiben:

  • Maus: Tastenstatus, X-Bewegung, Y-Bewegung
  • Tastatur: Modifikatortasten und Tastenscan-Codes

Diese Berichte werden unverschlüsselt und im Klartext über USB übertragen, weshalb sie von einem Sniffer erfasst werden können.

Computer mit Wireshark

Wireshark wird verwendet, um die USB-Pakete zu erfassen und zu analysieren. Unter Windows erfordert die USB-Erfassung zusätzliche Komponenten, um den Zugriff auf den USB-Verkehr auf Treiberebene zu ermöglichen.

Verdrahtung und Anschluss

Der USB-Sniffer ist inline zwischen dem USB-Gerät und dem Computer angeschlossen.

usb-Sniffer-Verkabelung-Tastatur
usb-sniffer-wiring-mouse
  • Schließe die Maus oder die Tastatur an den USB-Eingangsanschluss des Sniffers an.
  • Verbinden Sie den USB-Ausgangsanschluss des Sniffers mit dem Computer.
  • Verbinden Sie den Überwachungs-USB-Anschluss des Sniffers mit demselben oder einem anderen Computer, auf dem Wireshark ausgeführt wird.

Das USB-Gerät funktioniert weiterhin normal, während sein Datenverkehr auf den Überwachungsport gespiegelt wird.

Installieren der erforderlichen Software

Wireshark-Installation

Wireshark muss auf dem Überwachungscomputer installiert werden. Bei der Installation unter Windows ist es wichtig, die USB-Aufnahmeunterstützungs-Komponente zu aktivieren. Ohne diesen Treiber kann der USB-Verkehr nicht erfasst werden.

Sobald Wireshark installiert ist, werden USB-Aufnahmeinterfaces neben Netzwerkinterfaces angezeigt.

USB-Sniffer-Treiber (Windows)

Ein kleines Hilfsprogramm ist unter Windows erforderlich, damit Wireshark auf USB-Sniffing-Daten von der Hardware zugreifen kann. Dieses Programm muss im Systempfad (zum Beispiel direkt unter dem C:-Laufwerk) platziert werden, damit Wireshark mit dem Sniffer kommunizieren kann.

USB-Daten in Wireshark erfassen

Nachdem Sie Wireshark gestartet haben, wählen Sie die USB-Sniffer-Schnittstelle aus und beginnen mit der Erfassung. Zunächst kann eine große Menge an nicht verwandtem USB-Verkehr erscheinen.

usb_sniffter-11

Anwenden von USB-Filtern

Um sich nur auf relevante USB-Daten zu konzentrieren, wird ein Anzeigefilter angewendet:

usbll

Dieser Filter zeigt nur USB Link Layer-Pakete an, die die rohen USB-Transaktionen enthalten, die zwischen dem Gerät und dem Host ausgetauscht werden.

Weiteres Filtern ist erforderlich, da USB ein sehr hohes Datenvolumen produziert.

Filterung nach Paket-ID (PID)

Maus- und Tastaturdatenpakete können durch spezifische Packet-IDs (PID) identifiziert werden. In diesem Projekt sind die relevanten beobachteten PIDs:

  • 0xC3
  • 0x4B

Diese können in Wireshark gefiltert werden mit:

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

Dieser Filter isoliert HID-Berichtspakete, die von der Maus oder der Tastatur stammen.

Mausdaten verstehen

Wenn die Maus bewegt oder geklickt wird, werden HID-Berichte kontinuierlich gesendet. Jeder Bericht enthält mehrere Bytes:

  • Bericht-ID
  • Schaltzustände (links, rechts, mitte)
  • X-Achsenbewegung
  • Y-Achsenbewegung

Durch die Beobachtung der sich ändernden Byte-Werte in Wireshark können Richtung und Geschwindigkeit der Mausbewegung abgeleitet werden. Selbst ohne Klicken erzeugt allein die Bewegung sichtbar USB-Aktivität.

Verstehen von Tastaturdaten

Tastaturdaten werden als HID-Berichte gesendet, die Scancodes anstelle von ASCII-Werten enthalten. Jede Taste entspricht einer bestimmten HID-Verwendungs-ID.

Zum Beispiel:

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

Groß- und Kleinbuchstaben werden durch Modifier-Tasten wie Shift bestimmt, die in separaten Bytes des Berichts erscheinen.

Funktionstasten wie F12 erzeugen ebenfalls einzigartige Scan-Codes, die direkt in den erfassten Paketen beobachtet werden können.

Sicherheitsimplikationen

Dieses Projekt zeigt eindeutig, dass der USB HID-Verkehr nicht verschlüsselt ist. Wenn ein bösartiges Gerät physisch zwischen einer Tastatur und einem Computer platziert wird, kann es jede Tasteneingabe erfassen, einschließlich Benutzernamen und Passwörtern.

Deshalb sind USB-Sicherheit, vertrauenswürdige Hardware und physische Zugriffskontrolle in sensiblen Umgebungen entscheidend.

Demonstrationsübersicht

In dieser Demonstration wurden die folgenden erfolgreich erfasst und dekodiert:

  • Mausbewegung und Tastenaktivität
  • Einzelne Tastendrucke
  • Funktionstasten und Modifikatortasten
  • Vollständig auf der Tastatur eingegebene Wörter

Der USB-Sniffer arbeitet transparent, was die Erkennung ohne physische Inspektion erschwert.

Schlussfolgerung

Dieses USB-Sniffer-Projekt bietet eine leistungsstarke praktische Demonstration, wie die USB-Kommunikation auf der niedrigsten Ebene funktioniert. Durch die Kombination von spezieller Sniffer-Hardware mit Wireshark wird es möglich, genau zu sehen, wie Eingabegeräte mit Computern kommunizieren.

Das Projekt ist ideal zum Lernen von USB-Protokollen, HID-Berichtsstrukturen und realen Sicherheitsüberlegungen. Obwohl es mit einer Maus und einer Tastatur demonstriert wird, gelten die gleichen Prinzipien für viele andere USB-Geräte.

Software-Download

Die Windows-Hilfsanwendungusb_sniffer_win.exeErforderlich für die Erfassung von USB-Daten mit Wireshark ist unterhalb dieses Artikels zum Download verfügbar.

Bilder

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
Kein Code angehängt.

Dinge, die Sie vielleicht brauchen

Ressourcen & Referenzen

Dateien📁

|||Benutzerhandbuch

Andere Dateien