Издание Bleeping Computer проверило возможность получения прав администратора в последней версии Windows 10.

Исследователь и разработчик ИБ-утилит Бенджамин Делпи открыл в тестовых целях доступ к серверу удаленной печати, который дает любому пользователю права администратора Windows на ПК, чтобы обратить внимание Microsoft на так и не решенную проблему PrintNightmare. Эта уязвимость в службе диспетчера печати может использоваться для получения привилегий уровня SYSTEM. Она позволяет устанавливать программы, просматривать, изменять или удалять данные и создавать новые учетные записи с правами администратора на почти всех версиях Windows, включая старые.

Пример использования сервера удаленной печати для получения административных привилегий в Windows 10 пользователю со «Стандартными» (ограниченными) привилегиями в ОС

Параметры подключения для тестового соединения и проверки Windows на уязвимость PrintNightmare:

  • путь для доступа к серверу удаленной печати \\printnightmare.gentilkiwi.com;
  • имя пользователя: .\gentilguest;
  • пароль: password;
  • принтер: Kiwi Legit Printer.

После подключения к удаленному принтеру в системе Windows устанавливаются специально созданные драйвера на него, позволяющие злоупотребить Windows API и использовать уязвимость в службе диспетчера печати ОС, а также запускается командная строка под администратором.

Дельпи пояснил Bleeping Computer, что одной из движущих причин, по которой он открыл всем этот сервис для тестирования, является давление на Microsoft, чтобы компания поменяла свои приоритеты, обратила внимание на проблему и полностью исправила эту уязвимость.

Дельпи мониторит тех, кто сейчас подключается к его тестовому принтеру. Он не может определить, какие IP-адреса принадлежат обычным пользователям, исследователям или злоумышленникам и не блокирует их. Тем не менее, он зафиксировал большое количество входов на его сервер удаленной печати со стороны российских IP-адресов.

6 июля 2021 года Microsoft выпустила патчи против RCE вектора критической уязвимости PrintNightmare (CVE-2021-34527) в службе диспетчера печати для всех поддерживаемых версий Windows, включая старые. Уязвимость PrintNightmare включает в себя вектор удаленного выполнения кода (RCE) и локального повышения привилегий (LPE), который можно использовать в атаках для выполнения команд с привилегиями SYSTEM в уязвимой системе. Исследователи обнаружили, что эти патчи не помогают от использования специально настроенного сервера удаленной печати.

1 июля 2021 года Microsoft предупредила системных администраторов о критической уязвимости нулевого дня, позволяющей удаленно выполнить зловредный код в системе, в службе диспетчера печати всех текущих поддерживаемых версий Windows и настоятельно попросила их отключить службу диспетчера очереди печати Windows (spoolsv.exe) на контроллерах домена и хостах, не связанных с печатью, например, в PowerShell под администратором запустить команды «Stop-Service -Name Spooler -Force» и «Set-Service -Name Spooler -StartupType Disabled».

Еще варианты блокирования использования удаленно уязвимости: блокировать трафик RPC и SMB на границе внутренней сети компании или запретить все принтеры и разрешить доступ только к проверенным серверам печати и принтерам с помощью групповой политики и настроить PackagePointAndPrintServerList.

Комментарии (14)


  1. yurybx
    01.08.2021 10:20
    +1

    После подключения к удаленному принтеру в системе Windows устанавливаются специально созданные драйвера на него...

    Так вроде обычный пользователь не может устанавливать драйвера принтера. Или я чего-то не понимаю?


    1. Darlock_Ahe
      01.08.2021 10:48

      Большая часть пользователей имеет доступ administrator по умолчанию.


      1. yurybx
        01.08.2021 12:42

        Тогда непонятно, в чём собственно уязвимость. Если у пользователя и так административный доступ, то зачем ему ещё какие-то уязвимости?


        1. psycha0s
          01.08.2021 13:08

          Я конечно сам не разобрался в ситуации, но в статье упоминается пользователь SYSTEM. У него прав больше чем у простого администратора, это в некотором роде эквивалент root в UNIX системах.


          1. tyomitch
            01.08.2021 13:48

            У администратора есть штатная возможность запускать код с правами SYSTEM — например, в виде службы.

            yurybx уязвимость в ситуации «если ты решишь печатать на моём принтере, то я получу админский доступ к твоей машине».


          1. dartraiden
            01.08.2021 16:56

            Если у пользователя есть права администратора, то запустить что-то от SYSTEM вообще не проблема. PsExec и вперёд.

            Именно поэтому Microsoft не считает уязвимостями те ошибки, которые требуют наличия прав администратора, т.к. если злоумышленник получил такие права, то пить боржоми поздно - почки уже отвалились.


            1. tyomitch
              01.08.2021 17:13

              Здесь другое: права администратора у жертвы, а у злоумышленника злой принтер.


            1. MozgFx
              02.08.2021 12:24

              psexec не системный файл. Но инструмент удобный.

              Я только так и работаю при включенном UAC. Параметр S.

              При отключённом UAC достаточно параметра H.


        1. valeravv
          01.08.2021 14:07

          Раньше в Windows не требовались права администратора для установки сетевого принтера. Сейчас это регулируется доменными политиками, то есть админ может запретить ставить дрова обычным пользователям (по умолчанию) или разрешить это (права админа при этом не выдаются).


    1. mentin
      02.08.2021 01:51
      +1

      В ролике пользователь похоже не администратор: для отключения антивируса он получает elevation prompt, и вводит админский пароль. А вот для установки принтера ничего такого не требуется.

      Надо правда разобраться дальше, что там происходит, то ли возможна установка всего подряд, то ли что-то с цифровой подписью, то ли настройки по умолчанию позволяют это делать, то ли сегодня дыра какая-то в коде.


    1. kudryavy
      02.08.2021 03:53

      Может. Я лично под Win 10 ставил дрова на сетевой принтер без прав админа (учетка на рабочем месте порезана в целях безопасности, но поставить драйвера это не помешало).

      Не могу объяснить как это работает, но факт есть факт.


      1. yurybx
        02.08.2021 11:57

        Похоже, что десятка разрешает устанавливать драйвера принтера из своего комплекта драйверов. Скачивание, как я понимаю, происходит с серверов обновлений Microsoft. Левый драйвер таким образом установить не получится, надеюсь.


  1. tyomitch
    01.08.2021 11:25
    +4

    путь для доступа к серверу удаленной печати \\http://printnightmare.gentilkiwi.com;

    Небрежный копипаст такой небрежный…
    Откуда в UNC может быть http://?


  1. ibrin
    01.08.2021 17:47

    SYSTEM это не проблема, а вот как получить права TRUSTEDINSTALLER без особых приседаний?