Netgear роутер прослушивает порт 32764?


13

У меня Netgear DG834G под управлением прошивки V5.01.01. Со стороны локальной сети, если я сканирую его через порт, он прослушивает tcp порт 32764. Попытка подключиться через telnet к этому порту дает ответ MMcS\xff\xff\xff\xff\0\0\0\0(очевидно, в шестнадцатеричном формате).

У меня отключен UPnP, это не порт удаленного управления, и он не открыт на стороне глобальной сети. Я не могу найти ничего в документации Netgear, и поиск в Интернете тоже ничего не находит. Некоторые люди, кажется, заметили, но на самом деле ни у кого нет ответа. Я также создал правило брандмауэра, блокирующее исходящий доступ к этому порту, и он все еще открыт, так что на самом деле его прослушивает маршрутизатор.

Кто-нибудь знает, что это может быть?


Какой клиент Telnet вы используете? Когда я использую Putty, все, что я получаю с моим маршрутизатором netgear, это "MMcSÿÿ" ...
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.
user2284570

Ответы:


4

Хм, странно.

Hex ff = Decimal 255, поэтому логически полученный вами ответ эквивалентен

MMCS 255.255.255.255 0.0.0.0 (добавлены точки для ясности сети), который для меня является в основном широковещательным адресом в вашей сети. Можно утверждать, что любой ip в вашей сети может использовать службу MMCS, то есть 255.255.255.255 net mask 0.0.0.0.

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

Также немного информации о пункте 5 первого поста этой страницы

Я сомневаюсь, что это будет связано с сотовой коммутацией MIP-MANET, которая, похоже, связана с сетями мобильных телефонов. Вау, есть некоторые странные вещи, которые возвращаются, когда вы используете Google для MMCS 255.255.255.255 . Как это .

Так что я бы сказал, что это, скорее всего, порт, который позволяет планировщику Windows MultiMedia Class планировать обмен данными с маршрутизатором, чтобы расставить приоритеты трафика, но это может быть странная штука из сети мобильных телефонов.


Ваш пост находится в 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_адрес пункта назначения сервиса, когда он работает нормально. Мне любопытно узнать, какой человек автоматически собирает данные.
user2284570

На самом деле этот вопрос был главным результатом того, что эта задняя дверь была создана, как это было в оригинальном слайд-шоу: 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;

Это основано на источниках Cisco GPL (например, wap4410n_v2.0.1.0_gpl.tgz на списанном ftp-eng.cisco.com).

Для получения актуальной информации смотрите описание elvanderb и пример кода Python .


В настоящее время он известен переполнением буфера на основе кучи, которое может дать вам полный доступ к устройству ( бэкдор ). Это было обнаружено Элоем Вандербекеном в Рождество 2013 года, однако, вероятно, оно было известно китайским хакерам еще в 2008 году ( файл cgi ).

Вот как это работает.

Переполнение буфера на основе кучи:

Переполнение буфера на основе кучи

Сообщения:

Сообщения

Таким образом, использование простого переполнения сообщения может дать много интересных деталей:

снимок экрана - имя пользователя и пароль WiFi

Однако это может привести к сбросу конфигурации, поэтому не делайте этого дома.

Вот несколько обращенных команд, выполняемых маршрутизатором через этот порт.

  1. nvram - дамп конфигурации.

  2. get 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 («restore_default», 1)
    • nvram_commit
  12. чтение / dev / mtdblock / 0 [-4: -2]

    • не знаю, что это, у меня не было времени, чтобы проверить это
  13. выгрузить nvram на диск (/ tmp / nvram) и зафиксировать

Источник: (слайд-шоу) Как Linksys спасла мое Рождество!


Обычно такие порты должны быть официально предоставлены IANA .

Вот что unSpawn ответил на LinuxQuestions в 2007 году относительно этого порта:

Если это официально назначенный IANA порт (с номером от 0 до примерно 30000), то его номер должен соответствовать службе в / etc / services ('номер порта служб getent'), файлу служб сканера, такого как Nmap или онлайн База данных, как Сан-ISC.

Обратите внимание, что эфемерное использование порта может быть настроено локально с помощью /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.