LUNA is a powerful multi-tool designed by Great Scott Gadgets for building, analyzing, and hacking USB device in a cost-effective manner. Based on a Lattice Semiconductor, LFE5U-12F ECP5 FPGA, this all-in-one tool is built around a unique FPGA-based architecture with fully customizable hardware. LUNA can be used as high-speed USB protocol analyzer, USB-hacking multi-tool, USB reverse-engineering tool or USB development platform.
The board has the ability to capture and analyze traffic between the host and any Low-, Full-, or High-Speed ("USB 2.0") USB device. The board works seamlessly with the open-source ViewSB software that translates captured USB traffic into a human-readable format. This fully reconfigurable test instrument provides all the hardware, gateware, firmware, and software.
Key Features and Technical Specifications of LUNA
-
FPGA: Lattice Semiconductor LFE5U-12F ECP5 FPGA with 12K LUTs
-
System Memory: 64 Mbit (8 MiB) RAM for buffering USB traffic or for user applications
-
Storage: 32 Mbit (4 MiB) SPI flash for PC-less FPGA configuration
-
USB: 3x High-Speed USB interfaces, each connected to a USB3343 PHY capable of operating at up to 480 Mbps. 2x USB Type-C ports for device-mode communication (left-side), 1x USB Type-C port for host-mode communication, device-mode communication, or USB analysis (right-side), 1x USB Type-A port for host-mode communication or USB analysis (right-side, shared with Type-C connector).
-
MCU: Microchip SAMD11 debug controller for user configuration of the FPGA and diagnostic interfaces: JTAG controller capable of configuring the FPGA and communicating via JTAG with user designs
-
Built-in USB-to-serial communications bridge for FPGA debug I/O
-
Expansion: 2x unpopulated User I/O SMA connector footprints intended for Trigger In / Trigger Out use or for multi-device clock/data synchronization, 2x unpopulated Pmod I/O connectors presenting 16x high-speed FPGA user IOs that support user FPGA applications and allow logic-level data to be captured during USB analysis
-
3x USB power switches to control power to and from the right-side USB connectors
-
6x FPGA-connected user LEDs and 5x microcontroller-managed status LEDs
Applications:
- Protocol analysis for Low-, Full-, and High- speed USB - It provides everything you need for passive USB monitoring. Users can add the ViewSB analysis software, and they can get a full-featured USB analyzer capable of passively capturing both USB traffic and up to 16 related digital signals.
- Creating Low-, Full-, or High- speed USB device - LUNA provides nMigen gateware that allows users to create USB devices in gateware, firmware, or a combination of the two. Using the FaceDancer library, it can be used to create or emulate real USB devices in high-level Python.
- Meddler-in-the-Middle (MitM) attacks on USB communication - LUNA 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 Type-C connections allow for simultaneous, high-speed proxying while maintaining a high-speed connection to the host. As a result, users can proxy a connection with or without the help of a host PC.,
- USB reverse engineering and security research. LUNA hardware and 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. LUNA-based hardware is dynamically reconfigurable, so that the users can get the flexibility to create any endpoint configuration and engage in almost any USB (mis)behavior.
LUNA comes either as a bare board for $99, or with a CNC-milled, anodized aluminum enclosure and is available for $149. The shipping is expected to start in May 2022.