There are 2 parts to this project:

  1. BluetoothDuck - Small usb HID device, that simulates a keyboard
  2. Android App - that streams Duckyscript payloads to the BluetoothDuck

The BluetoothDuck

This is a essentially a simple device - it is a Digispark attiny85 soldered to a HC-05 Bluetooth module. With Pins as follows: 

Digispark         --         HC-05

  • VCC          -->         VCC
  • GND          -->         GND
  • P1              -->          RX
  • P2              -->         TX

The firmware is attached in the file BlueDuckPoC2.ino. It is also simple. The only trick is using J-Rios soft serial library, that allow the Digispark to carry an serial connection in addition to the USB interface.

The Android App

The android app is a combination of 2 things: a Bluetooth client, and a DuckyScript interpretor. In order to make use of the extensive library of rubber duck payloads, the application is compatible with DuckyScript.

The source code is up on GitHub, - https://github.com/chooka888/BluetoothDuck , The code is pretty rough - Please be nice, this is the first android app I've written, and the most coding I've done since 2010.


Note - this kind of rubber duck, is not targeted at the use-case of dropping in the car park and hoping an employee plugs it in.  This is more suited to plugging into the back of your coworkers computer when they are not around and remotely pranking them.