Skip to content
Encoding Tools for Rubber Ducky
Python
Branch: master
Clone or download

Latest commit

kevthehermit Merge pull request #13 from Seneo1/fixed-encoder.py
Fixed encoding of the language file to utf8
Latest commit 7f1e19c May 25, 2020

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
ducktoolkit Merge pull request #13 from Seneo1/fixed-encoder.py May 25, 2020
.gitignore update internal workflow and version Feb 16, 2019
CHANGELOG.md update internal workflow and version Feb 16, 2019
LICENSE Initial commit Aug 25, 2016
MANIFEST.in Modified to allow Installation via PyPi Aug 30, 2016
README.md Update README.md Jan 25, 2020
bunnyducky.py Python3 compatability Feb 11, 2019
ducktools.py update internal workflow and version Feb 16, 2019
setup.py increment version number for new release Feb 11, 2019

README.md

DuckToolkit

Encoding Tools for Rubber Ducky. The duck tools are available in the browser at https://ducktoolkit.com. From here you can also generate payloads from a selection of predefined scripts and templates.

Disclaimer

The Duck Toolkit is an open source Penetration Testing tool for authorized network auditing and security analysis purposes only where permitted. Users are solely responsible for compliance with all laws of their locality. The Duck Toolkit software developers and affiliates claim no responsibility for unauthorized or unlawful use.

Installation

Download the release and install with python setup.py install

Or

sudo pip install --upgrade ducktoolkit

There are no external dependencies other than python. This has been tested on Ubuntu and Windows 10

Usage

The DuckToolkit is provided with a script that will allow you to easily encode and decode your files.

Encode

To encode point the script at your duckcode.txt file, select an output and a language as show in the example below:

ducktools.py -e -l gb /path/to/duck_text.txt /path/to/output.bin

Decode

To decode point the script at your inject.bin file, select an output and a language as show in the example below:

ducktools.py -d -l gb /path/to/inject.bin /path/to/output.txt

Library

The toolkit is python 3 compatible and can also be imported as a library.

from ducktoolkit import encoder

duck_text = 'STRING Hello'
language = 'gb'
duck_bin = encoder.encode_script(duck_text, language)

Limitations

The encoder can only deal with certain Command keys and key combinations. Please see https://usbrubberducky.com for details on supported commands.

The decoder is a best effort decoder. It will attempt to restore all command keys and strings. But its a lot harder going backwards. You will NOT be able to generate a valid duck script from an inject.bin

ToDo

  • Support more keyboard layouts / languages.
  • Improve the decoder.
  • Pip Installation
You can’t perform that action at this time.