GreatFET One and FaceDancer

From Elvis Wiki

Summary

The GreatFET One is a versatile USB device used by developers, researchers, and security professionals for various USB-related tasks. Together with the Facedancer software, the GreatFET One serves as a USB fuzzing and prototyping tool. This article explains how to set up the Facedancer software and execute an example script from the Facedancer GitHub repository.

Requirements

  • GreatFET One hardware
  • A computer with Linux, macOS, or Windows
  • Python 3.x installed
  • Git installed
  • Access to the Facedancer GitHub repository

Step 1: Setting Up the GreatFET One

  1. Connect the Device:
    • Plug the GreatFET One into your computer using a USB cable.
  2. Install GreatFET Drivers:
    • For Linux: Ensure you have the appropriate udev rules configured.
    • For Windows: Install the driver from the official GreatFET website.
  3. Install the GreatFET Software:
    • Open a terminal and run the following command:
    pip install greatfet
    
  1. Test the Connection:
    • Verify that the GreatFET is detected by running:
    greatfet info
    
    • If correctly set up, information about your GreatFET device should be displayed.

Step 2: Installing Facedancer

  1. Clone the Repository:
    • Download the Facedancer repository from GitHub:
    git clone https://github.com/usb-tools/facedancer.git
    cd facedancer
    
  1. Install Dependencies:
    • Install the required Python libraries:
    pip install -r requirements.txt
    

Step 3: Running an Example Script

  1. Navigate to Example Scripts:
    • Go to the directory containing example scripts:
    cd examples
  1. Choose an Example Script:
    • For instance, `usb_proxy.py`, which acts as a USB proxy between two devices.
  2. Run the Script:
    • Execute the script with the following command:
    python3 usb_proxy.py
    
    • The script initializes the GreatFET and starts the specified USB operation.
  1. Check the Output:
    • The script's status and interactions should be displayed in the terminal.

Step 4: Troubleshooting

  1. Facedancer Does Not Detect GreatFET:
    • Ensure the firmware on your GreatFET is up to date. Update the firmware using:
   greatfet firmware update
  
  1. Missing Dependencies:
    • Verify all Python dependencies are installed:
   pip install -r requirements.txt
 

References