Обычный LTE-маршрутизатор за $88 привёл специалистов к двум скрытым механизмам удалённого управления, встроенным прямо в прошивку: один позволяет выполнять команды с правами root через интернет без аутентификации, а второй умеет перехватывать DNS, красть учётные данные провайдера и открывать обратный SSH-туннель.
Специалисты VulnCheck обнаружили закладки DARKLANTERN и SPEAKINGSTONE в маршрутизаторе Deep Orange 3G/4G/LTE Router, купленном у американского поставщика. Устройство оказалось переименованной версией китайского ZBT-WE826-T2 производства Shenzhen Zhibotong Electronics. Прошивку собрали ещё в 2019 году.
Проверка началась после предыдущей работы VulnCheck, посвящённой закладке ENDLESSDOORS . В августе специалисты нашли её более чем в 20 моделях Zbtlink. Компонент запускался при загрузке с правами root и самостоятельно подключался к серверу управления. После того как VulnCheck опубликовала эти данные, специалисты решили проверить более старые устройства из цепочки поставок ZBT и вместо ENDLESSDOORS обнаружили ещё два механизма удалённого управления.
DARKLANTERN работает как служба infosrvd и слушает UDP-порт 9992, который штатный межсетевой экран маршрутизатора открывает для подключений из интернета. Протокол не использует шифрование и полноценную аутентификацию. Специальный пакет позволяет запросить модель устройства, версию прошивки, MAC-адрес, время работы и другие сведения.
Второй тип пакета передаёт системную команду. Из-за того, как обрабатываются данные, отправитель может выполнить произвольную команду с максимальными привилегиями. Проверку MAC-адреса тоже можно обойти, указав вместо адреса шесть нулевых байтов. С 18 по 21 августа VulnCheck обнаружила 203 доступных из интернета устройства с DARKLANTERN в 22 странах. Маршрутизаторы сообщили о 16 разных моделях, поэтому проблема не ограничивается WE826-T2.
SPEAKINGSTONE устроен иначе. Служба yunmgrd сама устанавливает UDP-соединение с сервером управления и регулярно отправляет сведения об устройстве, включая модель, прошивку, MAC-адрес, SSID, локальный IP-адрес, время работы и в некоторых конфигурациях координаты. Оператор может запускать произвольные команды, получать имя пользователя и пароль PPPoE, менять настройки DNS, создавать обратный SSH-туннель и указывать резервные серверы управления.
В прошивке также оказался скрыт резервный домен findmyipaddr.com. На момент проверки адрес никому не принадлежал, поэтому VulnCheck зарегистрировала домен и направила подключения на контролируемый сервер. Маршрутизаторы начали обращаться к нему почти сразу. К 21 августа специалисты получили сигналы от 392 уникальных устройств, причём 390 находились в Китае. Около 83% работали в сети China Mobile, а 363 устройства сообщили одну и ту же модель L3_V2_8 и одинаковую версию прошивки.
Масштаб может быть больше полученных цифр. SPEAKINGSTONE обращается к резервному адресу только тогда, когда в конфигурации отсутствует основной сервер. Основной домен ac-link.com продолжал работать во время проверки, поэтому устройства, настроенные на него, в статистику VulnCheck не попали.
Дополнительную проблему создаёт то, как ZBT производит оборудование. Компания выпускает оборудование для других поставщиков, которые продают маршрутизаторы под собственными названиями. Сама ZBT предлагает OEM- и ODM-производство, включая полную кастомизацию устройств. VulnCheck связала платформы компании с продукцией, продававшейся в США, Канаде, Австралии, Германии, на Филиппинах и других рынках. Наличие аппаратной платформы ZBT при этом не означает, что конкретный маршрутизатор обязательно содержит найденные закладки.
После того как раскрыли ENDLESSDOORS, производитель заявил , что компонент rctl предназначался исключительно для технической поддержки с разрешения клиента. ZBT остановила продажи затронутых моделей, убрала соответствующие прошивки с сайта и сообщила о подготовке исправлений.
Новые DARKLANTERN и SPEAKINGSTONE относятся к другим компонентам и встречаются в более старых поколениях прошивок, что указывает на существование нескольких механизмов удалённого управления в устройствах ZBT разных лет.