Arduino Pro Micro İle USB Rubber Ducky Nasıl Yapılır?

İlk olarak Arduino Pro Micro İle USB Rubber Ducky’ nin nasıl yapıldığını anlatmaya başlamadan önce Usb Rubber Ducky nedir ve ne işe yarar öğrenelim. Ayrıca bu usb belleklere “Bad Usb” de denilmektedir.

USB Rubber Ducky(Bad Usb) Nedir?

Tüm platformlarda (Windows, Linux, MacOS, Android) çalışabilen USB Rubber Ducky programlanabilir bir USB bellek. Amaca göre programlanmış bu USB disk herhangi bir bilgisayara bağlandığında otomatik olarak amacı doğrultusunda çalışabiliyor. Otomatik çalışma denince aklınıza autorun.inf dosyası ve sistemlerin bunu engellediği konusu gelebilir. Ama Ducky böyle çalışmaz, antivirüs ya da herhangi bir program bunu zararlı yazılım olarak görüp engellemez. Çünkü kendisini bir USB disk gibi göstermez.
Örneğin, bilgisayarınıza yeni bir klavye ya da fare bağladığınızda size çoğunlukla herhangi bir şey sormadan çalışmaya başlar. Sizin yaptığınız tek şey direkt kullanmaktır. İşte bunun gibi, ducky de kendini klavye gibi gösterir ve sisteme direkt entegre olur. USB Rubber Ducky’nin programlanabildiğini söylemiştik. Usb rubber ducky için bir çok mikrodenetleyici kart kullanılmaktadır. Bunlar aşağıda verilmektedir:

  • Digispark ATtiny85
  • Arduino Pro Micro
  • Arduino Leonardo
  • CJMCU-VIRTUAL BADUSB

Bu gibi kartların temeli aynı prensiptir. İnternette “bad usb” diye aratırsanız bir çok kart bulabilirsiniz.

Malzemeler

Bu projede bize gerekli olan sadece iki elemana ihtiyacımız var. Bunlar aşağıda yer almaktadır:

Arduino Pro Micro
Micro Usb Kablo

Arduino Pro Micro İle USB Rubber Ducky(Bad Usb) Yapımı

Biz bu projemizde arduino pro micro kullanmamızın sebebi pro microyu kolaylıkla internetten bulabilir ve ucuza satın alabilmemizdir. Ayrıca kodlaması gayet basittir. Aşağıdaki adımları uygulayalım.

  • İlk olarak Arduino Ide‘ yi bilgisayarımızda yüklü değilse bilgisayarımıza yükleyelim.
  • Yükledikten sonra pro micromuza usb kablomuzu takalım.
  • Ardından usb ucumuzu bilsayarımıza takalım.
  • Arduino Ide programımızı açalım.
  • Arduino Ide’ den kart modelimizi seçelim.
Arduino Kart Modeli Seçimi
  • Taslağımıza aşağıdaki kodu yapıştıralım.
#include <Keyboard.h> 
void setup()
{

  Keyboard.begin();
  delay(500);


  delay(1000);

  Keyboard.press(KEY_LEFT_GUI);
  Keyboard.press(114);
  Keyboard.releaseAll();

  delay(100);

  Keyboard.print("notepad");

  typeKey(KEY_RETURN);

  delay(1000);

  Keyboard.print("---arduinodestek.com usb rubber ducky projesi---");
}

void typeKey(int key)
{
  Keyboard.press(key);
  delay(50);
  Keyboard.release(key);
}


void loop() {}
  • Arduinomuza kodu yükleyelim.
Arduinoya kod yükleme
  • Eğer kart seçiminde ve arduinonun takılı olduğu port seçiminde yanlışlık yapmadıysanız proje kartımıza başarılı bir şekilde yüklenecektir.
  • Eğer yükleme başarılı bir şekilde gerçekleşmiş ise aşağıdaki sonucu alacaksınız.
Usbyi bilgisayara taktığımızda alacağımız sonuç

Arkadaşlar bu yaptığımız basit bir örnek bu kodları değiştirip daha farklı şeyler yaptırabilirsiniz veya internetten bulabilirsiniz. Kullanabileceğimiz bir çok payload bulunmaktadır. Payload örneklerine bakmak için tıklayın. Aşağıda bir payload örneği gözükmektedir.

DELAY 600
REM Linux run dialog
ALT F2
DELAY 200
REM Mac OS run dialog
GUI SPACE
DELAY 200
REM On Windows this changes the input language, so press 3 times
GUI SPACE
DELAY 200
GUI SPACE
DELAY 200
GUI r
DELAY 200
REM On another OS, this could have typed "   r". Backspace 4 times.
DELETE
REPEAT 4
REM Type in URL and open page!
STRING http://arduinodestek.com/
ENTER

Bu payloadların kodlaması farklıdır. Bunun sizin gözünüzü korkutmasına izin vermeyin. Bu kodlamayı arduino diline çeviren bir web sitesi bulunmaktadır. Siteye bakmak için tıklayın.

Payload çevirici site

Sitede tek yapmanız gereken üst kısıma payload kodunuzu yapıştırıp “Compile” butonuna tıklamak ve aşağıda oluşan kodu taslak defterinize yapıştırmak. Ardından aruino kartımıza yüklemek.

Eğer python programlama dilini biliyorsanız payloadları arduino diline çevirecek python kodu da bulunmaktadır. Projeye bakmak isterseniz tıklayın.