
Доказательство концепции эксплуатации локальной уязвимости повышения привилегий в драйвере принтера карт Datacard XPS через небезопасные разрешения файлов и перехват DLL, позволяющее выполнение кода на уровне SYSTEM.
Проверенный продукт: Datacard XPS Card Printer Driver Версия: <= 8.4
Описание: Приложение подвержено уязвимости локального повышения привилегий (LPE) из-за небезопасных разрешений файлов/папок при установке по умолчанию, которая предоставляет права полного контроля для всех над путем: C:\ProgramData\Datacard\XPS Card Printer\Service. Файлы и папки в пути "C:\ProgramData\Datacard" могут быть изменены непривилегированными пользователями, вредоносными процессами и/или злоумышленниками. После того как администратор устанавливает XPS Card Printer, который работает в контексте SYSTEM, он вызовет DEVOBJ.dll или CFGMGR32.dll в каталоге "C:\ProgramData\Datacard\XPS Card Printer\Service", куда пользователь с низкими привилегиями уже может заранее поместить вредоносную DLL, и которая не будет проверена или удалена при установке. Эти DLL не существуют, и поэтому программа установки выдаст "NOT FOUND". Если злоумышленник поместит DLL с именем DEVOBJ.dll или CFGMGR32.dll в этот каталог, программа установки непреднамеренно выполнит эти вредоносные DLL, когда служба попытается подключиться к принтеру карт, запуская их с привилегиями SYSTEM.
Эксплуатация POC:
1- С помощью пользователя с низкими привилегиями создайте каталог "C:\ProgramData\Datacard\XPS Card Printer\Service" и поместите желаемую DLL, переименовав ее в DEVOBJ.dll или CFGMGR32.dll
2- С помощью администратора выполните установку драйвера как обычно.
3- DLL-нагрузка будет выполнена как SYSTEM.