Hej, hej... Programisto, to kolejny artykuł dla Ciebie! Druga część artykułu na temat wzorców projektowych. Poznaj Adapter oraz Memento.
Zapraszamy na kontynuację rozważań o urządzeniu Rubber Ducky, jego domowych alternatywach oraz sposobach na obronę Twojej firmy przed takimi atakami. Jeśli nie wiesz na czym polega działanie BadUSB, to zachęcamy do lektury poprzedniego wpisu.
Tanie alternatywy Rubber Ducky
Z powodu wysokiej ceny USB Rubber Ducky, zwanego również BadUSB, na rynku pojawiło się mnóstwo alternatyw oferujących podobne funkcje w dużo niższych cenach. Rozwiązania te często wymagają pewnych umiejętności programowania lub nawet własnego lutowania różnych rodzajów płytek w celu osiągnięcia podobnego efektu do rynkowego. Najtańszym rozwiązaniem umożliwiającym tego typu działanie jest rozwiązanie od Digispark – miniaturowy moduł z mikrokontrolerem ATtiny85 mający 8KB pamięci wewnętrznej.
Rysunek 1: Digispark ATtiny85
Zaprogramowanie płytki jest bardzo proste i robi się to z użyciem biblioteki DigiKeyboard. Wadą tego rozwiązania jest przeprogramowywanie płytki z użyciem oprogramowania od firmy Arduino za każdym razem, kiedy chcemy mieć inny skrypt – a także to, że konieczne jest opakowywanie skryptów znalezionych w Internecie w komendy z biblioteki DigiKeyboard. Zaletą jednak jest cena, ponieważ płytkę można zamówić już w cenie 4 dolarów z pewnej chińskiej strony. W Polsce kosztuje ona około 30 zł. Warto powiedzieć, że sama biblioteka też zajmuje nieco pamięci, więc do dyspozycji pozostaje ok. 4KB. Wydaje się to niewiele, ale jest to wystarczająco na jeden skrypt. Przykładowy kod skryptów opakowanych w bibliotekę DigiKeyboard można znaleźć w tym miejscu:
https://github.com/MTK911/Attiny85.
Rysunek 2: Github, MTK911 / Attiny85, Skrypt DigiSpark Fork Bomb
Opinie w Internecie wskazują jednak, że płytka firmy DigiSpark bywa problematyczna i nie zawsze da się ją łatwo wykryć na każdym systemie operacyjnym (czy nawet pod określonym portem USB). Może więc się zdarzyć, że ciężko będzie ją przeprogramować lub – co gorsza – włożenie jej do komputera ofiary nie spowoduje wywołania skryptu. Kolejnym wartym omówienia rozwiązaniem może być płytka Arduino ATmega32U4, do której można zamontować moduł microSD oraz przełączników. Całość po połączeniu i zlutowaniu może wyglądać w ten sposób:
Rysunek 3: BadUSB stworzone w oparciu o Arduino ATmega32U4, Seytonic Youtube
Odpowiednie zaprogramowanie płytki daje możliwość przechowywania skryptów na karcie microSD i przełączania ich za pomocą dolutowanych przełączników. Kolejnymi zaletami takiego rozwiązania jest także jednokrotne programowanie płytki i to, jak wiele ataków można przeprowadzić podłączając płytkę tylko raz. Wymiana skryptów następuje poprzez umieszczenie ich na karcie microSD przy pomocy komputera lub telefonu, pamiętając jednocześnie o ich odpowiednim nazwaniu. Jest to przewaga nawet wobec części kupowanych produktów z tego zakresu. Wadą jest jednak fakt, że takie urządzenie rzuca się w oczy, w przeciwieństwie do rynkowych. Umieszczając tak wykonane BadUSB w widocznym miejscu w firmie nie możemy liczyć na to, że ktoś po prostu je podniesie i podłączy do swojego komputera. W przypadku rynkowych, eleganckich rozwiązań istnieje niezerowe prawdopodobieństwo, że ofiara podłączy taki “pendrive” – choćby z ciekawości zobaczenia, co się na nim znajduje. Kod rozwiązania jest również dość prosty, jednak polega na załadowaniu odpowiedniego pliku “txt”, a następnie przetworzenie skryptu napisanego w języku ducky na odpowiednie komendy w języku programowania C z użyciem biblioteki Keyboard.h. https://github.com/Seytonic/Duckduino-microSD
Niebezpieczeństwo na każdym kroku?
Koszt urządzenia w zależności od typu, producenta i oferowanego zakresu możliwości waha się od 40 do 70 dolarów za sztukę. Występują także droższe oferty, w których ukrywa się takie urządzenie np. w kablu, lampce podłączanej do komputera czy klawiaturze. Dobrą praktyką jest więc kupowanie urządzeń sprawdzonych marek z zaufanych źródeł, a także niepodłączanie niezweryfikowanych urządzeń do komputera, w którym trzymane są wrażliwe dane. Znane są przypadki, kiedy przestępcy lub legalnie zatrudnieni pentesterzy dostarczali do firm gadżety wyposażone w dodatkową, niebezpieczną elektronikę i przejmowali kontrolę nad firmą (lub, w łagodniejszych przypadkach, po prostu udowadniali niedoskonałość procedur).
Rysunek 4: Płytka Digispark ATtiny85 w lampce USB, Z-Security Youtube
Oficjalna strona oferująca oryginalne urządzenia USB Rubber Ducky proponuje także kable z funkcją BadUsb w cenie 120 dolarów (OMG Cable).
Rysunek 5: Złośliwy kabel z funkcją BadUSB wyprodukowany przez HAK5
Należy dodać, że istnieją także specjalne detektory kontrolujące i (często, choć nie zawsze) wykrywające obecność złośliwych gadżetów. Jak w każdej dziedzinie związanej z cyberbezpieczeństwem, jest tutaj atmosfera nieustannego wyścigu pomiędzy rozwiązaniami podnoszącymi bezpieczeństwo, a tymi przełamującymi nowo powstałe metody zabezpieczeń.
USBKiller
Warto także wspomnieć, że ataki z użyciem Rubber Ducky to nie jedyny rodzaj ataków poprzez interfejs USB, ponieważ istnieją także urządzenia zwane USBKiller. Po włożeniu takiego urządzenia do portu, zaczyna ono wysyłać sygnały o wysokim napięciu w celu uszkodzenia hardware’u atakowanego urządzenia. To, co się stanie z atakowanym sprzętem, zależy jednak od jego konstrukcji. Nie zawsze musi dojść do uszkodzenia płyty głównej urządzenia, czasem ze względu na zabezpieczenia sprzętowe usterki będą ograniczone do zepsutego portu USB. W tematyce USBKiller także trwa pewnego rodzaju rywalizacja pomiędzy ludźmi dążącymi do zwiększenia bezpieczeństwa użytkownika, a tymi, którzy starają się te zabezpieczenia przełamać.
Jak chronić Twoją firmę?
Jednym z najsłabszych ogniw w cyberbezpieczeństwie jest człowiek, który popełnia błędy wpływające negatywnie na poziom bezpieczeństwa firmy. Ze względu na skomplikowanie technologii nie da się w pełni wyeliminować zagrożeń, ale można je zminimalizować. W przypadku BadUSB najważniejsza wydaje się edukacja pracowników, aby nie podłączali oni nieznanych im urządzeń USB. Powinni oddawać je do administratora, który następnie zweryfikuje ich pochodzenie w izolowanym środowisku. USB Rubber Ducky to jednak nie jedyny wektor ataku na firmy. Jeśli chcesz wiedzieć więcej zachęcamy do czytania naszego bloga. Jeśli natomiast chcesz chronić swoją firmę przed zagrożeniami w cyberprzestrzeni to zastanów się nad zatrudnieniem specjalisty.
Źródła:
- https://thehacktoday.com/60-best-rubber-ducky-usb-payloads/
- http://docs.maltronics.com/
- https://docs.hak5.org/hc/en-us
- https://www.youtube.com/watch?v=QrwqeI99I8E
- https://shop.hak5.org/collections/mischief-gadgets/products/o-mg-cable-usb-a?variant=39361713537137
- https://github.com/hak5/usbrubberducky-payloads
- https://botland.com.pl/plytki-zgodne-z-arduino-pozostale/14257-digispark-kickstarter-attiny85-5v-5903351242035.html
- https://hackaday.com/tag/omg-cable/
- https://www.youtube.com/watch?v=qs9gERSV-bY
- https://youtu.be/VTTLjtLaESo
- https://www.youtube.com/watch?v=ksvo1WDYQ7s