Познавательный блог Мобильная врсия

Страницы

Промо

Уязвимость в службе печати Windows

Самая интересная новость прошлой недели пришла в составе очередного пакета обновлений для операционных систем и софта компании Microsoft (обзорная статья). Всего разработчики закрыли 111 уязвимостей, из них 16 серьезных. В отличие от предыдущих кумулятивных апдейтов, ни один баг не эксплуатировали до момента выпуска патча.

Уязвимость CVE-2020-1048 (описание на сайте Microsoft, обсуждение на Хабре) в службе печати Windows (точнее, в модуле Windows Print Spooler) выделяется скорее не степенью угрозы, а своей историей. Ее обнаружили в древнем куске кода, который, судя по всему, не обновляли со времен Windows NT4.

odihyedgxak7unaxwwqjmdzdths - Уязвимость в службе печати Windows

Формальное описание проблемы выглядит так: уязвимость в Print Spooler позволяет локальному пользователю повысить привилегии, так как обеспечивает произвольный доступ к файловой системе. В прошлый вторник 12 мая исследователи Алекс Ионеску и Ярден Шафир опубликовали подробнейшее описание проблемы. Простыми словами CVE-2020-1048 сформулирована в конце статьи: это невероятно легкий в эксплуатации баг — систему можно «атаковать» буквально парой команд в PowerShell. И это не все: исследование отсылает нас к еще более устаревшему коду для отправки факсов (!) и индустриальной атаке Stuxnet.

В публикации подробно описан механизм работы Print Spooler — системы, которая отвечает как за печать документов, так и за управление принтерами. Она может работать с локальными и сетевыми устройствами печати, а также поддерживает печать в файл. В статье детально описан именно последний метод, в том числе механизм добавления виртуального принтера через команду в оболочке PowerShell. С таким результатом:

2 1 1024x276 - Уязвимость в службе печати Windows

В итоге все сводится к введению волшебной команды из твита выше. В Windows не проверялась валидность «пункта назначения», из-за чего возникла возможность создания «принтера» с записью в системный файл, в данном случае — библиотеку ualapi.dll. Достаточно «напечатать» произвольный исполняемый вход в такой «принтер», и вы получаете полный контроль над системой. В патче разработчики Microsoft добавили проверку порта печати. Точнее, она существовала и до этого, но срабатывала только при использовании средств работы с Print Spooler через графический интерфейс (в исследовании Windows Internals показана попытка создания такого средства). При этом она не действовала при работе из командной строки.

У этого исследования есть предыстория: еще 30 апреля Ионеску и Шафир опубликовали статью о похожей атаке, но через службу отправки факсов (вы помните, что это? Нет? А Windows их поддерживает до сих пор!). На тот момент исследователям уже была известна уязвимость в Print Spooler, но пришлось подождать выпуска патчей. Поэтому более раннюю публикацию пришлось нелогично назвать второй частью исследования, а через пару недель обнародовать первую.

В 2010 году в системе печати Windows закрыли похожую уязвимость: повышение привилегий в системе при помощи произвольной «печати» данных в файл. Проблему эксплуатировали в рамках кибератаки Stuxnet и добавили в набор инструментов для закрепления в целевой системе. Собственно, обнаружили ее в ходе изучения вредоносного кода. По итогам инцидента 10-летней давности защиту Print Spooler усилили, но, как теперь понятно, недостаточно хорошо.

Написать комментарий








Поиск по сайту

Статистика

Мета

  Разработка и дизайн — StvPromo.ru