Ранее на этой неделе компания подготовила экстренный патч для критического бага PrintNightmare, недавно обнаруженного в составе Windows Print Spooler (spoolsv.exe).
Microsoft присвоила этой ошибке идентификатор CVE-2021-34527, а также подтвердила, что проблема позволяет удаленно выполнить произвольный код с привилегиями SYSTEM и позволяет атакующему устанавливать программы, просматривать, изменять или удалять данные, а также создавать новые учетные записи с пользовательскими правами.
В настоящее время патчи доступны для всех версий Windows, включая даже Windows 7:
- Windows 10 21H1 (KB5004945);
- Windows 10 20H1 (KB5004945);
- Windows 10 2004 (KB5004945);
- Windows 10 1909 (KB5004946);
- Windows 10 1809 и Windows Server 2019 (KB5004947);
- Windows 10 1803 (KB5004949);
- Windows 10 1607 и Windows Server 2016 (KB5004948);
- Windows 10 1507 (KB5004950);
- Windows Server 2012 (KB5004956/ KB5004960);
- Windows 8.1 и Windows Server 2012 R2 (KB5004954/KB5004958);
- Windows 7 SP1 и Windows Server 2008 R2 SP1 (KB5004953/ KB5004951);
- Windows Server 2008 SP2 (KB5004955/ KB5004959).
При этом ИБ-исследователи быстро обнаружили, что эти исправления неполные, так как уязвимость все еще можно эксплуатировать локально для получения привилегий SYSTEM. В частности, эту информацию подтвердили Мэтью Хики, соучредитель Hacker House, а также Уилл Дорманн, аналитик CERT/CC.
The Microsoft fix released for recent #PrintNightmare vulnerability addresses the remote vector - however the LPE variations still function. These work out of the box on Windows 7, 8, 8.1, 2008 and 2012 but require Point&Print configured for Windows 2016,2019,10 & 11(?). ?♂️ https://t.co/PRO3p99CFo
— Hacker Fantastic (@hackerfantastic) July 6, 2021
Как выяснилось теперь, проблема даже серьезнее, чем они предполагали. Другие исследователи тоже начали модифицировать свои эксплоиты и тестировать патч, после чего выяснилось, что исправление можно обойти полностью, и использовать уязвимость не только для локального повышения привилегий, но и для удаленного выполнения произвольного кода.
Разработчик Mimikatz Бенджамин Делп пишет, что патч можно обойти, если активна политика Point and Print Restrictions, а параметр «When installing drivers for a new connection» должен быть установлен на значение «Do not show warning on elevation prompt».
Dealing with strings & filenames is hard?
— ? Benjamin Delpy (@gentilkiwi) July 7, 2021
New function in #mimikatz ?to normalize filenames (bypassing checks by using UNC instead of \servershare format)
So a RCE (and LPE) with #printnightmare on a fully patched server, with Point & Print enabled
> https://t.co/Wzb5GAfWfd pic.twitter.com/HTDf004N7r
Мэтью Хики сообщил журналистам Bleeping Computer, что пользователям по-прежнему лучше отключать Print Spooler вовсе, заблокировав печать локально и удаленно (до появления полноценного патча). Также само издание отмечает, что неофициальный микропатч от разработчиком 0patch оказался более эффективен, и можно пользоваться им. Однако это решение сторонних разработчиков конфликтует с исправлением Microsoft от 6 июля 2021 года, то есть 0patch можно применять только вместо официального.
В Microsoft сообщают, что им уже известно о выводах экспертов, и компания уже расследует эти сообщения.