Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
Tools/GitHubGitHub/schumilo/vusbf
Dynamische Analyse (Sandboxing)SchwachstellenanalyseSicherheitsvirtualisierungFuzzingHardware-Sicherheit
GitHubschumilo/vusbf

vUSBf

Ein auf QEMU/KVM basierendes USB-Fuzzing-Framework, das Gerätetreiber-Fehler durch reproduzierbare VM-Ausführung, Multiprocessing und XML-Testfallgenerierung findet.

Repository anzeigen
17031vor 9 JahrenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

vusbf-Framework

root@kitploit:~
        _      __              __   __  _______ ____
 _   __(_)____/ /___  ______ _/ /  / / / / ___// __ )
| | / / / ___/ __/ / / / __ `/ /  / / / /\__ \/ __  |
| |/ / / /  / /_/ /_/ / /_/ / /  / /_/ /___/ / /_/ /
|_______/   \__/\__,_/\__,_/_/   \____//____/_____/
   / __/_  __________  ___  _____
  / /_/ / / / /_/ /_/ / _ \/ ___/
 / __/ /_/ / / /_/ /_/  __/ /
/_/  \__,_/ /___/___/\___/_/

Ein KVM/QEMU-basiertes USB-Fuzzing-Framework.
Sergej Schumilo, OpenSource Security Spenneberg 2015
Version: 0.2

ALLGEMEINES

Ein USB-Fuzzer, der massiv von virtuellen Maschinen Gebrauch macht und zudem eine hohe Reproduzierbarkeit bietet. Dieses Framework wurde erstmals auf der Black Hat Europe 2014 veröffentlicht.

https://www.blackhat.com/docs/eu-14/materials/eu-14-Schumilo-Dont-Trust-Your-USB-How-To-Find-Bugs-In-USB-Device-Drivers-wp.pdf

Diese Software wird intensiv weiterentwickelt. Holen Sie sich eine Kopie der aktuellen Version auf GitHub:

www.github.com/schumilo

Diese Software ist unter GPLv2 lizenziert.

Dieses Framework bietet:

  • USB-Fuzzing in praktikablen Zeitrahmen
  • Multiprocessing und Clustering
  • Export von Payload-Sequenzen und deren Wiedergabe zum Debuggen oder Untersuchen
  • XML-basierte dynamische Testfallgenerierung
  • erweiterbar durch das Schreiben neuer Testfälle, USB-Emulatoren oder Überwachungsmodule

vUSBf wurde in Python2 geschrieben und benötigt das Scapy-Framework.

VORBEREITUNGEN

Zuerst müssen wir eine kompatible Version von QEMU bauen! Holen Sie sich die neueste Version von QEMU und usbredir:

QEMU: http://www.qemu.org usbredir: https://github.com/SPICE/usbredir

Stellen Sie sicher, dass Sie QEMU mit der Option „usb_redir“ kompilieren und außerdem die Datei /hw/usb/redirection.c patchen. Wenn Sie die QEMU-Version 2.1.1 verwenden, können Sie unseren Patch (qemu-2.1.1.patch) anwenden. QEMU 2.2.x wird von vUSBf derzeit nicht unterstützt!

vUSBf benötigt einige vorbereitete QCOW2-Images zum Fuzzing! Zuerst müssen Sie ein QCOW2-Image für Ihre virtuelle Maschine erstellen. Dies können Sie mit dem folgenden Befehl tun:

root@kitploit:~
qemu-img create -f qcow2 vm.qcow2 10G

Installieren Sie Ihr bevorzugtes Betriebssystem auf diesem Image. Sie müssen ein TTY konfigurieren, das am (virtuellen) seriellen Port verfügbar ist.

Der nächste Schritt besteht darin, eine Backing-Datei (ein Overlay, das das gesamte zukünftige Delta enthält) und ein Image zu erstellen, das einen Snapshot der VM enthält (die Größe sollte größer sein als Ihr konfigurierter virtueller Speicher):

root@kitploit:~
qemu-img create -b vm.img -f qcow2 overlay.qcow2
qemu-img create -f qcow2 ram.qcow2 1G

Starten Sie Ihre VM mit dem folgenden Befehl, warten Sie, bis der Kernel geladen ist, melden Sie sich an und ändern Sie die Ausführlichkeit von printk, indem Sie „echo '7' > /proc/sys/kernel/printk“ eingeben. Jetzt können Sie einen Snapshot erstellen, indem Sie die QEMU-Konsole öffnen (drücken Sie Strg+A und C) und savevm eingeben. Sie sollten die VM mit dem folgenden Befehl starten:

root@kitploit:~
qemu-system-x86_64 --enable-kvm -m 1024 -hdb ram.qcow2 -hda overlay.qcow2 -serial mon:stdio -device nec-usb-xhci -device usb-redir,chardev=usbchardev,debug=0 -chardev socket,server,id=usbchardev,nowait,host=127.0.0.1,port=1336

Erstellen Sie eine angepasste Konfiguration im Ordner „vusbf/configurations/“. Dort finden Sie einige Beispiele. Ändern Sie die folgenden Informationen:

root@kitploit:~
- Speicherort der QEMU-Binärdatei, die Sie verwenden möchten
- KVM-Unterstützung (schreiben Sie yes oder no)
- Größe Ihres Arbeitsspeichers (die Einheit ist MB)
- Speicherort Ihrer RAM-Datei
- Speicherort Ihrer Overlay-Datei
- Speicherort, an dem Ihre Overlay-Duplikate gespeichert werden sollen
- konfigurierter USB-Host-Controller (wenn Sie keine Idee haben, schreiben Sie einfach nec-usb-xhci)
- einige zusätzliche Parameter für QEMU (falls Sie welche benötigen)
- den Namen des Snapshots

Das ist alles. Jetzt ist Ihre VM bereit fürs Fuzzing.

VUSBF AUSFÜHREN

Werfen Sie einen Blick auf help.txt oder führen Sie vusbf mit dem Parameter -h aus, um Hilfe zu erhalten :-)

FEHLER

Es gibt einige bekannte Fehler, wie die fehlerhafte Unterstützung für Windows-Systeme. Wir arbeiten an diesen Problemen, stellen Sie also sicher, dass Sie die neueste Version verwenden. Darüber hinaus ist der Mangel an USB-Emulatoren ein weiterer Punkt, an dem wir arbeiten.

Außerdem wurden einige Inline-Kommentare in meiner Muttersprache (Deutsch) verfasst. Sie werden später übersetzt ;-) und der Code wird besser dokumentiert!

Mitstreiter sind willkommen :-)! Es gibt viel zu tun!

KONTAKT

Zögern Sie nicht, uns eine E-Mail zu senden: [email protected] [email protected]

Tool herunterladen