Многие реализации протокола NAT-PMP в SOHO-маршрутизаторах различных производителей оказались подвержены уязвимости, позволяющей удалённому неаутентифицированному атакующему изменить параметры переадресации портов, получить доступ к внутренним сетевым службам на стороне клиента и организовать перехват приватного и публичного трафика путём его перенаправления на внешний хост.

Причиной возникновения уязвимости является некорректная настройка работы NAT-PMP, применяемая во многих моделях SOHO-маршрутизаторов и разных потребительских сетевых устройствах. RFC 6886, определяющий требования к реализациям NAT-PMP, запрещает принимать запросы на переадресацию портов, приходящие на внешний IP-адрес шлюза или через внешний сетевой интерфейс. Допускается только отправка запросов из внутренней (intranet) сети и их обработка на внутреннем IP (192.168.x.x, 172.16.x.x, 10.x.x.x). Многие производители устройств проигнорировали данное требование и обеспечили приём запросов на внешних сетевых интерфейсах, что в силу простоты протокола NAT-PMP, подразумевающего, что запросы приходят только из intranet-сети, позволило любому внешнему злоумышленнику отправлять управляющие запросы на перенаправление сетевых портов.

Проблеме подвержены некоторые модели устройств от компаний ZyXEL, Netgear, ZTE, MikroTik, Ubiquiti, Technicolor, Speedifi, Radinet и Grandstream, в которых, как правило, используется код свободного UPnP/NAT-PMP-сервера miniupnp. В результате сканирования глобальной сети было выявлено около 1.2 млн проблемных устройств, из которых 133 тысячи находятся в России. Из данных устройств 2.5% позволяют перехватить внутренний трафик, 86% - перехватить внешний трафик, 88% - получить доступ к сетевым службам в локальной сети, 88% - вызвать отказ в обслуживании, 100% - получить информацию об устройстве (например, сведения об IP-адресах и сетевых портах).

В качестве временного решения проблемы рекомендуется отключить в настройках поддержку NAT-PMP или ограничить на межсетевом экране доступ к UDP-порту 5351. Разработчики miniupnp уже представили несколько изменений, направленных на принудительный запрет приема запросов на WAN-интерфейсе и добавление в пример файла конфигурации miniupnpd.conf примечания с советами о правильной настройке доступа (изначально, в примере запросы принимались и через интерфейс WAN, но блокировались через ACL). Для тестирования наличия уязвимости подготовлены metasploit-модули natpmp_portscan, natpmp_external_address и natpmp_map.

Источник: http://www.opennet.ru/opennews/art.shtml?num=40922