Beschreibung Multitool zum Erstellen, Analysieren und Hacken von USB-Geräten
Cynthion ist ein All-in-One-Tool zum Erstellen, Testen, Überwachen und Experimentieren mit USB-Geräten. Die digitale Hardware von Cynthion basiert auf einer einzigartigen FPGA-basierten Architektur und kann vollständig an die jeweilige Anwendung angepasst werden. Dadurch kann es als kompromissloser Hochgeschwindigkeits-USB-Protokoll-Analyzer , als USB-Forschungs-Multitool oder als USB-Entwicklungsplattform fungieren.
Cynthion fungiert standardmäßig als USB-Protokoll-Analyzer, der den Datenverkehr zwischen einem Host und jedem Low-, Full- oder High-Speed-USB-Gerät („USB 2.0“) erfassen und analysieren kann. Es funktioniert nahtlos mit der Open-Source-Analysesoftware Packetry .
In Kombination mit der LUNA-Gateware und den Facedancer -Bibliotheken wird Cynthion zu einem vielseitigen USB-Forschungs- und Entwicklungstool. Mit Facedancer können Sie schnell und einfach echte USB-Geräte erstellen oder damit experimentieren – nicht nur Emulationen –, selbst wenn Sie keine Erfahrung mit digitalem Hardware-Design, HDL oder FPGA-Architektur haben!
Features
Cynthion ist ein vollständig rekonfigurierbares Testgerät, das die gesamte Hardware, Gateware, Firmware und Software bereitstellt, mit der Sie arbeiten müssen – und tatsächlich tob master -USB. Nachfolgend sind einige der Herausforderungen aufgeführt, bei denen Sie Ihr Cynthion einsetzen können:
Protokollanalyse für Low-, Full- und High-Speed-USB: Cynthion bietet alles, was Sie für die passive USB-Überwachung benötigen. Mit der USB-Analysesoftware Packetry bietet Cynthion alles, was Sie für die passive USB-Überwachung benötigen.
Erstellen Sie Ihr eigenes Low-, Full- oder High-Speed-USB-Gerät: LUNA bietet Amaranth-Gateware, mit der Sie USB-Geräte in Gateware, Firmware oder einer Kombination aus beiden erstellen können. Mit der Facedancer-Bibliothek können Sie echte USB-Geräte in High-Level-Python erstellen oder emulieren.
Meddler-in-the-Middle (MitM)-Angriffe auf die USB-Kommunikation: Cynthion-Hardware kann als „USB-Proxy“ fungieren und USB-Daten beim Fluss zwischen einem Host und einem Gerät transparent ändern. Die drei USB-C-Anschlüsse jedes Boards ermöglichen ein gleichzeitiges Hochgeschwindigkeits-Proxying bei gleichzeitiger Aufrechterhaltung einer Hochgeschwindigkeitsverbindung zum Host. Dadurch können Sie eine Verbindung mit oder ohne Hilfe eines Host-PCs weiterleiten.
USB-Reverse-Engineering und Sicherheitsforschung: Cynthion-Hardware und LUNA-Gateware stellen ein speziell entwickeltes Backend für Forschungstools wie Facedancer und USB-Fuzzing-Bibliotheken dar und vereinfachen so die Emulation und schnelle Prototypenerstellung kompatibler und nicht kompatibler USB-Geräte. Im Gegensatz zu anderen USB-Emulationslösungen ist Cynthion-basierte Hardware dynamisch rekonfigurierbar, sodass Sie die Flexibilität haben, jede Endpunktkonfiguration zu erstellen und auf nahezu jedes USB-(Fehl-)Verhalten zu reagieren.
Technische Daten
Ein Lattice Semiconductor LFE5U-12F ECP5 FPGA, unterstützt durch den yosys+nextpnr
Open-Source-FPGA-Flow
Drei Hochgeschwindigkeits-USB-Schnittstellen, jede verbunden mit einem USB3343 PHY, der mit bis zu 480 Mbps arbeiten kann.
Zwei USB-C-Anschlüsse für die Kommunikation im Gerätemodus (linke Seite)
Ein USB-C-Anschluss für Host-Modus-Kommunikation, Geräte-Modus-Kommunikation oder USB-Analyse (rechts)
Ein USB-A-Anschluss für Host-Modus-Kommunikation oder USB-Analyse (rechts, gemeinsam mit USB-C-Anschluss)
Ein Microchip SAMD11 Debug-Controller ermöglicht die Benutzerkonfiguration des FPGA und bietet eine Reihe von Diagnoseschnittstellen.
Ein vollständiger, vom Benutzer programmierbarer JTAG-Controller, der das FPGA konfigurieren und über JTAG mit Benutzerdesigns kommunizieren kann.
Eine integrierte USB-zu-Seriell-Kommunikationsbrücke für FPGA-Debug-I/O
Eine Vielzahl einfacher, integrierter Debug-Mechanismen, einschließlich Dienstprogrammen, mit denen Sie einfache, vom PC aus zugängliche Registerschnittstellen erstellen können.
Drei USB-Stromschalter ermöglichen Ihnen die Steuerung der Stromversorgung zu und von den USB-Anschlüssen auf der rechten Seite und erleichtern so das kontrollierte Ein- und Ausschalten der zu analysierenden USB-betriebenen Geräte.
64 Mbit (8 MiB) RAM zum Puffern des USB-Verkehrs oder für Benutzeranwendungen
Zwei Digilent Pmod-kompatible E/A-Anschlüsse mit 16 Hochgeschwindigkeits-FPGA-Benutzer-E/As, die Benutzer-FPGA-Anwendungen unterstützen.
32 Mbit (4 MiB) SPI-verbundener Flash für PC-lose FPGA-Konfiguration
Sechs FPGA-verbundene Benutzer-LEDs und fünf vom Mikrocontroller verwaltete Status-LEDs
Ein 4-Kanal-I²C-Leistungsüberwachungs-IC PAC1954 zur Messung von VBUS-Spannungen und -Strömen an allen vier Cynthion-USB-Anschlüssen.
Zwei FUSB302B I²C USB-C-Port-Controller für die AUX- und TARGET-C-Ports zur Unterstützung von USB Power Delivery oder benutzerdefiniertem USB-C-Verhalten.
Downloads
VIDEO