Уязвимость в Windows позволяет вредоносам запускаться с правами администратора
Исследователи безопасности обнаружили способ обойти патч, выпущенный компанией Microsoft для устранения уязвимости (CVE-2020-1048) в службах печати Windows, эксплуатация которой позволяет злоумышленникам выполнять вредоносный код с повышенными привилегиями.
Уязвимость была обнаружена специалистами Пелегом Хадаром (Peleg Hadar) и Томером Баром (Tomer Bar) из компании SafeBreach Labs. Проблема затрагивает диспетчер очереди печати Windows, управляющий процессом печати. Обход этой исправленной уязвимости был классифицирован как новая проблема (CVE-2020-1337).
Технические подробности о новой уязвимости по-прежнему конфиденциальны, но будут опубликованы после выпуска исправления 11 августа вместе с PoC-драйвером Mini-Filter, который показывает, как в реальном времени предотвратить использование двух уязвимостей.
Эксплуатация CVE-2020-1048 возможна путем создания вредоносных файлов, анализируемых диспетчером очереди печати. Один тип представлен форматом.SHD (Shadow), который содержит метаданные для задачи печати, такие как SID (идентификатор пользователя, создавшего задачу). Другой - SPL (файл Spool) с данными для печати.
Как отметили эксперты, функция ProcessShadowJobs обрабатывает все файлы SHD в папке диспетчера очереди печати при запуске процесса. Зная, что диспетчер очереди печати Windows работает с правами SYSTEM, и любой пользователь может помещать файлы SHD в его папку, исследователи попытались найти способ записи в каталог system32, а для этого требуются повышенные права.
По словам исследователей, можно изменить файл SHD, включив в него системный SID, добавить его в папку диспетчера очереди печати и перезагрузить компьютер, чтобы диспетчер очереди печати выполнил задачу с правами самой привилегированной учетной записи в Windows. Наряду с произвольной DLL-библиотекой (wbemcomn.dll), замаскированной как SPL-файл, они скопировали некорректно созданный SHD в папку диспетчера очереди печати. После перезагрузки специалисты добились повышения привилегий и записали свою DLL-библиотеку в папку System32.