Analiza oprogramowania wbudowanego w urządzeniach sieciowych może przynieść ciekawe odkrycia. A to ktoś znajdzie link, umożliwiający dostęp do kamery, a to konto serwisowe w routerze. A czasem root shella w popularnym routerze Wifi.
Kanadyjska firma Websec zainteresowała się routerami firmy TP-Link, a konkretnie modelem WR740N i WR740ND (na swojej stronie podają, że były to modele WDR740N i WDR740ND, ale takie nie istnieją w ofercie TP-Link). Analiza plików binarnych wbudowanego serwera HTTP ukazała niezwykle ciekawą funkcjonalność.
Jak dostać roota na routerze
Okazało się, że serwer www ma zapisany w kodzie ukryty link,
http://[adres IP]/userRpmNatDebugRpm26525557/linux_cmdline.html
Po wejściu na ten adres użytkownikowi ukazuje się klasyczny webshell.
Oprócz linka, w kodzie zapisane są również dane niezbędne do logowania: użytkownik to osteam, a hasło 5up.
Wyszukanie fragmentu linka backdoora w Google pokazało, że pierwsi odkryli go ponad rok temu Rosjanie, jednak nie podzieli się nim z tą częścią świata, która nie rozumie cyrylicy. Z wpisów na rosyjskich forach wynika, że ta ukryta funkcjonalność dostępna jest także przynajmniej w modelach WR741ND oraz WR1043ND.
Na co pozwala dostęp?
Jak twierdzą odkrywcy, po wejściu na podany link otrzymujemy dostęp do powłoki z uprawnianiami administracyjnymi – możemy więc zrobić wszystko. Na pewno możemy modyfikować pliki konfiguracyjne i ustawiać złośliwe ścieżki routingu. Zapewne możemy także np. usunąć kluczowe pliki i wyłączyć router z eksploatacji. Podejrzewamy, że w ten sposób można także np. odczytać hash hasła do sieci bezprzewodowej lub zainstalować sniffer sieciowy.
Jak zabezpieczyć swój router?
Przede wszystkim w opisie problemu pokazano jedynie dostęp do routera po wewnętrznym IP – zatem jest całkiem prawdopodobne, że webshell nie jest dostępny z zewnątrz.
Oczywiście ze względu na zapisanie parametrów dostępu bezpośrednio w skompilowanym pliku binarnym, nie mamy możliwości zmiany hasła lub wyłączenia dostępu. Prawdopodobnie w celu usunięcia problemu trzeba będzie zaczekać na aktualizację oprogramowania od dostawcy.
Ze względu na popularność routerów tego producenta w Polsce prosimy czytelników o weryfikację, czy problem faktycznie dotyczy wskazanych urządzeń – i być może również innych modeli TP-Link. Jeśli możecie potwierdzić lub zaprzeczyć, podajcie również wersję oprogramowania, w które wyposażone jest Wasze urządzenie. I sprawdźcie, czy da się zalogować zdalnie :)
W oparciu o komentarz naszych użytkowników (dziękujemy!) możemy uzupełnić wpis o następujące informacje:
- Jeśli jest włączona opcja Security -> Remote Management -> 255.255.255.255 to serwer www routera jest dostępny z zewnątrz i błąd można wykorzystać zdalnie! W pozostałych przypadkach wykorzystanie błędu wymaga dostępu do sieci lokalnej (przez WiFi lub kabel/port LAN)
- W menu Security -> Local Management możemy określić, które MAC adresy będą miały w sieci lokalnej dostęp do panelu zarządzania routerem
- Wykorzystanie błędu może wymagać (mamy różne doniesienia – podobno można anulować żądanie hasła) wcześniejszego zalogowania się hasłem i loginem administratora routera (jeśli nie zmieniliście z domyślnego admin/admin to polecamy interwencję)
- Potwierdzone działanie na następujących modelach: TL-WR740N, TL-WR740ND, TL-WR743ND, TL-WR842ND, WA-901ND, TL-WR941N, TL-WR941ND, TL-WR1043ND, WR2543ND, TL-MR3220, TL-MR3020, TL-WR841N (na dwóch ostatnich link działa, ale brak dostępu – prawdopodobnie inny login/hasło). Nie działa na modelach TL-WR340G, TL-WR543G. Dla TD-W8901G raporty są rozbieżne.
- Prostym rozwiązaniem problemu jest zmiana wbudowanego oprogramowania na dd-wrt (tu więcej na ten temat) lub OpenWRT
Komentarze
Na TL-WR1043ND faktycznie jest, natomiast bez podania loginu admina i hasła do routera nie da się wykonać żadnych poleceń.
Model TL-MR3220 – działa
Wygląda na to że tylko z wewnątrz sieci
na MR3220 dziala … jesli juz w tej sesji przegladarki byles zalogowany do strony router’a. Jesli nie byles zalogowany to zapyta o login/haslo, mozesz kliknac Cancel wowczas strona sie wyswietli to fakt, ale przy probie wykonania czegokolwiek natychmiast zapyta ponownie o login/haslo.
Jak zwykle poplyna jelenie z admin/admin :]
Na TL-WR743ND problem występuje (najnowszy firmware).
Na TP-Link MR3020 webshell jest dostępny pod wskazanym adresem (na interfejsie LAN), ale nie można wykonać poleceń – byćmoże inny login/hasło.
Zmieniłem soft na TP-Link TL-WR1043ND na dd-wrt i z tego co widzę problem nie istnieje. Więc może to jest rozwiązanie kwestii bezpieczeństwa?
Na WR740N działa ale na hasle do routera (admin/admin). Zmiana hasła również zmienia hasło do shella.
1043nd – dziala
dzieki temu mozna recznie ustawic natowanie bo przy orginalnym sofcie, nie pozwa np. miec 2 wewn. serwerow ssh, czy www (generalnie na tych samych portach, na roznych wewn. adresach ip) przenatowanych na roznych portach na zewn.
procz tp-linka nie znam firmy narzucajacej takie ograniczenie…
dd-wrt? etam, lepiej openwrt ;)
TL-WR842ND działa.
WA-901ND, WR2543ND. Obydwa z najnowszym softem, na obydwu działa.
na TL-WR841N działa, ale login/pass inny
Mi wywala bym podał login i hasło. (Chyba to jest ok, myślałem, ze bez hasła można tam wejść)
Ani nie ma podanych danych do logowania tam, puste pola.
W „Security -> Remote Management” mam same zera.
Firmware Version: 3.11.7 Build 100603 Rel.56412n
Hardware Version: WR740N v1/v2 00000000
Tylko już nie sprawdzę rzeczy dotyczących haseł na razie bo hasła nie znam, mam zapisane w Operze a nie wiem jak się „wylogować” :D
tl-wr740n ver 2,4 działa
dziala, jak podasz poprawny login i haslo.
TL-WR1043ND nie wpuszcza na osteam/5up. Wpuści tylko jeśli wcześniej zalogujemy się jako admin.
U mnie na TD-W8901G wersja 6 firmware 6.0.0 Build 120418 Rel.34102 nic takiego nie występuje.
TD-W8901G 3.0.1 Build 100901 Rel.23594 – nie występuje
Na MR-3420 również da się wejść, dla sprawdzenia wpisałem 'help’ i się wywołało :)
Firmware Version: 3.12.19 Build 110617 Rel.39329n
Hardware Version: MR3420 v1 00000000
Działa na WR841N i pasuje podany login oraz hasło w newsie :)
Firmware Version:
3.12.5 Build 100929 Rel.57776n
Hardware Version:
WR841N v6/v7 00000000
a jednak działa na TL-WR340G z tym, że hasło jest niepoprawne i tylko z lanu.. na rutku wyłączony zdalny.
Firmware Version:
4.17.11 Build 110419 Rel.63487n
Hardware Version:
WR340G 4.0 00000000
Username or Password is incorrect.
Please refer to the troubleshooting below:
[…]
Firmware: 3.12.2 Build 100820 Rel.41891n
Link działa, jednak poleceń nie można wykonywać, ponieważ za każdym razem pyta o hasło.
Na AP TL-WA701ND v1 link działa, ale login i hasło potrzebne do zalogowania jest już takie, jakie sami ustawiamy w web panelu APa.
link działa również z zewnątrz pod warunkiem włączenia opcji remote mamagement.
1042ND też występuje, a to zmodyfikowany 1043ND.
MR3020V1: podatny od LANa po wczesniejszym zalogowaniu do zwyklego panelu
Wersja Firmware:
3.14.4 Build 130225 Rel.31783n
Wersja sprzętowa:
MR3020 v1 00000000
model MR3220 V2.3 podatny, od LAN-a, co bardziej, już ktoś zdołał się nim zająć, podmienione oprogramowanie. Router działał jako dostęp do kamer.