The USB Ninja is an advanced USB attack development platform designed to be as simple as possible whilst leaving as many options open for development. Written in Golang, it was developed on a Raspberry Pi Zero W, but should work on any device that supports USB OTG - see the list of Supported Devices. It makes heavy use of configfs to configure and present the drivers to the host system. See the FAQ for more information.
Post-Setup Scripts can now be set! See ADDED.md or OPTIONS.md for more information!
Currently supported gadgets are:
- USB-To-Serial
- USB-To-Ethernet
- HID Emulation (currently keyboard only)
- Mass Storage
Download USB Ninja v1.0 from here!
Filename | Size | Sha1sum |
---|---|---|
USBNinja_v1.7z | 2.1G | 495a180f6c92dfac0f8efb095bdf2f61f83c2dd0 |
USBNinja_v1.img | 7.5G | 57828c5b8ae61da53e110799c46cfdfa6eb21a50 |
Please check out ADDED.md for details about all the new features being added!
For examples of how to use the USB Ninja in different situations, check out my blog at xcellerator.github.io!
If you've got a Raspberry Pi Zero (W), then its as simple as flashing the image to an 8GB MicroSD card popping it in.
A simple dd if=USBNinja_v1.img of=/dev/mmcblk0
should do the job.
By default, the USB Ninja will start up in serial
mode with a baud rate of 115200
.
-
Make sure the Micro USB end is plugged into the OTG port of the Pi (its labelled
USB
on the board) -
On Linux or MacOS, you can type
dmesg | tail
and should see something likecdc_acm 1-2:1.0: ttyACM0: USB ACM device
. ..* E.g.minicom -b 115200 -D /dev/ttyACM0
orscreen /dev/ttyACM0 115200
-
On Windows, use PuTTY to connect.
-
The default login is alarm:alarm.
The other option is to just download and setup Arch Linux ARM by yourself and follow the instructions in INSTALL.md to compile the binaries from source and setup all the other services. The process is exactly the same as what was done to prepare the image.
If you want to use gadgets other than plain old serial
(and if you're here - you probably do), then all you need to do is edit usbninja/options.txt
on the first partition of the MicroSD card. This corresponds to the /boot
directory when the OS boots up.
See OPTIONS.md and GADGETS.md for more information.