APT - Arduino Pwn Tool is a tool similar to a Teensy Kit, for the purpose of emulating a HID device / Keyboard.
Using an Arduino as a HID device gives you the ability to quickly execute commands on the target system. Using a 5 pin DIP
switch, APT has the ability to launch attacks against different platforms, while being user selectable without re-programming
the device. There is most likely a better suited name, I just wanted to use APT for once ;D
Attacks are currently limited for now while I add more. Android, Linux, OSX & Windows supported for now.
(APT board layout diagram unavailable — original figure lost to bitrot)
Arduino to DIP Switch Wiring
Pin 1 on DIP Switch = Pin 3 on Arduino
Pin 2 on DIP Switch = Pin 4 on Arduino
Pin 3 on DIP Switch = Pin 5 on Arduino
Pin 4 on DIP Switch = Pin 6 on Arduino
Pin 5 on DIP Switch = Pin 7 on Arduino
Once you have the Arduino wired up, flash the following code.
APT currently supports three different attacks: ReverseShell (Linux), addUser (Windows), DownloadExec (OSX) & BruteForcePIN()
ReverseShell();
This function uses netcat or standard utilities for creating a reverse shell connection from a Linux target. In order to use, the code
must be modified to reflect the appropriate IP address and Port.
addUser();
This function will add a new user to the local windows administrator group. Update the code to reflect the username and password you wish
to use.
DownloadExec();
This function will download shellcode from a defined url and then execute it on the target OSX system.
BruteForcePIN();
This function will allow you to connect the Arduino to a Android Phone/Tablet via OTG cable and brute force 4 digit PINs / Passwords.
By default, no attacks are launched at boot time.
NOTE: Before launching an attack, you must already be plugged into the target.
To launch ReverseShell(), flip DIP switch #2 for one second, then back off.
To launch addUser(), flip DIP switch #1 for one second, then back off.
To launch DownloadExec(), flip DIP switch #3 for one second, then back off.
To launch BruteForcePIN(), flip DIP switch #3 leave it on until you wish for
the attack to stop.
TODO
- Add more realtime configurable options: Select OS payload and Attack.
- Update existing attacks to support all platforms.
- Add more Android Attacks
- Add LCD with Menu system for selecting attacks