Skip to content
aaronmueller edited this page Jun 26, 2011 · 7 revisions

A simple DIY USB device, which can simulate other low speed (HID) USB devices. The gadget can send data to the host, which can be a driver in a popular operating system, a embedded decive like a printer, a DSL modem or a home NAS. The user controls the device over a serial interface (RS232) with a interactive console.

The USB simulator is build with a AVR microcontroller and the V-USB library. The main goal of this project is to find security holes in kernel driver modules through fuzzing. This gives the ambient user a new vector to penedrate devices with USB ports.

Motivation and Overview

The basic idea was born on a walkabout in a coal power station. The group gets directed from one room into another and so forth. Along huge control panels, generators and other highly technical machinery. On every station, a employee explained a mechanismus or other interresting things. On one station there was also some usual desktop PCs with standard USB ports on it. The screen was locked with a password, but what would happen, if someone plugs in a USB stick and use a simple bug in a USB driver to get access to the control unit?

A general purpose devices is needed, which should be configured to simulate whatever device is needed. Then, this device can inject some data into the device driver. How would be a trackball driver react if you send some random trash?

Clone this wiki locally