Прослуховування маршрутизатора Netgear на порту 32764?


13

У мене Netgear DG834G з прошивкою V5.01.01. Якщо я сканую його на порт LAN, він прослуховує порт tcp 32764. Спроба telnet у цей порт дає мені відповідь MMcS\xff\xff\xff\xff\0\0\0\0(очевидно, у шестигранному стані).

У мене відключений UPnP, це не порт віддаленого управління, і він не відкритий на стороні WAN. Я нічого не можу знайти в документації Netgear, і пошук в Інтернеті теж нічого не знаходить. Мало хто, здається, помітив, але ніхто насправді не має відповіді. Я також створив правило брандмауера, що блокує вихідний доступ до цього порту, і він все ще відкритий, тому насправді маршрутизатор слухає його.

Хтось знає, що це могло бути?


Який клієнт telnet ви використовуєте? Коли я використовую Putty, все, що я отримую від свого маршрутизатора netgear,
Mokubai

1
Y з подвійними крапками над ним - шістнадцятковий 0xff, ви отримуєте те саме, що і я.
Дентрасі

Просто для додання цього, оскільки я нещодавно натрапив на це, ось зараз вихід: SF-Port32764-TCP: V = 5.61TEST4% I = 7% D = 5/8% Час = 4FA9A45B% P = i686-pc-linux- gnu% r SF: (GenericLines, C, "MMcS \ xff \ xff \ xff \ xff \ 0 \ 0 \ 0 \ 0")% r (Довідка, 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 "); Будь-яке більше розуміння того, чому цей порт відкрито за замовчуванням, було б добре.


Оскільки цей пристрій належить вам і ви перебуваєте в локальній мережі, можливо, ви можете спробувати nmap -sV --version-all the_device_hostname.
користувач2284570

Відповіді:


4

Хм, дивно.

Hex ff = десяткова 255, тому логічно відповідь, яку ви отримуєте, рівнозначна

MMcS 255.255.255.255 0.0.0.0 (додано крапки для ясності мережі), що для мене - це в основному адреса широкомовної передачі у вашій мережі. Це може констатувати, що будь-який ip у вашій мережі може використовувати послугу MMCS, тобто 255.255.255.255, чиста маска 0.0.0.0.

MMCS може бути кількома речами, наприклад, планувальник класів MultiMedia Class, який Vista може використовувати, щоб отримати пріоритет для мультимедійного трафіку по мережі. Це пояснило б, чому порт також відкритий лише у вашій локальній мережі.

Також трохи інформації про пункт 5 першого повідомлення цієї сторінки

Я сумніваюся, що це буде щось спільне з MIP-MANET Cell Switching, що, здається, щось стосується мереж мобільних телефонів. Ух, є якісь дивні речі, які повертаються, коли ви Google для MMCS 255.255.255.255 . Як це .

Тому я б сказав, що це, швидше за все, порт, який дозволяє планувальнику класів Windows MultiMedia розмовляти з маршрутизатором, щоб визначити пріоритетність трафіку, але це можуть бути деякі дивні прикольні речі в мобільній мережі.


Ваше повідомлення знаходиться в backdoor_description.pptx :)
kenorb

@kenorb Я не впевнений, чи відчувати себе гордим,
соромним

Я думаю, що пишаюся тим, що ти допоміг деяким людям не зіпсувати свій Різдвяний час :)
kenorb

17

Власне, це, здається, програмне забезпечення заднього дверцята, включеного виробником, як описано тут, і його можна використовувати за допомогою цього сценарію .

Поки особи, які не пов’язані з постачальниками, повідомили, що в таких маршрутизаторах є задні двері: Linksys WAG200G, Linksys WAG320N (прошивка V1.00.12) та Netgear DM111P. Але, здається, можуть бути присутні і такі пристрої (включені у вас), Netgear DG834, маршрутизатор DG834G WPNT834 DG934, WG602, WGR614, маршрутизатор Linksys WAG160N та DGN2000, WAG120N Wireless-WRVS4400N. Мабуть, ця задня дверцята присутня і в інших пристроях.



@ D3C4FF: Що було б найцікавіше, це знати, яке призначення ip_address служби, коли вона працює нормально. Мені цікаво дізнатися, яка людина автоматично збирає дані.
користувач2284570

Насправді це питання було головним результатом того, що ця задня дверцята була створена так, як це було в оригінальному слайд-шоу: backdoor_description.pptx :)
kenorb

1

Це порт MIPS, який присутній у виробництві SerComm, маршрутизаторах та пристроях домашніх шлюзів (Linksys, Netgear, Cisco), які використовуються для оновлення прошивки.

Це управляється scfgmgrпроцесом, який прослуховується на порту 32764.

При доступі через telnet, дані з префіксом ScMMабо MMcS(залежно від готовності системи) повертаються.

Це дуже простий двійковий протокол із заголовком (0xC байтів) з подальшим корисним навантаженням.

Структура заголовка:

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

Це базується на джерелах GPL Cisco (наприклад, wap4410n_v2.0.1.0_gpl.tgz при закритті ftp-eng.cisco.com).

Дійсну інформацію див . Опис elvanderb та зразок коду Python .


В даний час він відомий переповненням буфера на основі купи, який може надати повний доступ до пристрою ( заднього кузова ). Це було відкрито Елоєм Вандербекеном у Різдво 2013 року, проте це, мабуть, було відомо китайським хакерам ще у 2008 році ( файл cgi ).

Ось як потрібно працювати.

Переповнення буфера на основі купи:

Переповнення буфера на основі купи

Повідомлення:

Повідомлення

Тож використання простого переливного повідомлення може дати багато цікавих деталей:

скріншот - ім'я користувача та пароль WiFi

Однак це може призвести до скидання конфігурації, тому не робіть цього вдома.

Ось декілька зворотних команд, які виконує маршрутизатор, виконаний через цей порт.

  1. nvram - Конфігурація дампа.

  2. get var - Отримати var конфігурації

    можливе переповнення буфера на основі стека (якщо змінну контролює користувач)

  3. set var - Встановити var конфігурації

    переповнення буфера на основі стека, вихідний буфер (розмір ≈ 0x10000) знаходиться на стеці.

  4. commit nvram - Прочитайте nvram / dev / mtdblock / 3 від / tmp / nvram і перевірте CRC

    встановити nvram (/ dev / mtdblock / 3) з / tmp / nvram; перевірити CRC

  5. Увімкніть режим моста (не впевнений, у мене не було часу його перевірити)

    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. Показати виміряну швидкість Інтернету (завантажити / завантажити)

  7. cmd (так, це оболонка ...)

    • спеціальні команди:

      • вийти, до побачення, кинути -> кинути ... (живий = 0)
      • cd: змінити каталог (трохи WTF)
    • інші команди:

      • переповнення цілого числа в обробці stdout (?) не можна використовувати, але все ж ...
      • переповнення буфера на висновку cmd (знову ж буфер)…
  8. записати файл

    • ім'я файлу в корисному навантаженні
    • root dir = / tmp
    • Траверсія каталогів може бути можливою (не перевірена, але вона є відкритою (sprintf (“/ tmp /% s”, корисна навантаження)…)
  9. повернути версію

  10. повернути маршрутизатор модему ip

    • nvram_get ("lan_ipaddr")
  11. відновити настройки за замовчуванням

    • nvram_set ("відновити_дефолтом", 1)
    • nvram_commit
  12. read / dev / mtdblock / 0 [-4: -2]

    • не знаю, що це таке, я не мав часу перевірити його
  13. скидайте nvram на диск (/ tmp / nvram) та здійснюйте

Джерело: (слайд-шоу) Як Linksys врятував моє Різдво!


Зазвичай IANA офіційно повинен бути офіційно таким портом .

Ось що відповів unSpawn на LinuxQuestions у 2007 році стосовно цього порту:

Якщо це офіційно призначений IANA порт (з номером від 0 до приблизно 30000), то його номер повинен відповідати службі в / etc / services ("getent services portnumber"), службовому файлу сканера типу Nmap або в Інтернеті База даних, як МСК Sans.

Зауважте, що використання ефемерного порту можна локально налаштувати за допомогою /proc/sys/net/ipv4/ip_local_port_range sysctl. Старий за замовчуванням становив 1024-5000, для серверів використовується значення 32768-61000, а деякі програми хочуть чогось типу 1025-65535.

Також зауважте, що це статичні відображення номерів на обслуговування, і, наприклад, / etc / services скажуть, що TCP/22відповідає SSH, що не повинно бути в конкретних ситуаціях,

У іншому випадку, якщо це порт, якого ви не знаєте, який процес пов'язаний з ним, тоді, якщо у вас є доступ до хоста, ви можете допитати його за допомогою netstat -anp, lsof -w -n -i protocol:portnumberабо fuser -n protocol portnumber. Це найточніший метод,

В іншому випадку, якщо у вас немає доступу до хоста, ви можете допитати його, наприклад, telnet'ting до нього. Це не є точним методом, і у випадку компрометованого вузла ви можете попередити зловмисника, який ви перебуваєте в її справі.

Дивись також:

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.