CVE-2016-20017
D-Link DSL-2750B Devices
2024-01-08
D-Link DSL-2750B devices contain a command injection vulnerability that allows remote, unauthenticated command injection via the login.cgi cli parameter.
Технический анализ и план устранения
Суть уязвимости
CVE-2016-20017 представляет собой критическую уязвимость типа Command Injection (инъекция команд) в веб-интерфейсе роутеров D-Link DSL-2750B. Проблема локализована в скрипте login.cgi. Из-за недостаточной фильтрации входных данных, передаваемых через параметр cli, удаленный неавторизованный злоумышленник может выполнить произвольные системные команды на уровне операционной системы устройства. Это позволяет полностью скомпрометировать устройство, изменить настройки DNS, перехватить трафик или включить роутер в состав ботнета.
Как исправить
Данное устройство (DSL-2750B) имеет статус End of Life (EoL) и End of Service (EoS). Это означает, что производитель официально прекратил выпуск обновлений безопасности и патчей для данной модели.
Единственным надежным способом полного устранения уязвимости является замена оборудования на актуальную модель, поддерживаемую производителем.
Если замена невозможна немедленно, выполните следующие действия: 1. Проверьте наличие последней доступной версии прошивки на официальном FTP-сервере D-Link (в зависимости от ревизии устройства: EU, AU, ME). 2. Скачайте файл прошивки и обновите устройство через веб-интерфейс (раздел Management -> Update Software).
Временные меры
Если эксплуатация устройства продолжается, необходимо максимально ограничить вектор атаки:
-
Отключите удаленное управление (Remote Management): Убедитесь, что доступ к веб-интерфейсу роутера закрыт со стороны WAN-порта (интернета). Доступ должен быть разрешен только из локальной сети (LAN).
-
Настройте правила брандмауэра (ACL): Ограничьте доступ к портам 80 и 443 только доверенными IP-адресами внутри локальной сети.
-
Используйте сегментацию сети: Поместите уязвимое устройство в отдельный сегмент сети (VLAN) с ограниченным доступом к критическим узлам инфраструктуры.
-
Смена стандартных учетных данных: Хотя уязвимость позволяет обход авторизации, установка сложного пароля администратора является обязательной гигиенической мерой.
-
Мониторинг трафика: Настройте IDS/IPS (например, Snort или Suricata) для обнаружения попыток обращения к
login.cgiс подозрительными символами в параметрах (например,;,|,&,`).
Пример правила для проверки попыток эксплуатации (концептуально):
alert tcp $EXTERNAL_NET any -> $HOME_NET 80 (msg:"ET EXPLOIT D-Link DSL-2750B login.cgi Command Injection"; content:"/login.cgi"; http_uri; content:"cli="; http_uri; pcre:"/cli=.*[%3b%7c%26%60]/Ui"; sid:1000001; rev:1;)