Niedawno, w ramach naszej nieustającej misji ochrony świata przed szkodliwym oprogramowaniem, odkryliśmy „niegrzecznego” trojana dla Androida. Chociaż szkodniki atakujące ten system operacyjny przestały być nowością już jakiś czas temu, omawiany trojan jest dość unikatowy. Zamiast atakować użytkownika, atakuje sieć Wi-Fi, z którą użytkownik jest połączony, a dokładniej obsługujący ją bezprzewodowy router. Trojan ten - Trojan.AndroidOS.Switcher - przeprowadza atak polegający na „siłowym” odgadywaniu haseł do interfejsu sieciowego administratora routera. Jeśli atak się powiedzie, szkodnik zmienia adresy serwerów DNS w ustawieniach routera, co powoduje przekierowanie wszystkich zapytań DNS z urządzeń w zaatakowanej sieci Wi-Fi do serwerów cyberprzestępców (tego rodzaju atak jest również określany jako porywanie DNS). A zatem wyjaśnijmy szczegółowo, w jaki sposób Switcher przeprowadza swoje ataki metodą siłową (brute-force), przedostaje się do routerów i przeprowadza „porwanie DNS”.
Sprytne małe fałszywki
Do tej pory widzieliśmy dwie wersje omawianego trojana:
Pierwsza wersja (com.baidu.com) podszywa się pod mobilnego klienta chińskiej wyszukiwarki Baidu, otwierając po prostu adres URL http://m.baidu.com wewnątrz aplikacji. Druga wersja to dobrze wykonana fałszywa wersja popularnej chińskiej aplikacji (http://www.coolapk.com/apk/com.snda.wifilocating) służącej do współdzielenia informacji o sieciach Wi-Fi (łącznie z hasłem bezpieczeństwa) między użytkownikami aplikacji. Takie informacje są wykorzystywane np. przez osoby podróżujące służbowo w celu połączenia się z publiczną siecią Wi-Fi, do której nie znają hasła. Jest to dobre miejsce na ukrycie szkodliwego oprogramowania atakującego routery, ponieważ użytkownicy takich aplikacji zwykle łączą się z wieloma sieciami Wi-Fi, rozprzestrzeniając tym samym infekcję.
Cyberprzestępcy stworzyli nawet stronę internetową (aczkolwiek jej wykonanie pozostawia wiele do życzenia) w celu reklamowania i rozprzestrzeniania wspomnianej wyżej fałszywej wersji com.snda.wifilocating. Serwer sieciowy hostujący tę stronę jest również wykorzystywany przez autorów szkodliwego oprogramowania jako serwer kontroli (C&C).
Proces infekcji
Trojan wykonuje następujące działania:
Trojan uzyskuje domyślny adres bramy, a następnie próbuje uzyskać do niej dostęp w osadzonej przeglądarce. Przy pomocy JavaScript próbuje zalogować się przy użyciu różnych kombinacji loginów i haseł. Sądząc po zakodowanych na sztywno nazwach pól danych oraz strukturach dokumentów HTML, do których trojan próbuje uzyskać dostęp, wykorzystany kod JavaScript będzie działał tylko w interfejsach sieciowych routerów Wi-Fi TP-LINK.
5. Jeśli manipulacja adresami DNS powiodła się, trojan zgłasza swój sukces serwerowi kontroli
Aby zrozumieć efekt opisywanych działań, należy znać podstawowe zasady sposobu działania DNS. DNS służy do tłumaczenia literowej nazwy zasobu sieciowego (np. strony internetowej) na adres IP wykorzystywany do rzeczywistej komunikacji w sieci komputerowej. Na przykład, nazwa „google.com” zostanie przetłumaczona na adres IP 87.245.200.153. Ogólnie, normalne zapytanie DNS odbywa się w następujący sposób:
Przeprowadzając porywanie DNS, cyberprzestępczy zmieniają ustawienia TCP/IP ofiary (w naszym przypadku jest to router), aby zmusić go do wysyłania zapytań DNS do kontrolowanego przez siebie serwera DNS – fałszywego serwera DNS. A zatem powyższy schemat zmieni się na następujący:
Jak widać, zamiast komunikować się z rzeczywistą stroną google.com, ofiara zostanie podstępnie nakłoniona do komunikowania się z zupełnie innym zasobem sieciowym. Może to być fałszywa strona google.com, która zapisuje wszystkie żądania wyszukiwania i wysyła je cyberprzestępcom, lub losowa strona internetowa zawierająca reklamy wyskakujące lub szkodliwe oprogramowanie. Lub coś innego. Osoby atakujące przejmują niemal pełną kontrolę nad ruchem sieciowym, który wykorzystuje taki system rozwiązywania nazw (który obejmuje np. cały ruch sieciowy).
Być może zastanawiasz się – dlaczego to takie ważne: routery nie przeglądają stron internetowych, a więc gdzie ryzyko? Niestety, zgodnie z najczęstszą konfiguracją, urządzenia przejmują ustawienia DNS routerów Wi-Fi, do których są podłączone, a więc wszystkie urządzenia w sieci zostają zmuszone do wykorzystywania tego samego fałszywego serwera DNS. A zatem, po uzyskaniu dostępu do ustawień DNS routera można kontrolować niemal cały ruch w sieci obsługiwanej przez ten router.
Cyberprzestępcy nie byli wystarczająco ostrożni i pozostawili swoje wewnętrzne statystyki dotyczące infekcji w otwartej części strony internetowej C&C.
Z danych cyberprzestępców wynika, że udało im się przeniknąć do 1 280 sieci Wi-Fi. Jeśli to prawda, ruch wszystkich użytkowników tych sieci może być przekierowany.
Zakończenie
Trojan.AndroidOS.Switcher nie atakuje użytkowników w sposób bezpośredni. Zamiast tego atakuje całą sieć, narażając jej wszystkich użytkowników na szeroką gamę ataków – od phishingu po infekcję wtórną. Główne niebezpieczeństwo takiego majstrowania przy ustawieniach routera polega na tym, że nowe ustawienia przetrwają nawet ponowne uruchomienie routera i bardzo trudno stwierdzić porwanie DNS. Nawet jeśli fałszywe serwery DNS zostaną wyłączone na pewien czas, wykorzystywany będzie serwer pomocniczy, ustawiony na 8.8.8.8, w związku z czym użytkownicy i/ani dział IT nie zostaną zaalarmowani.
Zalecamy wszystkim użytkownikom, aby sprawdzili swoje ustawienia DNS i poszukali następujących fałszywych serwerów DNS:
Jeśli posiadasz jeden z tych serwerów w swoich ustawieniach DNS, skontaktuj się z działem pomocy twojego dostawcy usług internetowych lub powiadom właściciela sieci Wi-Fi. Kaspersky Lab zdecydowanie radzi użytkownikom, aby zmienili swój domyślny login i hasło interfejsu sieciowego administratora routera, aby zapobiec opisywanym atakom w przyszłości.
Analizy
Blog