🔥 Telegram Desktop раскрывает NTLM-хеши через прокси и допускает RCE
Контролируемый прокси мог одним ответом заставить Telegram Desktop и QtNetwork без предупреждения запустить системную NTLM-аутентификацию Windows. В лаборатории ExPatch подтвердили пересылку учётных данных, ведущую к удалённому выполнению кода с правами SYSTEM, и раскрытие до 65 КБ памяти кучи за один обмен. Работали на официальном клиенте 6.8.2 и Qt 6.11.1.
Механика до смешного проста. Прокси отвечает на CONNECT кодом 407 Proxy Authentication Required и заголовком Proxy-Authenticate: NTLM. Qt видит это, выбирает NTLM и сразу вызывает qSspiStartup без запроса к приложению. Дальше AcquireCredentialsHandle(nullptr) берёт текущие доменные учётные данные, а отсутствие проверок SPN, привязки канала и MIC позволяет переслать NTLM-токены на другой корпоративный сервис — классическая пересылка учётных данных. Telegram Desktop даже не узнаёт, что обмен начался.
Проблема шире, чем один мессенджер: так работает любое ПО на Qt с QTcpSocket::setProxy. В корпоративной Windows-сети под угрозой практически каждая машина, где пользователь вошёл под доменной учётной записью. По данным habr_infosec, отчёт ушёл в Telegram 6 июня, но исправление сначала появилось в Qt — исследователей не уведомили и не указали как авторов находки.
Для меня главный сигнал — даже не конфликт вокруг указания авторства, а то, что Qt молча запускает NTLM для прокси. Проверьте приложения на Qt в своей среде: выявляйте аномальные NTLM-обмены от клиентов с необычными сервисами, особенно если кто-то настраивал прокси для обхода блокировок.
#Telegram #Qt #NTLM #Proxy #RCE #уязвимость
Post #894
6