Hej, hej... Programisto, to kolejny artykuł dla Ciebie! Druga część artykułu na temat wzorców projektowych. Poznaj Adapter oraz Memento.
Czy zastanawiałeś się kiedyś jak cyberprzestępcy mogą przejąć kontrolę nad Twoją firmą? Czy dane Twoich klientów i pracowników są bezpieczne? Jako Innokrea chcemy Wam przybliżyć na jakie ataki możecie być narażeni i jak się przed nimi bronić. Przedstawimy także o szczegóły techniczne tych ataków tak, aby Wasi administratorzy wiedzieli jak radzić sobie z zagrożeniami w cyberprzestrzeni. Dzisiaj chcemy Wam opowiedzieć o tym jak podłączenie znalezionego pendrive’a może doprowadzić do przejęcia kontroli nad Waszymi komputerami.
Rys historyczny
We wczesnych latach dwutysięcznych, kiedy na rynek zaczęły trafiać pierwsze pamięci w formie pendrive’ów, były one automatycznie odtwarzane poprzez systemy z rodziny Windows (98,XP, WS 2003). Po włożeniu pamięci do komputera system rozpoczynał uruchamianie pliku autorun.inf. Stwarzało to możliwość ataku, polegającego na umieszczeniu złośliwego pliku wykonywalnego na pendrive’ie, a następnie napisaniu rozkazu w pliku autorun w celu jego uruchomienia. Mogło to wyglądać w ten sposób:
Rysunek 1: Przykładowa zawartość pliku autorun.inf
Taki sposób działania systemu mógł być wykorzystywany do przejęcia lub uszkodzenia komputera w szybki i niezauważalny sposób – wystarczyło podłączenie pendrive’a na kilka sekund. Opcję tę można było wyłączyć w ustawieniach lub modyfikując rejestr systemu, jednak świadomość użytkownika w tym temacie była często na zerowym poziomie. Na szczęście Microsoft w kolejnych wersjach systemu Windows domyślnie wyłączył funkcję automatycznego wykonywania pliku autorun. Ponieważ Windows Vista został stworzony na przełomie lat 2006/2007, to przez prawie dwa lata takie ataki nie mogły mieć miejsca – aż do roku 2009, kiedy powstało urządzenie o nazwie USB Rubber Ducky. Być może wcześniej już istniały takie urządzenia, o których nie mamy wiedzy, ale to było i nadal jest najpopularniejszym rozwiązaniem w branży cyberbezpieczeństwa. Urządzenie to zostało stworzone przez Darrena Kitchena – Amerykanina, który pracując jako administrator postanowił zautomatyzować powtarzalną pracę związaną z wpisywaniem komend do terminali komputerowych. Bazowym założeniem urządzenia nie było wówczas podbicie przemysłu pentestersko-hakerskiego (o ile takowy wówczas w Ameryce istniał), a po prostu chęć zaoszczędzenia czasu na nudnych, cyklicznie wykonywanych czynnościach administracyjnych. Wkrótce okazało się jednak, że takie urządzenie może być wykorzystywane przez ludzi chcących przejąć cudzy komputer na bardzo podobnej zasadzie, jak robili to napastnicy wiele lat wcześniej, modyfikując wspomniany już plik autorun.inf. W jaki sposób?
Rysunek 2: Urządzenie USB Rubber Ducky ze sklepu HAK5
Czym jest BadUSB?
Urządzenie USB Rubber Ducky jest miniaturową płytką w kształcie pendrive’a, która przedstawia się systemowi jako klawiatura USB. Jest to płytka pozwalająca na oprogramowanie software’owej klawiatury w dowolny sposób (w ramach ograniczeń, jakie ma zwyczajna klawiatura). W praktyce jest to dużo bardziej niebezpieczne niż plik autorun znany ze starszych systemów Windows – pozwala bowiem na błyskawiczną modyfikację plików na dysku, otwarcie konsoli terminala i wpisanie tam komend z prędkością setek znaków na sekundę. Nie musimy, choć możemy umieszczać na pamięci płytki pliki wykonywalne – jednak uruchamianie takich plików na współczesnych komputerach może być wychwycone przez domyślny dla systemu Windows program wykrywający szkodliwe oprogramowanie Windows Defender lub inne programy antywirusowe. Natomiast otwarcie konsoli nie powoduje żadnych ostrzeżeń. Dodatkowo, jeśli na komputerze domowym nasze konto ma prawa administratora, to tym więcej (niebezpiecznych i inwazyjnych) komend możemy wykonać na komputerze ofiary.
Działanie
Skrypty pisane w celu wykonania określonych komend na komputerze ofiary mają zazwyczaj bardzo prostą, prymitywną składnię i przypominają komendy umieszczane w pliku autorun lub te pisane w plikach .bat.
Rysunek 3: Przykładowy skrypt Rubber Ducky
To skrypty są esencją tego, co jest możliwe do zrobienia z pomocą BadUSB. Od prostych żartów, które można robić kolegom – od np. zamiany klawiszy myszki czy odwracanie ekranu, po wykradanie zapisanych haseł do kont użytkownika i wysyłanie ich mailem lub uruchamianie programów, które szyfrują dysk ofiary czy pozwalają na zdalną kontrolę. W serwisie Github istnieją całe repozytoria zawierające setki różnych skryptów „na różne okazje” – występują nawet programy pozwalające uzyskać stałą kontrolę nad danym urządzeniem i np. raportowanie stanu urządzenia poprzez e-mail.
Rozwój Rubber Ducky
Wraz z rozwojem technologii nastąpiło także rozwinięcie zarządzania urządzeniem USB Rubber Ducky. Nowe wersje, tworzone często przez innych producentów niż oryginalny HAK5 (np. Maltronics), wspierają np. zdalną obsługę urządzenia. Rozszerzenie urządzenia o moduł wifi pozwala na postawienie lokalnego serwera http, który stanowi interfejs do zarządzania. Nie ma także potrzeby wykonywania skryptów z użyciem komputera. Mając urządzenie ducky ze zdalną obsługą przez wifi, można się zalogować do serwera telefonem i uruchomić skrypt z dowolnego miejsca, w dowolnym momencie. Należy zauważyć, że scenariusz użycia zmienia się w zależności od zastosowanej wersji takiego urządzenia – jeśli atakujący jest w stanie zdalnie obsługiwać urządzenie, to może je np. podłączyć do komputera podczas nieobecności kolegi z biura, by następnie, kiedy zaloguje się on do swojego konta, uruchomić kilkusekundowy skrypt pozwalający na przejęcie kontroli nad jego komputerem.
Rysunek 4: Widok panelu administratora urządzenia Malduino WiFi
Możliwości ataku stają się szersze i bardziej elastyczne. Oczywiście, wraz ze wzrostem firmy w której są wykonywane takie testy, wzrastają też możliwości zabezpieczenia stacji roboczych. Oznacza to, że tester penetracyjny często nie jest w stanie wykonać pewnych zabiegów ze względu na ograniczone prawa użytkownika na danym komputerze. Wtedy sprawa staje się dużo trudniejsza, choć istnieją sposoby na eskalowanie swoich uprawnień za pomocą podatności znalezionych na własną rękę lub kupionych w Internecie. Jest to natomiast dużo trudniejsze, wymaga zastosowania szerokiego wachlarza technik hakerskich oraz – nierzadko – całej drużyny specjalistów.
W kolejnym artykule opowiemy Wam o tym jakie są możliwości domowego wykonania takiego urządzenia, czym jest USBKiller oraz jak bronić się przed takimi zagrożeniami.
Ź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