Description Multi-tool for Building, Analyzing, and Hacking USB Devices
Cynthion is an all-in-one tool for building, testing, monitoring, and experimenting with USB devices. Built around a unique FPGA-based architecture, Cynthion’s digital hardware can be fully customized to suit the application at hand. As a result, it can act as a no-compromise High-Speed USB protocol analyzer , a USB research multi-tool , or a USB development platform .
Out-of-the-box, Cynthion acts as a USB protocol analyzer capable of capturing and analyzing traffic between a host and any Low-, Full-, or High-Speed ("USB 2.0") USB device. It works seamlessly with the open-source analysis software Packetry .
Combined with the LUNA gateware and Facedancer libraries, Cynthion becomes a versatile USB research and development tool. Facedancer makes it quick and easy to create or experiment with real USB devices—not just emulations—even if you don’t have experience with digital hardware design, HDL, or FPGA architecture!
Features
Cynthion is a fully reconfigurable test instrument that provides all the hardware, gateware, firmware, and software you need to work with—and, indeed, tob master -USB. Below are a few of the challenges to which you can apply your Cynthion:
Protocol analysis for Low-, Full-, and High-speed USB: Cynthion provides everything you need for passive USB monitoring. With the Packetry USB analysis software, Cynthion provides everything you need for passive USB monitoring.
Creating your own Low-, Full-, or High-speed USB device: LUNA provides Amaranth gateware that allows you to create USB devices in gateware, firmware, or a combination of the two. Using the Facedancer library, you can create or emulate real USB devices in high-level Python.
Meddler-in-the-Middle (MitM) attacks on USB communication: Cynthion hardware can function as a "USB proxy" capable of transparently modifying USB data as it flows between a host and a device. Each board’s three USB-C connections allow for simultaneous, high-speed proxying while maintaining a high-speed connection to the host. As a result, you can proxy a connection with or without the help of a host PC.
USB reverse engineering and security research: Cynthion hardware and LUNA gateware represent a purpose-built backend for research tools like Facedancer and USB-fuzzing libraries, thereby simplifying the emulation and rapid prototyping of compliant and non-compliant USB devices. Unlike other USB-emulation solutions, Cynthion-based hardware is dynamically reconfigurable, so it gives you the flexibility to create any endpoint configuration and engage in almost any USB (mis)behavior.
Specifications
A Lattice Semiconductor LFE5U-12F ECP5 FPGA supported by the yosys+nextpnr
open-source FPGA flow
Three High-Speed USB interfaces, each connected to a USB3343 PHY capable of operating at up to 480 Mbps.
Two USB-C connectors for device-mode communication (left side)
One USB-C connector for host-mode communication, device-mode communication, or USB analysis (right-side)
One USB-A connector for host-mode communication or USB analysis (right-side, shared with USB-C connector)
A Microchip SAMD11 debug controller allows user configuration of the FPGA and provides a number of diagnostic interfaces.
A complete, user-programmable JTAG controller capable of configuring the FPGA and communicating via JTAG with user designs
A built-in USB-to-serial communications bridge for FPGA debug I/O
A variety of simple, built-in debug mechanisms, including utilities that allow you to create simple, PC-accessible register interfaces
Three USB power switches allow you to control power to and from the right-side USB connectors, thereby facilitating controlled power cycling of USB-powered devices under analysis.
64 Mbit (8 MiB) RAM for buffering USB traffic or for user applications
Two Digilent Pmod Compatible I/O connectors presenting 16 high-speed FPGA user IOs that support user FPGA applications
32 Mbit (4 MiB) SPI-connected flash for PC-less FPGA configuration
Six FPGA-connected user LEDs and five microcontroller-managed status LEDs
A PAC1954 4-channel I²C power monitor IC, to measure VBUS voltages and currents on all four Cynthion USB ports.
Two FUSB302B I²C USB-C port controllers, for the AUX and TARGET-C ports, to support USB Power Delivery or custom USB-C behaviour.
Downloads
VIDEO