Хакер - Купила мама Konica. Как специалисты нашли уязвимость и взломали прошивку МФУ
Содержание статьи
Уязвимости обнаруживают не только в операционных системах и софте для компьютеров или мобильных устройств. Исследователи из SEC Consult Vulnerability Lab недавно нашли любопытную уязвимость в многофункциональных устройствах Konica Minolta и рассказали о том, как на ее исправление повлияла эпидемия COVID-19.
Проблема актуальна для нескольких моделей МФУ Konica Minolta bizhub и позволяет получить полный доступ к операционной системе на чтение и запись от имени пользователя root. Правда, есть нюанс: для этого нужно иметь непосредственный физический контакт с сенсорным дисплеем МФУ и возможность подключить к нему внешнюю клавиатуру.
Когда речь заходит о принтерах, чаще всего уязвимости находят в драйверах, сервисных программах, веб‑приложениях самого принтера или в реализации сетевых протоколов этих устройств. Ребята из SEC Consult пошли немного другим путем и сосредоточились на железе. Вообще, современный лазерный принтер — это по большому счету самый обыкновенный компьютер, разве что предназначен он для реализации одной‑единственной функции: печати изображения на бумаге. В нем есть устройства ввода — сенсорный дисплей, небольшая клавиатура, порты USB и RJ-45, последовательные интерфейсы, а некоторые модели даже оборудованы считывателями RFID для аутентификации пользователей.
МФУ обычно взаимодействует с пользователем через приложение с графическим интерфейсом, которое запущено в полноэкранном режиме поверх *nix-совместимой операционной системы, при этом к самой ОС принтера пользователь непосредственного доступа не имеет. Все действия в системе, которые приложение совершает при нажатии физических кнопок или экранных объектов на сенсорном дисплее принтера, выполняются от имени неавторизованного пользователя с ограниченными привилегиями. По крайней мере, так должно быть в теории.
В своем исследовании специалисты SEC Consult рассказали о том, что при работе с МФУ Konica Minolta bizhub C3300i и C3350i они заметили странную аномалию. А именно: внешний вид графического приложения на сенсорном экране принтера немного менялся в зависимости от контекста нажимаемых ими кнопок и выбираемых меню. Это позволило предположить, что, помимо собственной программы для работы с устройством, в МФУ используются и другие стандартные приложения, входящие в комплект поставки операционной системы. Для проверки этой гипотезы исследователи подключили к принтеру внешнюю USB-клавиатуру и, нажимая разные сочетания клавиш, сумели запустить на экране браузер Chromium. Возникло подозрение, что таким образом они могут получить и доступ к файловой системе принтера, включая файлы конфигурации, сохраненные пароли и прочие конфиденциальные данные.
ПОЛУЧЕНИЕ ДОСТУПА К ФАЙЛОВОЙ СИСТЕМЕ
Дисплей на МФУ Konica Minolta, как и на многих других подобных офисных устройствах, нужен, чтобы управлять очередью печати, сканировать изображения и изменять настройки принтера. Для взаимодействия с пользователем Konica Minolta использует самописную программу, но некоторые ее функции реализованы в виде веб‑приложения. Так, если на сенсорном экране Minolta Bizhub C3300i перейти в раздел User authentication, нажать кнопку Public User Access, затем выбрать на открывшемся экране раздел Utility, а затем еще раз Utility, откроется встроенная справочная система принтера. Она реализована в виде веб‑приложения, для отображения которого открывается стандартный браузер Chromium в полноэкранном режиме («режиме киоска») без каких‑либо панелей, рамок и прочих элементов интерфейса — исследователи определили это по изменению внешнего оформления приложения.
Если в этот момент подключить к принтеру внешнюю клавиатуру (все МФУ данной серии оснащены USB-портом) и попробовать стандартные сочетания клавиш, то можно убедиться, что большинство из них занесено в «черный список» и не срабатывает. Однако, если нажать клавишу F12, на экране откроется консоль разработчика Chromium — эту функцию создатели софта для принтера почему‑то забанить забыли.
Теперь можно открыть вкладку Filesystem, нажать ссылку Add folder to workspace и добавить в консоль разработчика любую папку в файловой системе принтера, которая будет доступна на чтение и запись, поскольку Chromium работает в этой ОС с привилегиями пользователя root. На иллюстрации выше исследователи из SEC Consult добавили в рабочее окружение консоли разработчика папку /var/log/nginx/html/
.
ПОХИЩЕНИЕ ИНФОРМАЦИИ
В упомянутой папке хранится файл с именем ADMINPASS
, в котором содержится пароль администратора для терминала принтера и веб‑интерфейса, причем в виде обычного текста.
Аналогичным образом можно получить доступ и к другим объектам в файловой системе принтера, например к файлу /etc/shadow
, где собрана информация о паролях для учетных записей пользователей. Содержимое файла зашифровано с помощью библиотечной функции crypt
и потому при желании может быть расшифровано без особого труда.
Все это говорит о том, что разработчики встроенного софта для аппаратов Konica Minolta не слишком заботились о назначении правильных разрешений для файлов и папок в используемой ими ОС.
С использованием полного доступа к файловой системе МФУ злоумышленник может реализовать несколько видов атак. Если принтер работает в какой‑либо организации, на его дисплей можно вывести фейковое окно авторизации для сбора паролей от пользовательских учетных записей. Еще можно отправлять копии всех отсканированных документов в общую папку на SMB-сервере, откуда впоследствии их нетрудно забрать, если злоумышленники имеют доступ к сети предприятия или оборудованию.
Исследователи, в частности, предлагают такой сценарий. Если злодей контролирует сервер или шлюз в сети, к которой подключен принтер, он может запустить на нем свое веб‑приложение и с помощью команды document.location=[IP-адрес:порт]
в консоли разработчика назначить его в качестве приложения по умолчанию (открывается при нажатии на кнопку сканирования документа). На следующем рисунке показано такое поддельное приложение, созданное специалистами SEC Consult, — на первый взгляд его невозможно отличить от стандартного диалогового окна, демонстрируемого принтером.
Все отсканированные на таком скомпрометированном МФУ документы будут попадать в расшаренную папку на сервере, откуда впоследствии их без труда скачают злоумышленники.
ВЫВОДЫ
Согласно представленной исследователями информации, уязвимости подвержены 46 моделей МФУ Konica Minolta bizhub, а количество затронутых устройств исчисляется сотнями тысяч по всему миру. Инцидент был впервые выявлен в 2019 году, и эксперты своевременно оповестили изготовителей оборудования о своей находке. Уязвимость с получением доступа к файловой системе принтера обозначили как CVE-2022-29586, возможность запуска Chromium с правами root — CVE-2022-29587, а пароли, хранящиеся в открытом виде в файловой системе, — CVE-2022-29588.
Konica Minolta выпустила патч для прошивки своих устройств, но с момента обнаружения уязвимостей (2019 год) до момента публикации сведений о них прошло без малого три года. Эксперты SEC Consult утверждают, что основной причиной такой медлительности стала пандемия CONID-19: в МФУ Konica Minolta отсутствует централизованная система автоматической установки обновлений, поэтому для накатывания патча необходимо физическое присутствие сервисного инженера. Поскольку в период пандемии очень многие компании перешли на удаленку, быстро обновить прошивку устройств на территории заказчика во многих странах стало попросту невозможно. По этой же причине очень многие МФУ данного производителя все еще уязвимы перед подобными видами атак — сервисные инженеры Konica Minolta посетили еще не все отдаленные уголки нашей планеты.
В любом случае самый простой и надежный способ защиты — отключить поддержку внешних USB-клавиатур в настройках принтера. Как бы то ни было, перед нами — один из довольно редких случаев, когда в безопасности сложного технического устройства обнаруживается серьезная брешь, вызванная архитектурными проблемами, прежде всего использованием проприетарным софтом стандартных компонентов ОС для организации интерфейса с пользователем. Вторая важная причина возникновения уязвимости — разработчики уделяли недостаточно внимания правам и разрешениям доступа к критически важным объектам файловой системы. Ну и усугубило проблему отсутствие централизованной системы обновления прошивок в МФУ Konica Minolta — из‑за этого исправление найденных ошибок очень растянулось во времени.
Читайте ещё больше платных статей бесплатно: https://t.me/hacker_frei