Security Week 21: уязвимость в службе печати Windows

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

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

16cc8ab82a6fbc8a877c84c8fb59dbd9.png

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

4319ecd2e779b3eced34f536b7bed2d4.png

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

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

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

Что еще произошло

1edc0751f213522d5b305c21c7947097.png

Компания Sophos опросила предприятия о потерях в результате кибератак, проведенных вымогателями. Средняя сумма потерь вследствие подобных инцидентов составила 730 тысяч долларов — но это если не платить выкуп, а доставать копию данных из бэкапа и другими путями восстанавливать работоспособность инфраструктуры.

Самое интересное, что средний ущерб среди тех, кто выполнил требования взломщиков, оказался в два раза больше — 1,4 миллиона долларов. Отчасти это «средняя температура по больнице», так как грамотная защита и резервирование позволяют серьезно сэкономить. Но это очередной довод за то, чтобы не платить киберпреступникам, в дополнение к множеству примеров двойного вымогательства, когда сначала требуют денег за расшифровку данных, а потом за то, чтобы их не распространяли.

Компания Microsoft тестирует шифрование DNS-запросов по технологии DNS-over-HTTPS. Функция доступна в Windows 10 Insider Preview Build 19628 .

Представители Facebook выплатили 20 тысяч долларов за обнаружение бага в сервисе Continue with Facebook. Он позволяет залогиниться на сторонних ресурсах через аккаунт в соцсети. Исследователь Винот Кумар обнаружил, что для работы Continue with Facebook использует JavaScript-код с серверов Facebook, который можно подменить, что позволяет угнать аккаунт посетителя сайта.

В плагине Page Builder для Wordpress нашли уязвимость . Ей в теории подвержены до миллиона веб-сайтов, ошибка позволяет атаковать аккаунт администратора Wordpress через выполнение вредоносного кода в браузере.
print spooler printdemon
Alt text

Подписывайтесь на каналы "SecurityLab" в TelegramTelegram и TwitterTwitter, чтобы первыми узнавать о новостях и эксклюзивных материалах по информационной безопасности.