🥶 Обзор PrintNightmare CVE‑2021‑34527
Салют,
Сегодня посмотрим PrintNightmare, про который писал в прошлом посте, - это классический пример того, как служба в Windows превращается в точку входа для RCE и площадку для намеренных злодеяний Vice Society и Magniber. Этот пост поможет тебе собрать воедино логику работы свежей уязвимости Metro4Shell.
Исследователи Sangfor выложили на GitHub технический разбор CVE‑2021‑1675 и PoC, который быстро эволюционировал в отдельный идентификатор CVE‑2021‑34527, а также был связан с CVE‑2021‑36958 и CVE‑2021‑1678.
PrintNightmare благодаря службе печати даёт возможность выполнить произвольный код, а LPE (Local Privilege Escalation, по русски - повышение привелегий) — захватить права уровня SYSTEM для контроля над Active Directory.
Это именно тот баг, который дал дыру в очереди печати spoolsv.exe, так как Print Spooler включена по умолчанию практически на всех тачках WinOS, включая контроллер домена. Уязвимость сидит в RPC‑вызове RpcAddPrinterDriver/ RpcAddPrinterDriverEx , который позволяет аутентифицированному пользователю загрузить драйвер печати с произвольного пути. Дальше драйвер, представляющий собой зловредную DLL, копируется в системный каталог драйверов принтера и исполняется с правами SYSTEM в контексте spoolsv.exe. Результат — RCE, LPE.
Эксплуатация:
• Клиент вызывает RpcAddPrinterDriver/ RpcAddPrinterDriverEx на удалённом принт‑сервере
• pDataFile указывается как путь к драйверу на SMB‑шаре, где вместо драйвера лежит вредоносная DLL
• Print Spooler копирует DLL в C:\Windows\System32\spool\drivers\… и загружает её с правами SYSTEM как часть инфраструктуры печати
Что дает злоумышленнику?
• Полный контроль над тачкой
• Создание новых учётных записей с полными правами
• Сбор и кража учётных данных
• Дамп LSASS
• Установка DLL, INI на другие тачки
• Распространение вредоносных драйверов по сети
Кейсы
• Magniber использует PrintNightmare для LPE: зловредная DLL подгружается в процесс, распаковывает крипто‑код, шифрует файлы и удаляет резервные копии
• Vice Society эксплуатирует PrintNightmare: применяет proxychains, impacket для lateral movement, целенаправленно бьёт по резервным копиям, реализует деградацию ESXi, реализует кражу credits
Меры снижения риска
• Отключить службу Print Spooler на всех системах, где печать не нужна, либо
— Отключить входящую удалённую печать через локальные/ групповые политики
— Запретить драйверы и принтеры, устанавливаемые пользователями без админ‑прав
• Усиление аутентификации на RPC‑интерфейсе принтера для IRemoteWinspool и снижения риска атак релея и спуфинга (CVE‑2021‑1678):
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print]
"RpcAuthnLevelPrivacyEnabled"=dword:00000001
• Запретить установку драйверов без прав администратора (при условии соблюдения Segregation of Duties)
• Включить уведомления и запросы UAC при установке новых драйверов
• Ограничить список доверенных серверов печати и источников драйверов
• Не использовать контроллеры домена как универсальные сервера печати и выносить Spooler отдельно
• Мониторить вызовы spoolsv.exe, необычные операции с RpcAddPrinterDriverEx, появление новых DLL в каталоге драйверов принтера, активность impacket/ proxychains, нетипичные подключения к ESXi и серверам бэкапов
• Установить все внеочередные обновления Microsoft, связанные с CVE‑2021‑34527 / CVE‑2021‑1675 / CVE‑2021‑36958 / CVE‑2021‑1678.
Итого: ты понимаешь как выглядит проход RCE и какие риски он несет, что и как работает. Также ты сможешь по аналогии с этими примерами разбираться в том, как реализуются новые типы и видов атак, а мы все еще будем ждать очередной четверг обновлений от нашего любимого вендора ОС 🤔
Сноска
LSASS - служба, которая отвечает за аутентификацию пользователей, применение локальной и доменной политики безопасности и выдачу access‑токенов, в памяти которой хранятся хэши паролей, тикеты и другие чувствительные учётные данные.
#research #riskanalysis #appsec #specialty #pmcases #term
