
Неаутентифицированная уязвимость извлечения данных в принтерах Kyocera, позволяющая восстановить адресную книгу и пароли доменных учётных записей в открытом виде
Неаутентифицированная уязвимость извлечения данных в принтерах Kyocera, позволяющая восстановить пароли адресной книги и пароли доменных учётных записей в открытом виде.
В 2021 году во время пентеста я экспериментировал с толстым клиентом Kyocera, используемым для удалённого администрирования принтеров. Проксируя трафик приложения, я обнаружил, что SOAP API Kyocera на порту 9091/TCP не обеспечивает должной аутентификации при выполнении чувствительных операций. МФУ Kyocera могут быть настроены с учётными данными для привязки к доменам компании, FTP, файловым ресурсам и т.д. Неаутентифицированным способом можно получить все пароли, хранящиеся на МФУ, в открытом виде.
Полное описание можно найти в блоге Rapid7: https://www.rapid7.com/blog/post/2022/03/29/cve-2022-1026-kyocera-net-view-address-book-exposure/
Я не считаю, что эта уязвимость исправлена во всех моделях на данный момент; она остаётся 0-day, несмотря на отчёты вендору. Мне удалось протестировать только несколько моделей за прошедшие годы, но всякий раз, когда я нахожу принтер Kyocera, этот метод всё ещё работает.
Python-скрипт подключается к МФУ на TCP-порт 9091 и отправляет SOAP-запрос на создание нового экспорта адресной книги. Принтер отвечает номером объекта адресной книги, после чего скрипт ждёт несколько секунд, пока книга будет создана. Затем книга извлекается через ещё один SOAP-запрос. Внутри книги находятся все настроенные пароли в открытом виде.
Не стесняйтесь отправлять PR с улучшенным парсингом — я так и не вернулся к облагораживанию вывода или процесса эксплуатации.
python3 getKyoceraCreds.py <ip_принтера>