Kolejna tylna furtka w ruterach – wystarczy magiczny pakiet UDP

dodał 18 października 2013 o 11:45 w kategorii Wpadki  z tagami:
Kolejna tylna furtka w ruterach – wystarczy magiczny pakiet UDP

Autor odkrycia tylnej furtki w ruterach D-Linka tym razem zabrał się za sprzęt firmy Tenda. Jak się domyślacie, czytacie ten artykuł, ponieważ tam również znalazł fragment kodu odpowiedzialny za wykonywanie nieautoryzowanych poleceń.

O ile furtka w ruterach D-Linka była dość trywialna (wymagała jedynie zmiany parametru User Agent), to tym razem mamy do czynienia z dużo bardziej wyrafinowanym mechanizmem. Craig, autor wpisów w serwisie /dev/ttyS0, zajął się najnowszym oprogramowaniem rutera Tenda W302R. Tradycyjnie rozpakował aktualizację oprogramowania i zlokalizował plik binarny serwera httpd. Tym razem producent skorzystał z serwera GoAhead, który został poddany znacznym modyfikacjom.

Craig zaczął od ciekawej obserwacji – przed uruchomieniem procesów obsługi żądań http, serwer wykonuje dość niestandardowe operacje w osobnym wątku. Po pierwsze, zaczyna nasłuchiwać pakietów UDP na porcie 7329. Brzmi to co najmniej interesująco. W kolejnym kroku proces odczytuje po 128 bitów z portu, czekając na komunikację.  Otrzymany pakiet jest analizowany, a najważniejszym etapem tej analizy jest weryfikacja, czy pakiet zaczyna się od ciągu „w302r_mfg”.

Weryfikacja "magicznego ciągu" (źródło: dev/ttyS0)

Weryfikacja „magicznego ciągu” (źródło: dev/ttyS0)

W kolejnym kroku proces sprawdza, jakie otrzymał polecenie. Jeśli zawiera ono znak „e”, proces odpowiada stałym ciągiem, wykonując coś w rodzaju polecenia „ping”. Jeśli jednak jest to znak „x”, to umożliwia on… wykonanie dowolnego polecenia z uprawnieniami roota. Proces jest tak uprzejmy, że odpowiedź serwera przesyła na adres nadawcy pakietu. Znając tę sprytną metodę, możemy wykorzystać tylną furtkę za pomocą zwykłego netcata.

Zamiast wykonywać wszystkie polecenia za pomocą tylnej furtki, można tez po prostu uruchomić serwer telnet poleceniem

Jest tylko jeden drobny szczegół – tylna furtka działa tylko na interfejsie LAN, zatem musimy znajdować się w tej samej sieci, co ofiara. Inny badacz zweryfikował, że ciąg odpowiedzialny za weryfikację pakietu znajduje się we wszystkich aktualnych wersjach oprogramowania obecnie wspieranych ruterów Tenda.