
Разбор раскрытия учётных данных суперадминистратора Zyxel в прошивках CPE/ONT/LTE/5G, с адаптированной лабораторией genpass для VMG8825-B50B.
Этот репозиторий содержит публичный разбор и лабораторные файлы для CVE-2021-35036. Проблема была зарегистрирована для прошивки Zyxel VMG3625-T50B и касалась путей getter-доступа DAL, которые возвращали учётные данные локальных учётных записей с повышенными привилегиями и удалённого управления низкопривилегированной аутентифицированной сессии.

Анализ прослеживает проблему от исходного отчёта VMG3625-T50B до более широкого стека управления Zyxel: аутентифицированные пользователи с низкими привилегиями могли обращаться к обработчикам DAL, которые возвращали необработанные секреты локальных учётных записей уровня администратора, а также служб управления, таких как TR-069 и FTPS.
Публичный проект Boginw zyxel-vmg8825-keygen является полезным контекстом для раздела Genpass статьи. Он показывает, что материал паролей на затронутых платформах Zyxel был встроен в переиспользуемую логику вендора, которая могла выводить учётные данные супервизора и администратора из идентификационных данных устройства. Этот контекст помогает объяснить, почему раскрытие DAL было операционно серьёзным: как только общие серверные объекты стали доступны слишком широко, другие компоненты в стеке прошивки уже могли загружать, преобразовывать и регенерировать чувствительный материал учётных данных.
Репозиторий также включает адаптированный пакет VMG8825-B50B, использовавшийся во время анализа, в zyxel-vmg8825-b50b-keygen-lab/. Отслеживаемая в репозитории обёртка adapted-runtime/opt/genpass/genpass была извлечена из эмулируемой файловой системы B50B и принимает форматы серийных номеров с V, Y или H на пятой позиции перед передачей в двоичный файл генерации паролей вендора.
Откройте онлайн-генератор здесь:
Запустить точный генератор Method2 / Method3
Указанное выше превью кликабельно и открывает точный браузерный генератор супервизора для встроенных путей Method2 и Method3. GitHub удаляет JavaScript из README-файлов репозиториев, поэтому интерактивная версия должна открываться со связанной страницы, а не выполняться непосредственно внутри README.md.
Пример использования адаптированного лабораторного пакета:
.\zyxel-vmg8825-b50b-keygen-lab\run-qemu.bat
Затем в эмулируемой оболочке:
genpass S182V12345678
Ожидаемый вывод включает семейства паролей супервизора, администратора и Wi-Fi, полученные из указанного серийного номера. Большой образ диска rootfs.ext2 остаётся неотслеживаемым, поскольку он слишком велик для обычной отправки на GitHub, в то время как репозиторий содержит адаптированные файлы среды выполнения и скрипты запуска, которые отличают эту версию для B50B от исходного проекта.
Материал keygen включён, потому что это конкретное доказательство из прошивки: обработка учётных данных была реализована в переиспользуемых библиотеках и обёртках вендора, а не только в одной веб-панели.
Публикуемые файлы сайта:
index.html: основная статьяassets/site.css: стили страницыassets/properhero.jpg: главное изображение статьи и превью для социальных сетейassets/readme-genpass-demo.gif: анимированное превью README с точным генератором супервизораassets/favicon.svg: исходный файл favicondisclosure-proof-images/page-04-img-01.png: встроенное изображение-доказательство, используемое в статьеzyxel-vmg8825-b50b-keygen-lab/: адаптированный пакет keygen VMG8825-B50B, включая извлечённую среду выполнения genpass, использовавшуюся в анализеЛокальные исследовательские артефакты, деревья прошивок, ресурсы эмулятора, PDF-файлы, скриншоты и другие исследовательские файлы исключены из репозитория через .gitignore, чтобы ветка Pages оставалась чистой.
Внешние ссылки, упомянутые в статье, включают:
zyxel-vmg8825-keygen для контекста генерации паролей VMG8825