LUNA: Multi-Tool for Building, Analyzing and Hacking USB Devices

Published  July 29, 2021   0
LUNA Board by Great Scott Gadgets

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 analyzerUSB-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.