Polski ruter na liście zainfekowanych unikatowym złośliwym oprogramowaniem

dodał 16 września 2015 o 22:36 w kategorii Złośniki  z tagami:
Polski ruter na liście zainfekowanych unikatowym złośliwym oprogramowaniem

Niedawno odkryto i opisano wyjątkowo zaawansowane i świetnie ukryte złośliwe oprogramowanie wgrane do ruterów Cisco na całym świecie. Najnowsze skany wskazują, że jedna z zainfekowanych nim maszyn znajduje się w Polsce.

Do momentu ujawnienia rewelacji Snowdena wiele zagrożeń było bagatelizowanych lub ignorowanych. Dopiero poznanie faktycznej skali możliwości technicznych NSA sprawiło, że wiele firm zaczęło dokładniej analizować miejsca do tej pory uważane za bezpieczne. Jednym z nich okazało się wbudowane oprogramowanie ruterów firmy Cisco.

Puk puk, to ja, tylna furtka

Firma FireEye opublikowała wczoraj ciekawy raport na temat wykrytych modyfikacji oprogramowania niektórych modeli ruterów Cisco. Zmodyfikowane rutery reagują na bardzo specyficzną kombinację modyfikacji pakietów TCP i umożliwiają zdalny, nieautoryzowany dostęp do swoich funkcji. Dzisiaj uczestnicy projektu zmap udostępnili informację o wyniku skanowania całego internetu pod kątem obecności tak własnie zmodyfikowanych ruterów. Znaleźli ich w sumie 79, z czego jeden w Polsce.

Tylna furtka jest naprawdę sprytna. Jej instalacja wymaga modyfikacji wbudowanego oprogramowania urządzenia. Niestety brak informacji o tym, czy do tej modyfikacji dochodzi na etapie produkcji, transportu czy eksploatacji rutera. Pewną wskazówką jest ostrzeżenie Cisco z 11 sierpnia tego roku gdzie firma informuje, że zaobserwowała kilka przypadków instalowania zmodyfikowanego oprogramowania po uzyskaniu przez atakującego zdalnego dostępu do rutera.

Tylna furtka umieszczana jest w specjalnie w tym celu modyfikowanych obrazach systemu operacyjnego Cisco IOS. Zainfekowany ruter umożliwia zalogowanie się atakującego po podaniu tajnego hasła, pobieranie modułów funkcjonalnych z internetu czy też podniesienie uprawnień. Ale po kolei.

Według FireEye na pewno atakowane w ten sposób były rutery Cisco 1841, 2811 oraz 3825. Nie jest wykluczone, że tylna furtka może znajdować się także w innych modelach. Jej wbudowanie w oprogramowanie sprawia, że jest w stanie przetrwać każdy restart urządzenia. Z kolei moduły wgrane przez atakującego przechowywane są jedynie w pamięci ulotnej, zatem restart powoduje ich usunięcie. Co ciekawe, by uniknąć zmiany rozmiaru pliku z obrazem systemu, złośliwy kod nadpisuje nieużywane funkcje IOS. Oznacza to, ze przed każdą instalacją analizowana jest charakterystyka użycia danego rutera i nadpisywane są tylko te funkcje, które nie są wykorzystywane w konkretnym wdrożeniu. Każda instalacja zatem może różnić się od pozostałych. Nadpisywanie niektórych sekcji może być wskazówką infekcji w trakcie analizy zrzutu pamięci urządzenia.

Fragment kodu, którego nie powinno być w pamięci rutera

Fragment kodu, którego nie powinno być w pamięci rutera

Tajne hasło atakującego może być użyte na trzy różne sposoby: przy logowaniu przez konsolę, przez telnet oraz do podniesienia uprawnień zalogowanej już sesji. Co ciekawe, w wykrytych przypadkach tajne hasło nie działało w sesji SSH lub HTTPS.

Akcja aktywacja

By uruchomić niektóre funkcje tylnej furtki zdalnie wystarczy nawiązać z zainfekowanym ruterem odpowiednią komunikację. Nie mają tu znaczenia skonfigurowane reguły filtrowania ruchu – tylna furtka i tak słucha wszystkich pakietów.  Magiczna sekwencja wygląda następująco:

  • TCP SYN na port 80 w którym różnica między numerem sekwencyjnym i numerem potwierdzenia wynosi dokładnie 0xC123D,
  • w odpowiedzi nadchodzi TCP SYN-ACK w którym różnica między numerem sekwencyjnym i numerem potwierdzenia wynosi dokładnie 0xC123E, opcje TCP to  „02 04 05 b4 01 01 04 02 01 03 03 05”, wskaźnik priorytetu ma wartość 0x0001 ale flaga priorytetu nie została ustawiona a numer potwierdzenia jest skopiowany z pakietu SYN,
  • TCP ACK ,
  • kolejny pakiet od właściciela tylnej furtki ma już postać pakietu TCP z ustawionymi flagami PUSH i ACK, w odległości  0x62 od początku nagłówka pakietu znajduje się ciąg „text” a po nim sekwencja poleceń do wykonania plus suma kontrolna (polecenia szyfrowane są stałym kluczem XOR).

Dostępnych jest 5 podstawowych poleceń: wylistowanie aktywnych modułów, zarezerwowanie pamięci dla nowego modułu, wczytanie modułu, aktywowanie modułu oraz usunięcie modułu z pamięci.

Kto jest zainfekowany

Sam FireEye informuje, że wykrył 14 zainfekowanych ruterów w krajach takich jak Ukraina, Filipiny, Meksyk oraz Indie. Dzięki szczegółowemu opisowi wskazującemu, jak rozpoznać infekcję, uczestnicy projektu zmap przeskanowali wczoraj czterokrotnie cały internet w poszukiwaniu kolejnych zainfekowanych urządzeń i znaleźli ich 79.

Kraje z zainfekowanymi ruterami

Kraje z zainfekowanymi ruterami

Autorzy tego skanu nie podali co prawda adresów IP zainfekowanych maszyn, lecz poinformowali, że 25 ruterów w USA należy do jednego dostawcy internetu na wschodnim wybrzeżu a adresy znalezione w Niemczech oraz Libanie należą do tego samego operatora usługi internetu satelitarnego działającego w Afryce. Zauważyli także, że proporcjonalnie więcej zainfekowanych ruterów znajdowało się właśnie w krajach Afryki oraz Azji. Jeden przypadek trafił się także w Polsce.

Oczywiście wynik takiego skanowania nie musi być miarodajny. Po opisaniu przypadku infekcji jej autorzy mogli szybko zmodyfikować sposób komunikacji z ruterami by uniknąć wykrycia, część zainfekowanych ruterów może także nie być dostępna w publicznej adresacji IP.

Jak sprawdzić swoje rutery

Niestety nie wiemy, jakie funkcje mogą mieć moduły ładowane przez atakujących. Nie jest jednak trudno sobie wyobrazić, co można zrobić mając kontrolę nad ruterem – podsłuch lub modyfikacja ruchu otwierają szerokie możliwości przed atakującymi. Na szczęście Cisco udostępnia prostą instrukcję umożliwiającą weryfikację integralności oprogramowania ruterów. Pytanie, czy ktokolwiek z naszych Czytelników kiedykolwiek przeprowadzał taką operację. Może czas zacząć jutro rano?