Издание Bleeping Computer проверило возможность получения прав администратора в последней версии Windows 10.
Исследователь и разработчик ИБ-утилит Бенджамин Делпи открыл в тестовых целях доступ к серверу удаленной печати, который дает любому пользователю права администратора Windows на ПК, чтобы обратить внимание Microsoft на так и не решенную проблему PrintNightmare. Эта уязвимость в службе диспетчера печати может использоваться для получения привилегий уровня SYSTEM. Она позволяет устанавливать программы, просматривать, изменять или удалять данные и создавать новые учетные записи с правами администратора на почти всех версиях Windows, включая старые.
Пример использования сервера удаленной печати для получения административных привилегий в Windows 10 пользователю со «Стандартными» (ограниченными) привилегиями в ОС
Параметры подключения для тестового соединения и проверки Windows на уязвимость PrintNightmare:
После подключения к удаленному принтеру в системе 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.
Исследователь и разработчик ИБ-утилит Бенджамин Делпи открыл в тестовых целях доступ к серверу удаленной печати, который дает любому пользователю права администратора 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)
tyomitch
01.08.2021 11:25+4путь для доступа к серверу удаленной печати \\http://printnightmare.gentilkiwi.com;
Небрежный копипаст такой небрежный…
Откуда в UNC может бытьhttp://
?
ibrin
01.08.2021 17:47SYSTEM это не проблема, а вот как получить права TRUSTEDINSTALLER без особых приседаний?
yurybx
Так вроде обычный пользователь не может устанавливать драйвера принтера. Или я чего-то не понимаю?
Darlock_Ahe
Большая часть пользователей имеет доступ administrator по умолчанию.
yurybx
Тогда непонятно, в чём собственно уязвимость. Если у пользователя и так административный доступ, то зачем ему ещё какие-то уязвимости?
psycha0s
Я конечно сам не разобрался в ситуации, но в статье упоминается пользователь SYSTEM. У него прав больше чем у простого администратора, это в некотором роде эквивалент root в UNIX системах.
tyomitch
У администратора есть штатная возможность запускать код с правами SYSTEM — например, в виде службы.
yurybx уязвимость в ситуации «если ты решишь печатать на моём принтере, то я получу админский доступ к твоей машине».
dartraiden
Если у пользователя есть права администратора, то запустить что-то от SYSTEM вообще не проблема. PsExec и вперёд.
Именно поэтому Microsoft не считает уязвимостями те ошибки, которые требуют наличия прав администратора, т.к. если злоумышленник получил такие права, то пить боржоми поздно - почки уже отвалились.
tyomitch
Здесь другое: права администратора у жертвы, а у злоумышленника злой принтер.
MozgFx
psexec не системный файл. Но инструмент удобный.
Я только так и работаю при включенном UAC. Параметр S.
При отключённом UAC достаточно параметра H.
valeravv
Раньше в Windows не требовались права администратора для установки сетевого принтера. Сейчас это регулируется доменными политиками, то есть админ может запретить ставить дрова обычным пользователям (по умолчанию) или разрешить это (права админа при этом не выдаются).
mentin
В ролике пользователь похоже не администратор: для отключения антивируса он получает elevation prompt, и вводит админский пароль. А вот для установки принтера ничего такого не требуется.
Надо правда разобраться дальше, что там происходит, то ли возможна установка всего подряд, то ли что-то с цифровой подписью, то ли настройки по умолчанию позволяют это делать, то ли сегодня дыра какая-то в коде.
kudryavy
Может. Я лично под Win 10 ставил дрова на сетевой принтер без прав админа (учетка на рабочем месте порезана в целях безопасности, но поставить драйвера это не помешало).
Не могу объяснить как это работает, но факт есть факт.
yurybx
Похоже, что десятка разрешает устанавливать драйвера принтера из своего комплекта драйверов. Скачивание, как я понимаю, происходит с серверов обновлений Microsoft. Левый драйвер таким образом установить не получится, надеюсь.