Difference between revisions of "USB Ninja"

From Embedded Lab Vienna for IoT & Security
Jump to navigation Jump to search
m
m
Line 24: Line 24:
In the text field '''Additional Boards Manager URLs''' you should add the following URL
In the text field '''Additional Boards Manager URLs''' you should add the following URL
  http://usbninja.com/arduino/package_USBNinja_index.json
  http://usbninja.com/arduino/package_USBNinja_index.json
With this URL the USB Ninja will be supported by the IDE.
With this URL the USB Ninja boards will be able to be installed by the IDE. To actually install the USB Ninja board package, go under '''Tools''' then select '''Board''' and then '''Board Manager'''. There select '''Contributed''' in the drop down selection. Select the USB Ninja package and install it. After the installation is successful, select the USB Ninja board after selecting '''Tools''' in the '''Board''' selection. Be sure to select the board named '''USB Ninja cable (BLE+Hall sensor)'''.


=== Step 4: Start Scripting ===
=== Step 4: Start Scripting ===

Revision as of 18:51, 17 December 2020

Summary

The USB Ninja is a USB cable that has the capability to infect connected devices with malware through the injection of keystrokes. This device can also be used, just like any other USB cable, for data transfer and charging. One of the founder of USB Ninja, Kevin Mitnick, defines the USB Ninja as the "spiritual successor" of BadUSB.[1][2] In this article USB Ninja and USB Ninja Pro will both be used synonymously since different sellers have different ways of differentiating them. Generally the USB Ninja Pro includes all the different cables and a remote, which can differ depending which version has been bought. Here one can find the kit that was used whilst creating this article.

How to use

The following requirements are valid for both versions, USB Ninja and USB Ninja Pro. It is highly recommended to first go through the getting started documentation offered on the official website, since this document assumes that the reader is already familiar with scripting languages as a concept.[3] Also, this wikipage depends on the setup of the USB Ninja being done on an Windows OS, installation could be different on another OS.

Step 1: Installing Arduino IDE

Download the appropriate version the Arduino IDE here. Arduino IDE is an open-source IDE that makes it easy to implement code for microcontroller boards and USB devices.

Step 2: Installing the required drivers

To download the required drivers to recognize the device for setup, click here.

Step 3: Arduino Setup

Now, one can open the Arduino IDE application. Thanks to the board manager feature of Arduino, it is easy to add third-party boards to the IDE, in our case we want to add the USB Ninja package. Go under File and then Preferences. The screen in front of you should look like the screenshot below.

USBNinja Preferences.png

In the text field Additional Boards Manager URLs you should add the following URL

http://usbninja.com/arduino/package_USBNinja_index.json

With this URL the USB Ninja boards will be able to be installed by the IDE. To actually install the USB Ninja board package, go under Tools then select Board and then Board Manager. There select Contributed in the drop down selection. Select the USB Ninja package and install it. After the installation is successful, select the USB Ninja board after selecting Tools in the Board selection. Be sure to select the board named USB Ninja cable (BLE+Hall sensor).

Step 4: Start Scripting

qqqqq

Step 5: Deploy and Activate

qqqq

Example Payloads

References

  1. Wikipage of Kevin Mitnick. https://wikipedia.org/wiki/Kevin_Mitnick
  2. BadUSB Overview including presentation slides and video link. https://adsecurity.org/?p=362
  3. Getting Started with USB Ninja. https://usbninja.com/help/