Difference between revisions of "USB Ninja"

From Embedded Lab Vienna for IoT & Security
Jump to navigation Jump to search
m (added screenshot)
Line 18: Line 18:
=== Step 3: Arduino Setup ===
=== 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'''.
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.
[[Media:pic1.png]]
[[File:USBNinja_Preferences.png|500px]]


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

Revision as of 01:07, 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

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/