Zamknij oczy i wyobraź sobie klawiaturę do komputera. Widzisz przede wszystkim klawisze. Ale czy klawiatura musi mieć klawisze? Albo inaczej: czy każde urządzenie USB twierdzące iż jest klawiaturą, naprawdę musi nią być? No właśnie, poznaj USB Rubber Ducky.
USB Rubber Ducky to małe urządzenie przypominające pen drive’a, przed komputerem udające klawiaturę. Zamiast klawiszy ma jednak kartę MicroSD (wymienialną), a na niej program sterujący symulowaniem wciskania tych nieistniejących klawiszy – najczęściej po to, aby w ułamku sekundy wykonać na komputerze jakieś polecenie.
Tak wygląda przykładowy program w Ducky Scripcie. Program taki kompiluje się specjalnym narzędziem na format zrozumiały dla kontrolera w tym urządzeniu, po czym wgrywa na wkładaną do niego kartę pamięci.
Składnia Ducky Scriptu jest trywialna:
- REM – komentarz (ignorowany)
- WINDOWS – wciśnięcie klawisza „Windows” (z reguły znajduje się na klawiaturze pomiędzy CTRL i ALT) i jednocześnie innego klawisza
- DELAY – pauza (aby np. Windows zdążył otworzyć jakieś okno w reakcji na poprzednie polecenie)
- STRING – tekst do wpisania z „klawiatury”
- ENTER – wciśnięcie klawisza Enter
Budowa urządzenia
Zdjęcie obok przestawia USB Rubber Ducky rozłożone na części. Jest to pojedyncza płytka z mikrokontrolerem AVR32, wyposażona w port USB i gniazdo kart MicroSD z obsługą standardu SDHC.
Standardowo urządzenie czyta z karty pamięci jedynie plik ze skomplikowanym skryptem symulacji klawiatury, jednakże całość można dowolnie przeprogramować, aby np. zapisywać na tej karcie pliki wykradzione z komputera, czy różnicować zachowanie w zależności od tego, do jakiego komputera zostanie ono podłączone.
Możliwa jest również programowa podmiana identyfikatorów tzw. VID i PID urządzenia, aby udawało ono konkretny model klawiatury od konkretnego producenta – jest to przydatne w korporacjach stosujących zaawansowane zabezpieczenia komputerów, blokujące porty USB i dopuszczające tylko wybrane typy urządzeń.
Współpraca z platformą Sherlock
USB Rubber Ducky wyposażone w odpowiedni payload może być używane do automatycznej inicjacji ataku dzięki Sherlocka. Więcej szczegółów dostępne po podpisaniu NDA.
Materiały dodatkowe
- dokumentacja Ducky Scriptu
- kilka dodatkowych sztuczek w celu ukrywania wykonywanych poleceń
- repozytorium z narzędziami od autorów:
- kompilator Ducky Scriptu
- prawie 20 różnych wersji firmware
- kody źródłowe firmware
- narzędzia do flashowania tego firmware
- narzędzie do zmiany identyfikatorów VID i PID wraz z kodem źródłowym
- oficjalny sklep