Tylna furtka w ruterach na porcie 32764 usunięta… i ponownie dodana!

dodał 19 kwietnia 2014 o 21:38 w kategorii Wpadki  z tagami:
Tylna furtka w ruterach na porcie 32764 usunięta… i ponownie dodana!

Pierwszego stycznia tego roku opisywaliśmy śmieszną tylną furtkę odkrytą w ruterach Linksysa, Netgeara i Cisco. Jej odkrywca ustalił, że chociaż została wyłączona w najnowszej aktualizacji, to dodano sposób na ponowną aktywację!

Po co twórcy oprogramowania domowych ruterów regularnie umieszczają w nich tylne furtki? My tego nadal nie rozumiemy, a producenci, nawet przyłapani na swoim niecnym procederze, usuwając jedną tylną furtkę aktywują kolejną naiwnie myśląc, że nikt ich na tym nie przyłapie.

Port 32764

Eloi Vanderbeken w czasie świąt Bożego Narodzenia odkrył tylną furtkę w swoim ruterze Linksys WAG200G. Dzięki odpowiednio spreparowanemu pakietowi wysłanemu na port 32764 urządzenia (również spoza sieci lokalnej) mógł całkowicie przejąć nad nim kontrolę. Śledztwo wykazało, że za tym mechanizmem stoi firma Sercomm, producent sprzętu dla takich marek jak Linksys czy Netgear. Wkrótce po jego publikacji pojawiły się aktualizacje oprogramowania dla podatnych ruterów. Eloi oczywiście zweryfikował czy faktycznie tylna furtka została usunięta.

Na warsztat wziął ruter Netgear DGN1000. Pobrał najnowsze oprogramowanie w wersji 1.1.0.55 i rozpakował narzędziem binwalk. Następnie poszukał pliku scfgmgr, który zawierał funkcjonalność tylnej furtki. Ku swojemu zaskoczeniu znalazł go w oprogramowaniu. Kiedy jednak sprawdził, gdzie i jak plik ten jest uruchamiany, znalazł jego wywołanie z parametrem -l, oznaczającym, że jest on dostępny jedynie jako gniazdo lokalnej komunikacji międzyprocesowej (Unix domain socket), czyli łączyć się z nim mogą jedynie procesy działające na tym samym urządzeniu.

Fragment analizy kodu

Fragment analizy kodu

Eloi pamiętał jednak, że wywołanie tylnej furtki z parametrem -f uruchamia nasłuch na porcie TCP, zatem sprawdził, czy w kodzie rutera znajduje się takie wywołanie. Jak możecie się już pewnie domyślać znalazł to, czego szukał w tajemniczym narzędziu o nazwie ft_tool.

Wstawmy nową lepszą tylną furtkę

Eloi poddał analizie odkryty plik. Okazało się, że otwiera on surowy port (raw socket) i nasłuchuje pakietów z parametrem ethertype równym 0x8888 przychodzących od karty ethernetowej. Jeśli taki pakiet zawiera skrót MD5 o wartości 45d1bb339b07a6618b2114dbc0d7783e (DGN1000) a rodzaj pakietu to 0x201, to tylna furtka z początku roku jest ponownie aktywowana w trybie TCP na porcie 32764. Jedyna różnica jest taka, że aktywacja może nastąpić jedynie z sieci wewnętrznej (lub z poziomu operatora sieci, mogącego bezpośrednio przesyłać ramki ethernetowe).

Funkcja aktywująca tylną furtkę została przez autora odkrycia odnaleziona w starym narzędziu firmy Sercomm – wygląda zatem na to, że autorom oprogramowania nie chciało im się pisać niczego nowego, tylko wykorzystali posiadany fragment kodu. Tylna furtka została odrobinę rozbudowana – obecnie oprócz m. in. wykonywania poleceń jako root można także selektywnie mrugać diodami modemu. Cudownie. Eloi opublikował kod umożliwiający weryfikację podatności urządzeń.

Fragment kodu tylnej furtki

Fragment kodu tylnej furtki

Ile jeszcze?

Jak wiele wstydu muszą jeszcze najeść się producenci oprogramowania ruterów, by przestać wsadzać do nich tylne furtki? Niestety chyba szybko nic w tej kwestii się nie zmieni – dla przeciętnego konsumenta tego typu informacja nie ma większego znaczenia. Oczywiście tylko do momentu, gdy ktoś nie przestawi mu serwerów DNS…