01.01.2014 | 11:15

Adam Haertle

Śmieszna tylna furtka w ruterach Linksysa (i prawdopodobnie Netgeara)

Nowy rok zaczynamy jednym z naszych ulubionych tematów, czyli kolejną tylną furtką w urządzeniu sieciowym, zostawioną tam przez producenta z nadzieją, ze nikt jej nie znajdzie. A nadzieja, jak powszechnie wiadomo, jest matką głupich.

Tym razem tylna furtka wygląda dość niepozornie. Ot, otwarty port, który odpowiada dziwnym ciągiem znaków. Okazuje się jednak, że to niestandardowy interfejs zarządzania całym urządzeniem, dostępny dla każdego użytkownika.

Wyzwanie przyjęte

Autor odkrycia, Eloi Vanderbeken, opisał swoje znalezisko w dość niestandardowy sposób – w postaci prezentacji PPT rysowanej w Paincie. Prosimy zatem o wybaczenie, jeśli coś w naszym artykule nie będzie się zgadzać, ale wiele elementów musieliśmy dedukować z obrazków. Wszystko jednak wskazuje na to, że pewnego świątecznego dnia Eloi próbował skorzystać z internetu, który działał bardzo wolno (z marnego łącza korzysta wiele osób). Wpadł zatem na klasyczny pomysł administratora, czyli ograniczenie przepustowości pozostałym użytkownikom. Gdy jednak próbował zalogować się do rutera Linksys WAG200G, problemem okazały się jednak decyzje podjęte wiele lat temu, czyli wyłączenie zdalnego dostępu do interfejsu administratora oraz ustawienie bardzo skomplikowanego i bardzo zapomnianego hasła. Tu następuje moment, w którym nie rozumiemy, czemu Eloi nie mógł po prostu fizycznie zresetować rutera do ustawień fabrycznych – być może urządzenie nie znajdowało się w jego domu lub nie chciał zmieniać hasła dostępu do sieci WiFi wszystkim użytkownikom. Eloi odpowiedzał na nasze pytanie i wyjaśnił, że nie chciał stracić ustawień rutera i modemu.

Przykładowy slajd z prezentacji Eloi

Przykładowy slajd z prezentacji Eloi

Nasz bohater przyjął zatem postawę, która jest zapewne oczywistym wyborem dla większości naszych Czytelników – challenge accepted! Odpalił Nmapa i zobaczył, że na ruterze otwarty jest tajemniczy port TCP/32764, który odpowiada ciągiem ScMM\xFF\xFF\xFF\xFF\x00\x00\x00\x00 na każde połączenie. Niestety w internecie nie znalazł żadnych konkretnych informacji na temat tego portu. Trzeba było zatem znaleźć inne rozwiązanie.

Analiza oprogramowania

Pierwszym krokiem gdy próbujemy analizować oprogramowanie rutera jest oczywiście pobranie odpowiedniej paczki ze strony producenta. Tu jednak Linksys się nie popisał – na oficjalnej stronie wyszukiwarka niczego nie znalazła. Z pomocą przyszły oczywiście internetowe fora. Eloi za pomocą narzędzia binwalk zidentyfikował system plików Squashfs, jednak próba jego podmontowania przy użyciu standardowych narzędzi się nie powiodła – jego urządzenie używało wersji starszej, niż obsługiwana przez narzędzia. Po krótkim hakowaniu skryptów konfiguracyjnych udało mu się jednak podłączyć do systemu plików rutera. Tutaj z kolei z pomocą przyszedł grep, który pomógł zidentyfikować plik scfgmgr, odpowiedzialny za wysyłanie tajemniczego komunikatu na porcie 32764. Do akcji ruszyła IDA.

Analiza protokołu

Eloi na swoje szczęście znał się na inżynierii wstecznej w wystarczającym stopniu, by zlokalizować procedury odpowiedzialne za obsługę komunikacji usługi obsługującej port 32764. Ku swojemu zaskoczeniu odkrył tam banalnie prosty protokół, przyjmujący po krótkim nagłówku 13 różnych, kolejno ponumerowanych poleceń. Jak przystało na prawdziwego eksperymentatora, Eloi po prostu wysłał do rutera kilka pakietów. Ku swojemu zaskoczeniu otrzymał pełną konfigurację urządzenia wraz ze wszystkimi hasłami oraz komunikat od żony o treści „czemu nie działa internet!”. Dalsza analiza pozwoliła zidentyfikować znaczenie kolejnych poleceń.

1: zrzut całej konfiguracji z pamięci nvram
2: wyświetlenie wybranej zmiennej
3: ustawienie wybranej zmiennej (a przy okazji błąd przepełnienia bufora)
4: wgranie nvram
5: ustawienie trybu mostka sieciowego
6: wyświetlenie prędkości łącza
7: wykonanie polecenia (czyli shell)
8: zapisanie pliku
9: wyświetlenie informacji o wersji
10: wyświetlenie adresu IP
11: przywrócenie domyślnych ustawień
12: odczytanie fragmentu dysku
13: zrzut nvram

Czy można chcieć czegoś więcej? Jest nawet shell! Dla ułatwienia obsługi tylnej furtki Eloi stworzył odpowiedni skrypt w Pythonie. Na deser znalazł także w ruterze prywatny klucz RSA. A Chińczycy prawdopodobnie wiedzieli o tej tylnej furtce od 2008

Zrzut konfiguracji rutera

Zrzut konfiguracji rutera

Inne rutery?

Co prawda do tej pory nikt nie potwierdził na 100% faktu obecności tej samej tylnej furtki w innych urządzeniach, jednak w sieci można znaleźć wpisy mówiące o tym, że w wielu modelach ruterów otwarty jest port 32764, który odpowiada na połączenia tym samym ciągiem znaków… Przetestujecie? Przykładowe urządzenia, gdzie tylna furtka może być obecna, to Netgear DG934, WPNT834, WG602, WGR614DGN2000 oraz Linksys WRVS4400N – choć inne też niewykluczone. Prawdopodobnie mogą to być wszystkie urządzenia, korzystające z komponentów firmy SerComm.

Do tej pory potwierdzono występowanie tej tylnej furtki w następujących ruterach:

  • Linksys WAG200G
  • Linksys WAG120N
  • Linksys WAG160N
  • Linksys WAG320N (Firmware V1.00.12)
  • Linksys WAG54G2
  • Netgear DM111P
  • Netgear DGN1000
  • Netgear DGN3500
  • Netgear DG834
  • Cisco WAP4410N

Jeśli lubicie czytać o tylnych furtkach w domowych ruterach, to polecamy także nasze wpisy dotyczące innych modeli:

Powrót

Komentarze

  • 2014.01.01 12:34 bj

    ciezko juz w cokolwiek ufac WSZYSTKO na KAZDYM mozliwymm poziomie jest juz spalone od biosu, firmware w hdd przez kable, routery domowe, routery IPS, swiatlowody transoceaniczne, punkty wymiany ruchu, funkcje rand, soft od przegladarek po OSy

    Odpowiedz
  • 2014.01.01 13:12 shibki

    Wystarczy do linksysa wgrac tomato lub ddwrt lub openwrt i temat zostanie zalatwiony. Proste.

    Odpowiedz
    • 2014.01.21 13:28 Rexx

      Do wag200g chcesz wgrywać alternatywny firmware? MYŚL!!!

      Odpowiedz
      • 2014.01.21 13:57 Rexx

        Oczywiście nie chodzi mi o szajsowaty openwag czy moda by woytekm, a o tomato, DDWRT, albo openWRT

        Odpowiedz
  • 2014.01.01 13:22 Sergiusz

    Linksys E3500 jest odporny :)

    Odpowiedz
    • 2014.01.01 18:41 anon

      jasne pewnie ma inna luke, przepraszam – ukryta furtke

      Odpowiedz
  • 2014.01.01 14:28 steppe

    Ręce opadają. Najlepiej zaczynać instalację od wymiany systemu na jakiś znany i otwarty. Ciekawe tylko, czy backdoor pojawił się po przejęciu Linksysa przez Cisco, czy też był wcześniej wymyślony.

    Odpowiedz
  • 2014.01.01 15:02 noone

    Openwag200g + iptables / rc.local = Brak problemu :)

    Odpowiedz
    • 2014.01.26 20:02 minus1

      openwag ma dokładnie ten sam backdoor bo bazuje na oryginalnym sofcie, więc nie pierdziel

      Odpowiedz
  • 2014.01.01 15:09 noone

    Jednak nie jest aż tak różowo. scfgmgr odpowiada za pobieranie danych do webinterfejsu. Po ubiciu, owy się psuje.

    Odpowiedz
  • 2014.01.01 17:14 Filipsiu

    NETGEAR DGN2200 odporny ;)

    Odpowiedz
  • 2014.01.01 17:19 Jeikoubu

    DGN2200 (kontynuacja DGN2000) odporny.

    Odpowiedz
  • 2014.01.01 18:13 mnmnc

    Linksys WAG320N ADSL+ niestety jest podatny. Firmware V1.00.12

    Nmap scan report for 1.0.0.1
    Host is up (0.039s latency).
    Not shown: 65530 closed ports
    PORT STATE SERVICE
    80/tcp open http
    443/tcp open https
    1780/tcp open unknown
    5691/tcp open unknown
    32764/tcp open unknown

    TELNET:
    Trying 1.0.0.1…
    Connected to 1.0.0.1.
    Escape character is '^]’.

    MMcS▒▒Connection closed by foreign host.
    ——————

    NetCat:
    nc 1.0.0.1 32764

    MMcS▒▒▒▒
    ——————-

    Co to za znaki po MMcS to niestety nie wiem ale ich ilość się różni zależnie od tego czy łączę się przez telnet czy netcatem.

    Odpowiedz
  • 2014.01.01 18:22 pismak

    Za coś takiego firma powinna zwracać kasę. Powinienem mieć prawo zwrotu sprzętu do szanownego producenta. Ale nie – ja sam jako użytkownik jestem pewnie odpowiedzialny za łatanie dziur w sofcie routera. Zostaje tylko TPLink na jakimś open sofcie.

    Odpowiedz
    • 2014.01.01 18:42 anon

      nie zaplaca ci za dziury , bo takowych nie ma , to sa celowe dzialania

      Odpowiedz
      • 2014.01.02 00:40 pismak

        Bo oni stoją ponad prawem. Jak ty się „włamiesz” do niezabezpieczonej sieci sąsiada to odpowiadasz karnie a jak oni zostawiają back-doora to wszystko jest OK.

        Odpowiedz
    • 2014.01.02 18:01 Jaś

      @pismak
      Jeśli nie mineły 2 lata od daty zakupu to idziesz do sklepu i reklamujesz towar niezgodny z umową. Z udowodnieniem, że wada istniała w momencie zakupu nie będziesz miał problemu.

      Odpowiedz
  • 2014.01.01 21:44 stan

    O co tyle hałasu.
    Standardowo ten port jest dostępny tylko z LAN.

    Odpowiedz
  • 2014.01.02 11:01 stan

    Myślisz, że ktoś by się męczył z DNS rebindingiem żeby hacknąć biedny domowy router – jak już wystarczyło by opanowanie ogłupiałego komputera.

    Odpowiedz
    • 2014.01.02 20:35 mnmnc

      Oczywiście, że tak właśnie myślę.
      Domowe komputery są znacznie częsciej łatane i uaktualniane niż routery. Pozatym przejecie kontroli nad routerem umożliwia dalszą penetrację sieci będąc niezauważonym. Przykład takiego ataku byl prezentowany na 27c3, 28c3 albo 29c3.

      Odpowiedz
      • 2014.01.02 23:34 stan

        Nie zrozumiałeś mnie.
        Żeby się włamać do portu routera dostępnego od strony LAN-u trzeba najpierw opanować komputer w tym LANie np. za pomocą wspomnianego DNS rebindingu…

        Odpowiedz
        • 2014.01.03 00:13 stan

          O.K.
          Jest dostępny od strony LAN-u ale nie tylko pod prywatnym LAN owym adresem ale też pod adresem WAN. Demon wisi oczywiście na wszystkich interfejsach tylko firewall blokuje dojście ze świata….To faktycznie d..

          Odpowiedz
          • 2014.01.03 00:59 mnmnc

            Chyba nie do konca zrozumiales o co chodzi z atakiem przez DNS rebinding. Nie musze opanowywać komputera w sieci lokalnej zeby dobijać się do routera na adresie przypisanym do interfejsu LAN tego routera.

            Ofiara z komputera w sieci LAN wchodzi na spreparowaną stronę ktora zawiera skrypt. Skrypt wymusza odpytanie DNSa o inna domene. Dostaje dwa adresy IP: jeden normalny (A) a drugi to adres LAN routera (B). Wysyla SYN na adres (A) i dostaje pakiet RST w odpowiedzi. W obliczu takiej odpowiedzi przegladarka wysyla SYN na adres (B) mimo ze znajduje się w sieci lokalnej. W taki sposob mozemy sie dostac do wewnetrznego adresu routera mimo iż nie mamy kontroli ani nad routerem ani komputerem.

  • 2014.01.02 16:33 Łukasz

    polecenie numer 7 to nie shell i wcale nie umozliwia wykonania dowolnego polecenia.
    jesli spojrzymy na kod exploita to jest tam wspomniane ze kazda inna komenda poza podanymi w komentarzu daje buffer overflow:

    https://github.com/elvanderb/TCP-32764/blob/master/backdoorolol.py

    Odpowiedz
    • 2014.01.02 16:34 Łukasz

      ok nikt nie napisał że umożliwia wykonanie dowolnego polecenia więc cofam :)

      Odpowiedz
  • 2014.01.03 18:00 GDR!

    Zawsze znajdzie sie ktos kto popsuje zabawe pytajac „po co” i „ale prosciej by bylo…” :P

    Odpowiedz
  • 2014.01.21 13:49 Rexx

    A co z odpowiedzialnością producenta za produkt. W końcu zapłaciłem za produkt, w którym po okresie gwarancji ujawniła się wada ukryta na dodatek celowo!! Czy jest szansa na odzyskanie pieniędzy?

    Odpowiedz
  • 2014.02.18 09:18 kropek

    Skompilowałem ze źródeł GPL soft dla WAG200G – AnnexA , z którego usunąłem backdoora. Do pobrania http://netload.in/dateipHrdnyQGY4/WAG200Gv1-EU-AnnexA-ETSI-ML-1.01.09-code-no_backdoor_not_tested.img.htm
    Suma md5 obrazu softu e05a150d007ab35a391d0af91939f491
    Procedura upgradu. Wykonaj backup configu. Resetuj do ustawień fabrycznych. Połącz się poprzez skrętkę (nie używaj wifi) na stałym IP (bez dhcp). Zaloguj się na domyślnych danych do panelu administracyjnego. Teraz firmware upgrade i wskazujesz pobrany plik. Nie wolno przerywać procedury. Po zakończeniu flashowania zrób reboot urządzenia. Firmware nie był testowany, aczkolwiek powinien działać. Update wykonujesz na własne ryzyko, nie pobieram za soft żadnych profitów, ani nie odpowiadam za ew. szkody. Przed wykonaniem upgradu, wykonaj kopię obecnego systemu plików na urządzeniu za pomocą poc.py Eloi Evanderb i upewnij się że masz sprawny JTAG (na wszelki wypadek by przywrócić ruter do życia po nieudanym flashowaniu). Rób upgrade tylko jeśli wiesz co robisz i po co. Pozdrawiam kropek

    Odpowiedz

Zostaw odpowiedź

Jeśli chcesz zwrócić uwagę na literówkę lub inny błąd techniczny, zapraszamy do formularza kontaktowego. Reagujemy równie szybko.

Śmieszna tylna furtka w ruterach Linksysa (i prawdopodobnie Netgeara)

Komentarze