Netgear Router lauscht auf Port 32764?

13

Ich habe eine Netgear DG834G mit Firmware V5.01.01. Wenn ich den Port auf der LAN-Seite scanne, lauscht er auf TCP-Port 32764. Wenn ich versuche, über diesen Port zu telneten, erhalte ich die Antwort MMcS\xff\xff\xff\xff\0\0\0\0(offensichtlich in hexadezimaler Schreibweise ).

Ich habe UPnP deaktiviert, es ist kein Remote-Verwaltungsport und es ist auf der WAN-Seite nicht offen. Ich kann in der Netgear-Dokumentation nichts finden, und bei der Online-Suche wird auch nichts gefunden. Ein paar Leute scheinen es bemerkt zu haben, aber niemand hat tatsächlich eine Antwort. Ich habe auch eine Firewall-Regel erstellt, die den ausgehenden Zugriff auf diesen Port blockiert. Sie ist immer noch offen, sodass der Router sie überwacht.

Weiß jemand woran das liegen könnte?

Dentrasi
quelle
Welchen Telnet-Client verwenden Sie? Wenn ich Putty benutze, bekomme ich mit meinem Netgear-Router nur "MMcSÿÿ" ...
Mokubai
1
Ein y mit doppelten Punkten ist hexadezimal 0xff, Sie erhalten das gleiche wie ich.
Dentrasi,
Nur um das zu ergänzen, weil ich kürzlich auf dieses Problem gestoßen bin: SF-Port32764-TCP: V = 5.61TEST4% I = 7% D = 5/8% Time = 4FA9A45B% P = i686-pc-linux- gnu% r SF: (GenericLines, C, "MMcS \ xff \ xff \ xff \ xff \ 0 \ 0 \ 0 \ 0")% r (Hilfe, 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 "); Ein genauerer Einblick, warum dieser Port standardmäßig geöffnet ist, wäre schön.
Da dieses Gerät Ihnen gehört und Sie sich in einem LAN befinden, können Sie es vielleicht versuchen nmap -sV --version-all the_device_hostname.
user2284570

Antworten:

4

Hmm, komisch.

Hex ff = Decimal 255, also entspricht logischerweise die Antwort, die Sie erhalten

MMcS 255.255.255.255 0.0.0.0 (Punkte zur Verdeutlichung des Netzwerks hinzugefügt). Dies ist für mich im Grunde eine Broadcast-Adresse in Ihrem Netzwerk. Es könnte sein, dass jede IP in Ihrem Netzwerk den MMCS-Dienst verwenden kann, dh 255.255.255.255 net mask 0.0.0.0.

Es gibt eine Reihe von Dingen, die MMCS sein könnte, z. B. den MultiMedia Class Scheduler , mit dem Vista die Priorität für den Multimediaverkehr über das Netzwerk erhält. Es würde erklären, warum der Port auch nur in Ihrem lokalen Netzwerk geöffnet ist.

Auch ein paar Infos zu Punkt 5 des ersten Beitrags auf dieser Seite

Ich bezweifle, dass es etwas mit MIP-MANET Cell Switching zu tun haben würde, was anscheinend etwas mit Mobilfunknetzen zu tun hat. Wow, es gibt einige seltsame Dinge, die bei Google für MMCS 255.255.255.255 zurückgegeben werden . Wie das .

Ich würde also sagen, dass es höchstwahrscheinlich ein Port ist, über den der Windows MultiMedia Class Scheduler mit dem Router kommunizieren kann, um den Datenverkehr zu priorisieren.

Mokubai
quelle
Ihr Beitrag ist in backdoor_description.pptx :)
kenorb
@kenorb Ich bin mir nicht sicher, ob ich stolz, beschämt oder leicht verletzt sein soll ...
Mokubai
Ich bin stolz darauf, dass Sie einigen Menschen geholfen haben, ihre Weihnachtszeit nicht zu ruinieren :)
Kenorb
17

Tatsächlich scheint dies eine Software-Hintertür zu sein, die vom Hersteller wie hier beschrieben enthalten und mit diesem Skript ausgenutzt werden kann .

Bisher haben nicht mit dem Hersteller verbundene Personen gemeldet, dass in den folgenden Routern Hintertüren vorhanden sind: Linksys WAG200G, Linksys WAG320N (Firmware V1.00.12) und Netgear DM111P. Es scheint jedoch, dass die folgenden Geräte (Ihres eingeschlossen) ebenfalls vorhanden sein können: Netgear DG834, DG834G WPNT834 DG934, WG602, WGR614 Router, Linksys WAG160N und DGN2000, WAG120N Wireless-WRVS4400N. Es scheint wahrscheinlich, dass diese Hintertür auch in anderen Geräten vorhanden ist.

NULLZ
quelle
@ D3C4FF: Die Sache, die am interessantesten wäre, wäre zu wissen, was die Ziel-IP-Adresse des Dienstes ist, wenn es normal funktioniert. Ich bin gespannt, welche Person die Daten automatisch sammelt.
user2284570
Eigentlich war diese Frage das wichtigste Ergebnis , dass diese Hintertür geschaffen wurde , wie es in der ursprünglichen Dia - Show ist: backdoor_description.pptx :)
kenorb
1

Dies ist der MIPS- Port, der in SerComm-Geräten, Routern und Heim-Gateways (Linksys, Netgear, Cisco) vorhanden ist, die für Firmware-Upgrades verwendet werden.

Dies wird von einem scfgmgrProzess verwaltet , der Port 32764 überwacht.

Beim Zugriff über Telnet scheinen Daten mit dem Präfix ScMModer MMcS(je nach Endianess des Systems) zurückgegeben zu werden.

Es ist ein sehr einfaches binäres Protokoll mit Header (0xC Bytes) gefolgt von einer Payload.

Header-Struktur:

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

Dies basiert auf Cisco-GPL-Quellen (z. B. wap4410n_v2.0.1.0_gpl.tgz bei stillgelegtem ftp-eng.cisco.com).

Aktuelle Informationen finden Sie in der Beschreibung von elvanderb und im Python-Beispielcode .


Derzeit ist es berühmt für einen Heap-basierten Pufferüberlauf, der Ihnen vollen Zugriff auf das Gerät ( eine Hintertür ) ermöglicht. Dies wurde von Eloi Vanderbeken in Weihnachten 2013 entdeckt, wurde jedoch wahrscheinlich bereits 2008 von chinesischen Hackern bekannt ( CGI-Datei ).

So funktioniert es.

Heap-basierter Pufferüberlauf:

Heap-basierter Pufferüberlauf

Mitteilungen:

Mitteilungen

Die Verwendung einer einfachen überfüllten Nachricht kann also viele interessante Details liefern:

Screenshot - WiFi-Benutzername und Passwort

Dies kann jedoch dazu führen, dass die Konfiguration zurückgesetzt wird. Tun Sie dies also nicht zu Hause.

Hier einige umgekehrte Befehle, die der Router über diesen Port ausführt.

  1. nvram - Speicherauszugskonfiguration.

  2. get var - Holen Sie sich Konfiguration var

    Möglicher stapelbasierter Pufferüberlauf (wenn die Variable vom Benutzer gesteuert wird)

  3. set var - Konfigurationsvariable einstellen

    Stapelbasierter Pufferüberlauf, Ausgabepuffer (Größe ≈ 0x10000) befindet sich auf dem Stapel.

  4. commit nvram - Lesen Sie nvram / dev / mtdblock / 3 aus / tmp / nvram und überprüfen Sie die CRC

    setze nvram (/ dev / mtdblock / 3) aus / tmp / nvram; CRC überprüfen

  5. Setzen Sie den Bridge-Modus auf ON (nicht sicher, ich hatte keine Zeit, ihn zu testen)

    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. Gemessene Internetgeschwindigkeit anzeigen (Download / Upload)

  7. cmd (yep, es ist eine Muschel ...)

    • spezielle Befehle:

      • beenden, tschüss, beenden -> beenden ... (lebendig = 0)
      • cd: Verzeichnis wechseln (ein bisschen WTF)
    • andere Befehle:

      • Integer-Überlauf im stdout-Handling (?) nicht ausnutzbar, aber dennoch ...
      • Pufferüberlauf bei cmd-Ausgabe (wieder derselbe Puffer)…
  8. Datei schreiben

    • Dateiname in Nutzdaten
    • root dir = / tmp
    • Directory Traversal ist möglich (nicht getestet, aber offen (sprintf ("/ tmp /% s", payload)) ...)
  9. Rückgabeversion

  10. Modemrouter-IP zurückgeben

    • nvram_get ("lan_ipaddr")
  11. Standardeinstellungen wiederherstellen

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

    • Keine Ahnung, was es ist, ich hatte keine Zeit, es zu testen
  13. Sichern Sie nvram auf der Festplatte (/ tmp / nvram) und übernehmen Sie das Commit

Quelle: (Diashow) Wie Linksys mir Weihnachten gerettet hat!


Normalerweise sollte diese Art von Ports offiziell von IANA sein .

Dies ist, was unSpawn bei LinuxQuestions im Jahr 2007 im Zusammenhang mit diesem Port geantwortet hat:

Wenn es sich um einen offiziell von der IANA zugewiesenen Port handelt (mit einer Nummer zwischen 0 und ungefähr 30000), sollte seine Nummer mit einem Dienst in / etc / services ('getent services portnumber'), der Dienstedatei eines Scanners wie Nmap oder eines Online-Dienstes, übereinstimmen Datenbank wie Sans 'ISC.

Beachten Sie, dass die temporäre Portnutzung lokal mit konfiguriert werden kann /proc/sys/net/ipv4/ip_local_port_range sysctl. Ein alter Standardwert war 1024-5000, für Server wird ein Wert von 32768-61000 verwendet, und einige Anwendungen möchten einen Wert von 1025-65535.

Beachten Sie auch, dass es sich um statische Zuordnungen von Nummern zu Diensten handelt, und dass beispielsweise / etc / services TCP/22Übereinstimmungen mit SSH angibt, die in einer bestimmten Situation nicht der Fall sein müssen.

Andernfalls, wenn es sich um einen Port handelt, von dem Sie nicht wissen, welcher Prozess daran gebunden ist, können Sie ihn mit oder abfragen netstat -anp, wenn Sie Zugriff auf den Host haben . Dies ist die genaueste Methode,lsof -w -n -i protocol:portnumberfuser -n protocol portnumber

Wenn Sie sonst keinen Zugriff auf den Host haben, können Sie ihn abfragen, indem Sie zum Beispiel telnet'ting. Dies ist keine genaue Methode, und im Falle eines kompromittierten Hosts können Sie den Eindringling benachrichtigen, für den Sie sich entschieden haben.

Siehe auch:

Kenorb
quelle