USB-Data capture mit Wireshark und Virtualbox

Für (noch immer zu) viele Geräte gibt es Treiber für Windows und auch Mac, aber nicht für Linux. Entweder man wartet, bis irgend ein Gut-Mensch einen Treiber für Linux bereitstellt, oder man versucht es selber. Das erste Problem beim Selbermachen ist, dass die Protokolldefinition des Geräts oft nicht verfügbar ist. Da bleibt nur noch Reverse Engineeren. Doch wie kommt man an den Datentraffic? Ein Möglichkeit ist mit Wireshark und Virtualbox.Ich erkläre hier die folgenden Voraussetzungen nicht. Es gibt genügend Informationen darüber im Internet.

  • der Host-Computer ist ein Linux (Ubuntu) Rechner ist
  • Virtualbox ist installiert und läuft
  • das Gast-System in der Virtualbox-VM ist ein Windows
  • der Treiber für das Gerät, für dass man den Datenverkehr aufzeichnen will, ist in der VM installiert und funktioniert
  • Wireshark ist installiert

Zumindest unter Ubuntu können Virtualbox und Wireshark komfortabel über die Paketverwaltung installiert werden.

Um als normaler Linux-Benutzer eine Traffic-Aufzeichnung mit Wireshark machen zu können, müssen dem Benutzer weitere Rechte gegeben werden (sonst funzt es nur als root).  Wie hier beschrieben geht das am Besten, wenn man den folgenden Befehl ausführt und die Ausführung von Wireshark als Benutzer zulässt:


dpkg-reconfigure wireshark-common

Anschliessend muss man den Benutzer zur neuen Gruppe „wireshark“ hinzufügen. Damit kann dieser Benutzer Wireshark normal starten und den Traffic von Netzwerken aufzeichnen, aber noch nicht von der USB-Schnittstelle.

Damit die Aufzeichnung funktioniert, muss

usbmon

als Kernel-Modul geladen sein:


modprobe usbmon

Dann kann man mit


ls -l /dev/usbmon*

überprüfen, wem die Ports gehören (meist dem root) und ob ein normaler Benutzer Leserechte darauf hat. Wenn nicht, kann ihm mit


sudo chmod +r /dev/usbmon*

die notwendigen Rechte geben werden. Spätestens nachdem sich der Benutzer ab- und wieder angemeldet hat, kann er Wireshark starten und er kann als „capture interface“ ein USB-Bus auswählen.

Von nun an ist es keine Hexerei mehr herauszufinden, was genau zwischen einem Gerät und seinem Windows-Treiber kommuniziert wird. Einfach Gerät zur VM hinzufügen, die Funktionen unter Windows ausführen, das Gerät von der VM trennen und am Schluss das Ganze in aller Ruhe in Wireshark analysieren. Viel Spass.


Beitrag veröffentlicht

in

,

von

Schlagwörter:

Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert