Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
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.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
facedancer — Implementieren Sie Ihr eigenes USB-Gerät in Python, unterstützt durch ein Hardware-Peripheriegerät wie Cynthion oder GreatFET | Kitploit
Tools/GitHubGitHub/greatscottgadgets/facedancer
Embedded-System-SicherheitPaket-Sniffing & AnalyseReverse EngineeringFuzzingHardware-HackingDienstprogramme & FrameworksHardware- & IoT-SicherheitRed Teaming
GitHubgreatscottgadgets/facedancer

facedancer

Implementieren Sie Ihr eigenes USB-Gerät in Python, unterstützt durch ein Hardware-Peripheriegerät wie Cynthion oder GreatFET

1.0k15411vor 4 MonatenVon 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
Repository anzeigen

Facedancer 3.0

Dieses Repository beherbergt die nächste Generation der Facedancer-Software. Es stammt vom ursprünglichen GoodFET-basierten Facedancer ab und bietet ein Python-Modul mit erweiterter Facedancer-Unterstützung – einschließlich Unterstützung für mehrere Boards und einigen recht bedeutenden neuen Funktionen.

Projektdokumentation

Die Dokumentation von Facedancer ist auf Read the Docs zu finden. Die Rohquellen der Dokumentation befinden sich im Ordner docs/.

Installation

Installiere dieses Paket mit dem folgenden Befehl:

pip install facedancer

Danach kannst du das facedancer-Paket wie gewohnt importieren:

$ python
>>> import facedancer

Wo sind meine Skripte?

Facedancer 3.0 ist eine komplette Neuimplementierung des ursprünglichen Emulationskerns und unterstützt keine Legacy-Skripte.

Wenn du Skripte oder Schulungsmaterialien verwendest, die von in v3.0.x veralteten Funktionen oder APIs abhängen, kannst du die neueste v2.9.x-Version von Facedancer mit folgendem Befehl installieren:

pip install "facedancer<=3"

Legacy-Applets und Beispiele findest du im Branch v2.9.x.

Was ist ein Facedancer?

Facedancer-Boards sind einfache Hardwaregeräte, die als „ferngesteuerte" USB-Controller fungieren. Mit der passenden Software kannst du diese Boards verwenden, um schnell und einfach USB-Geräte zu emulieren – und um USB-Host-Controller zu fuzzen!

Dieses spezielle Software-Repository ermöglicht es dir derzeit, auf einfache Weise Emulationen von USB-Geräten in Python zu erstellen. Die Steuerung ist fein genug granular, dass du alle möglichen USB-Fehlverhalten hervorrufen kannst. :)

Weitere Informationen findest du unter:

  • Travis Goodspeed's Blogbeitrag über Facedancer
  • Der Facedancer 21, das ursprünglich unterstützte Board

USBProxy 'Nouveau' und Protokollanalyse

Eine wichtige neue Funktion der neueren Facedancer-Codebasis ist die Fähigkeit, USB-Verbindungen per MITM (Meddler-In-The-Middle) abzufangen – als Ersatz für eines der ursprünglichen USBProxy-Projekte der Autoren. Dies eröffnet eine ganz neue Welt von Anwendungen – einschließlich Protokollanalyse und Live-Manipulation von USB-Paketen – und ist besonders nützlich, wenn du die auf dem Zielgerät laufende Software nicht kontrollierst (z. B. bei eingebetteten Systemen oder Spielkonsolen).

                 +-----------------------------------------------------------------------+
+------------+   |  +--------------------------------+   +---------------------------+   |  +--------------+
|            |   |  |                                |   |                           |   |  |              |
|  PROXIED   |   |  |         HOST COMPUTER          |   |    FACEDANCER DEVICE      |   |  |  TARGET USB  |
|   DEVICE   <------>  running Facedancer software   <--->  acts as USB-Controlled   <------>     HOST     |
|            |   |  |                                |   |      USB Controller       |   |  |              |
|            |   |  |                                |   |                           |   |  |              |
+------------+   |  +--------------------------------+   +---------------------------+   |  +--------------+
                 |                                                                       |
                 |                    MITM Setup (HOST + FACEDANCER)                     |
                 +-----------------------------------------------------------------------+

Diese Funktion ist vollständig, könnte aber mehr Dokumentation vertragen. Pull Requests sind willkommen. :)

Wie verwende ich dieses Repository?

Zuerst solltest du wahrscheinlich die Umgebungsvariable BACKEND setzen, die der Software mitteilt, welchen Typ von Facedancer-Board du verwenden möchtest. Wenn diese Variable nicht gesetzt ist, versucht die Software, anhand der angeschlossenen Geräte eine Vermutung anzustellen. Sie trifft nicht immer die besten Vermutungen, daher ist es wahrscheinlich besser, sie selbst zu setzen.

Als Nächstes solltest du dir wahrscheinlich eines der Beispiele oder eines der vorgefertigten Skripte ansehen. Beispiele in der neuen Syntax befinden sich unter examples. Die Kern-Facedancer-Skripte in der „alten" Syntax befinden sich in legacy-applets.

Zum Beispiel:

export BACKEND=greatfet
./examples/rubber-ducky.py

Welche Boards werden derzeit unterstützt?

  • Das Cynthion USB Test Instrument (BACKEND=cynthion)
  • Das GreatFET One (BACKEND=greatfet)
  • Das NXP LPC4330 Xplorer Board. (BACKEND=greatfet)
  • Das CCCamp 2015 rad1o Badge mit GreatFET l0adable (BACKEND=greatfet)
  • Alle GoodFET-basierten Facedancers, einschließlich des verbreiteten Facedancer21 (BACKEND=goodfet)
  • RPi + Max3241 Raspdancer Boards (BACKEND=raspdancer)
  • HydraDancer- und HydraUSB3-Boards (BACKEND=hydradancer)

Beachte, dass Hardware-Einschränkungen die MAX3420/MAX3421-Boards daran hindern, komplexere Geräte zu emulieren – es gibt Einschränkungen hinsichtlich Anzahl und Typ der Endpunkte, die eingerichtet werden können. Die LPC4330-Boards – wie das GreatFET – haben weniger Einschränkungen.

Aus einem ähnlichen Grund können die MAX3420/MAX3421-Boards (BACKEND=goodfet oder BACKEND=raspdancer) derzeit nicht als USBProxy-nv-MITM-Geräte verwendet werden. Alle modernen Boards (BACKEND=greatfet, BACKEND=hydradancer) sollten voll funktionsfähig sein.

Beachte, dass die HydraDancer- und HydraUSB3-Boards (BACKEND=hydradancer) derzeit keinen Host-Modus unterstützen. Beachte, dass das aktuelle FaceDancer 3.0 nicht unter Windows funktioniert (einige Probleme mit pyusb...) und nur unter GNU/Linux.

Welche Boards könnten bald unterstützt werden?

  • Jeder Linux-Computer mit gadgetfs-Unterstützung (z. B. der Pi Zero oder Beaglebone Black)
  • Alles, was USB-over-IP unterstützt.

Welche Funktionen sind geplant?

Die Roadmap befindet sich in Entwicklung, aber zusätzlich zur Multi-Board-Unterstützung wird dieses Repository schließlich auch einige coole neue Funktionen beherbergen, darunter:

  • Hochgeschwindigkeits-Emulation („USB 2.0") von Geräten auf Geräten mit USB-2.0-PHYs.
  • On-the-fly-Generierung von USB-Gerätecontrollern in Gateware.

Wessen Schuld ist das?

Es gibt viele Leute, die für die Großartigkeit dieses Repos verantwortlich sind, darunter:

  • Kate Temkin (@ktemkin)
  • Travis Goodspeed (@travisgoodspeed)
  • Sergey Bratus (@sergeybratus)
  • Dominic Spill (@dominicgs)
  • Michael Ossmann (@michaelossmann)
  • Mikaela Szekely (@Qyriad)
  • alle, deren Namen in der Git-Historie auftauchen :)

Beiträge?

... sind immer willkommen. Schick uns einen PR!

Tool herunterladen