Czy router Netgear nasłuchuje na porcie 32764?

13

Mam Netgear DG834G z oprogramowaniem układowym V5.01.01. Od strony sieci LAN, jeśli skanuję go, nasłuchuje na porcie TCP 32764. Próbowanie telnet do tego portu daje mi odpowiedź MMcS\xff\xff\xff\xff\0\0\0\0(oczywiście szesnastkowo).

Mam wyłączoną UPnP, nie jest to port zdalnego zarządzania i nie jest otwarty po stronie WAN. Nic nie mogę znaleźć w dokumentacji Netgear, a wyszukiwanie w Internecie też niczego nie znajduje. Wydaje się, że kilka osób to zauważyło, ale nikt tak naprawdę nie ma odpowiedzi. Stworzyłem również regułę zapory blokującej wychodzący dostęp do tego portu, który jest nadal otwarty, więc w rzeczywistości nasłuchuje na nim router.

Czy ktoś wie, co to może być?

Dentrasi
źródło
Z jakiego klienta Telnet korzystasz? Kiedy używam Putty, wszystko, co dostaję z routerem netgear, to „MMcSÿÿ” ...
Mokubai
1
Y z podwójnymi kropkami to szesnastkowy 0xff, otrzymujesz to samo co ja.
Dentrasi
Aby dodać do tego, ponieważ ostatnio się z tym spotkałem, oto wyjście: SF-Port32764-TCP: V = 5.61 TEST 4% I = 7% D = 5/8% Czas = 4FA9A45B% P = i686-pc-linux- gnu% r SF: (GenericLines, C, "MMcS \ xff \ xff \ xff \ xff \ 0 \ 0 \ 0 \ 0")% r (Pomoc, C, "MMcS \ xff \ xff \ SF: xff \ xff \ 0 \ 0 \ 0 \ 0 ")% r (X11Probe, C," MMcS \ xff \ xff \ xff \ xff \ 0 \ 0 \ 0 \ 0 ")% r (LPDStr SF: ing, C," MMcS \ xff \ xff \ xff \ xff \ 0 \ 0 \ 0 \ 0 ")% r (TerminalServer, C," MMcS \ xff \ xff \ SF: xff \ xff \ 0 \ 0 \ 0 \ 0 "); Przydałby się wgląd w to, dlaczego ten port jest domyślnie otwarty.
Ponieważ to urządzenie należy do Ciebie i jesteś w sieci LAN, być może możesz spróbować nmap -sV --version-all the_device_hostname.
user2284570

Odpowiedzi:

4

Hmm, dziwne.

Hex ff = dziesiętny 255, więc logicznie odpowiedź, którą otrzymujesz, jest równoważna

MMcS 255.255.255.255 0.0.0.0 (kropki dodane dla przejrzystości sieci), który dla mnie jest w zasadzie adresem rozgłoszeniowym w twojej sieci. Może to oznaczać, że każdy adres IP w sieci może korzystać z usługi MMCS, tj. Maska sieci 255.255.255.255 0.0.0.0.

Istnieje wiele rzeczy, którymi może być MMCS, takich jak Harmonogram klas MultiMedia, z których Vista może korzystać w celu uzyskania priorytetu dla ruchu multimedialnego w sieci. To wyjaśnia, dlaczego port jest otwarty tylko w sieci lokalnej.

Również trochę informacji na temat punktu 5 pierwszego postu tej strony

Wątpię, czy miałoby to coś wspólnego z przełączaniem komórek MIP-MANET, co wydaje się mieć coś wspólnego z sieciami komórkowymi. Wow, jest kilka dziwnych rzeczy, które zostaną zwrócone, gdy Google dla MMCS 255.255.255.255 . Jak ten .

Powiedziałbym więc, że najprawdopodobniej jest to port, który pozwala programowi Windows MultiMedia Class Scheduler na komunikowanie się z routerem w celu ustalenia priorytetów ruchu, ale może to być dziwne, funky sieci komórkowe.

Mokubai
źródło
Twój post znajduje się w backdoor_description.pptx :)
kenorb,
@kenorb Nie jestem pewien, czy mam czuć się dumny, zawstydzony czy lekko naruszony ...
Mokubai
Myślę, że jestem dumny, że
pomógłeś
17

W rzeczywistości wydaje się, że jest to tylne drzwi oprogramowania dołączone przez producenta, jak opisano tutaj i które można wykorzystać za pomocą tego skryptu .

Do tej pory osoby niezwiązane z dostawcami informowały o istnieniu tylnych drzwi w następujących routerach: Linksys WAG200G, Linksys WAG320N (Firmware V1.00.12) i Netgear DM111P. Wygląda jednak na to, że mogą być obecne następujące urządzenia (w tym twoje): Netgear DG834, DG834G WPNT834 DG934, WG602, WGR614, Linksys WAG160N i DGN2000, WAG120N wireless-WRVS4400N. Wygląda na to, że tylne drzwi są obecne także w innych urządzeniach.

NULLZ
źródło
@ D3C4FF: Najbardziej interesujące byłoby wiedzieć, jaki jest docelowy adres ip usługi, gdy działa ona normalnie. Ciekaw jestem, która osoba automatycznie zbiera dane.
user2284570
Właściwie to pytanie było głównym rezultatem, że te tylne drzwi zostały utworzone, ponieważ znajdują się w oryginalnym pokazie slajdów: backdoor_description.pptx :)
kenorb
1

Jest to port MIPS, który jest obecny w produkowanych przez SerComm routerach i urządzeniach domowych bram (Linksys, Netgear, Cisco) używanych do aktualizacji oprogramowania.

Jest to zarządzane przez scfgmgrproces nasłuchujący na porcie 32764.

W przypadku dostępu przez telnet dane z prefiksem ScMMlub MMcS(w zależności od endianowości systemu) wydają się zwracane.

Jest to bardzo prosty protokół binarny z nagłówkiem (bajty 0xC), po którym następuje ładunek.

Struktura nagłówka:

typedef struct scfgmgr_header_s {
    unsigned long   magic;
    int             cmd;
    unsigned long   len;
} scfgmgr_header;

Jest to oparte na źródłach Cisco GPL (np. Wap4410n_v2.0.1.0_gpl.tgz na wycofanym ftp-eng.cisco.com).

Aby uzyskać aktualne informacje, zobacz opis elvanderb i przykładowy kod Python .


Obecnie słynie z przepełnienia bufora na stercie, które może zapewnić pełny dostęp do urządzenia ( backdoor ). Zostało to odkryte przez Eloi Vanderbeken w Boże Narodzenie 2013 roku, jednak prawdopodobnie było znane chińskim hakerom w 2008 roku ( plik cgi ).

Oto jak działa.

Przepełnienie bufora na podstawie sterty:

Przepełnienie bufora na podstawie sterty

Wiadomości:

Wiadomości

Tak więc użycie prostej przepełnionej wiadomości może dać wiele interesujących szczegółów:

zrzut ekranu - nazwa użytkownika i hasło WiFi

Może to jednak spowodować zresetowanie konfiguracji, więc nie rób tego w domu.

Oto kilka odwróconych poleceń wykonywanych przez router wykonywanych przez ten port.

  1. nvram - Konfiguracja zrzutu.

  2. get var - Uzyskaj konfigurację var

    możliwe przepełnienie bufora na podstawie stosu (jeśli zmienna jest kontrolowana przez użytkownika)

  3. set var - Ustaw zmienną konfiguracji

    przepełnienie bufora na stosie, bufor wyjściowy (rozmiar ≈ 0x10000) znajduje się na stosie.

  4. commit nvram - Przeczytaj nvram / dev / mtdblock / 3 z / tmp / nvram i sprawdź CRC

    ustaw nvram (/ dev / mtdblock / 3) z / tmp / nvram; sprawdź CRC

  5. Włącz tryb mostka (nie jestem pewien, nie miałem czasu go przetestować)

    nvram_set(“wan_mode”, bridgedonly)
    nvram_set(“wan_encap”, 0)
    nvram_set(“wan_vpi”, 8)
    nvram_set(“wan_vci”, 81)
    system(“/usr/bin/killall br2684ctl”)
    system(“/usr/bin/killall udhcpd”)
    system(“/usr/bin/killall -9 atm_monitor”)
    system(“/usr/sbin/rc wan stop >/dev/null 2>&1”)
    system(“/usr/sbin/atm_monitor&”)
    
  6. Pokaż zmierzoną prędkość Internetu (pobieranie / wysyłanie)

  7. cmd (tak, to skorupa…)

    • specjalne polecenia:

      • exit, pa, quit -> quit ... (alive = 0)
      • cd: zmień katalog (trochę WTF)
    • inne polecenia:

      • przepełnienie liczb całkowitych w obsłudze standardowego wyjścia (?) nie do wykorzystania, ale nadal ...
      • przepełnienie bufora na wyjściu cmd (ponownie ten sam bufor)…
  8. napisz plik

    • nazwa pliku w ładunku
    • katalog główny = / tmp
    • przejście do katalogu może być możliwe (nie przetestowane, ale jest otwarte (sprintf („/ tmp /% s”, ładunek))…)
  9. wersja zwrotna

  10. zwróć modem router ip

    • nvram_get („lan_ipaddr”)
  11. przywróć ustawienia domyślne

    • nvram_set („restore_default”, 1)
    • nvram_commit
  12. czytaj / dev / mtdblock / 0 [-4: -2]

    • nie wiem co to jest, nie miałem czasu go przetestować
  13. zrzuć nvram na dysk (/ tmp / nvram) i zatwierdź

Źródło: (pokaz slajdów) Jak Linksys uratował moje Święta Bożego Narodzenia!


Zwykle tego rodzaju porty powinny być oficjalnie obsługiwane przez IANA .

Oto, co odpowiedział UnSpawn na LinuxQuestions w 2007 r. W związku z tym portem:

Jeśli jest to oficjalnie przypisany port IANA (o liczbie od 0 do około 30000), to jego numer powinien odpowiadać usłudze w / etc / services („numer portu usług getent”), pliku usług skanera, takiego jak Nmap lub online baza danych jak ISC Sansa.

Zauważ, że użycie portu efemerycznego można skonfigurować lokalnie za pomocą /proc/sys/net/ipv4/ip_local_port_range sysctl. Stara wartość domyślna to 1024-5000, dla serwerów używana jest wartość 32768-61000, a niektóre aplikacje chcą czegoś takiego jak 1025-65535.

Pamiętaj też, że są to statyczne odwzorowania liczby na usługę i chociaż na przykład / etc / services powie, że TCP/22pasuje do SSH, to nie musi tak być w konkretnej sytuacji,

W przeciwnym razie, jeśli jest to port, którego nie wiesz, który proces się z nim powiązał, to jeśli masz dostęp do hosta, możesz przesłuchać go za pomocą netstat -anp, lsof -w -n -i protocol:portnumberlub fuser -n protocol portnumber. To jest najdokładniejsza metoda,

W przeciwnym razie, jeśli nie masz dostępu do hosta, możesz go przesłuchać, na przykład telnet'ting do niego. To nie jest dokładna metoda, aw przypadku zainfekowanego hosta możesz ostrzec intruza, że ​​jesteś w jego sprawie.

Zobacz też:

kenorb
źródło