роутерНайденные баги открывают возможности для дальнейшего развития атаки. Рассмотрим некоторые концепты.

1. Вносим изменения в софт роутера.

Как я уже сказал ранее, мы имеем дело с файловой системой squashfs, и, чтобы что-либо изменить, нужно сильно постараться. Для начала скачиваем оригинал прошивки и распаковываем (в интернете можно без труда найти множество инструкций), далее изменяем необходимые файлы и «склеиваем» прошивку в удобный вид. После этого необходимо обновить микропрограмму в роутере, загрузив файл измененной прошивки. Таким образом мы сможем изменять, добавлять и удалять какие-либо файлы с прошивки.

2. Добавляем функционал через модуль ядра.

Если ты обладаешь навыками программирования модулей ядра, то ничто не мешает тебе написать свой модуль ядра, скомпилировать его и подгрузить через Ismod. Но, чтобы без обновления микропрограммы иметь в распоряжении пространство для создания и изменения файлов, мы должны подключить внешний носитель и работать непосредственно с ним (однако у многих пользователей внешний носитель уже подключен).

3. Получаем дополнительные данные через команду flash. Стоит обратить внимание на такой инструмент, как команда

flash, доступная в консоли роутера. Она может дать нам интересные данные (к примеру, пароль для программы NetFriend с целью удаленной настройки роутера), которые в дальнейшем могут быть использованы против жертвы. Пример:

KEENETIC 4G> flash get SUPER_NAME SUPER_NAME=»t0u34″…..

KEENETIC 4G> flash get SUPERPASSWORD SUpER_pASSWORD=»i|fi>t0D93u34jf — 34: jL9. Sd » KEENETIC 4G> flash get ADMIN_NAME

ADMIN_NAME=»admin»……….

KEENETIC 4G> flash get ADMIN_PASSWORD

ADMIN_PASSW0RD=»1234″

KEENETIC 4G>

ВЕРДИКТ?

Надо понимать, что случай ZyXEL не уникальный —изъянами в своем софте могут похвастаться практически все производители роутеров. Не самые критические на первый взгляд уязвимости при совмещении с социальной инженерией могут привести к довольно печальным последствиям. Но обезопасить себя от подобного можно, только если регулярно обновлять прошивки роутера и изменять все настройки, запрещающие удаленно пользоваться роутером.

скорый bugfix

Парни из ZyXEL сразу же ответили, что будут делать с багами

«Исправления найденных багов (там где, это необходимо) в ближайшее время станут доступны пользователям в той или иной форме в зависимости от версии микропрограммы (V1 —в неофициальных сборках, V2 —в свежих компонентах). Прошивка 2.0 вообще построена по иному принципу —без использования shell и BusyBox. Вся логика работы скрыта в модулях и библиотеках, и повлиять на ее работу гораздо сложнее. Получить рутовый доступ попросту некуда. Командная оболочка NDM хоть и исполняется от имени рута, но настолько ограничена, что требуется отдельное исследование, как использовать ее по злому умыслу. Что касается уязвимостей веб — интерфейса, вставить код на страницу через имя компьютера в прошивке 2.0 невозможно (мы на всякий случай проверили). Воспользоваться CSRF не получится, ведь мы используем AJAX, а не GET/POST через форму или URL, а кросс — доменные запросы AJAX давно блокируются браузерами. Украсть пароль тоже нельзя, потому что он не хранится в открытом виде.»