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

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

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


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


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


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

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

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

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



    Компания 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 через выполнение вредоносного кода в браузере.
    «Лаборатория Касперского»
    Ловим вирусы, исследуем угрозы, спасаем мир

    Комментарии 1

      0
      Достаточно «напечатать» произвольный исполняемый вход в такой «принтер», и вы получаете полный контроль над системой.
      Интересно, а система проверки цифровых подписей при запуске системы не ругнётся на то, что файл поменялся? Такой механизм, вроде как, впервые появился ещё в Windows XP…

      Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

      Самое читаемое