Подробности за атаката „Plug and Pwn“ показват, че инсталирането на драйвери за Windows Plug and Play може да доведе до изпълнение на код с права на NT AUTHORITY\SYSTEM. Техниката, публикувана от изследователите Алехандро Ернандо и Борха Мартинес, не разчита на zero-day уязвимост в ядрото на Windows. Вместо това тя злоупотребява с процеса, който Windows използва за откриване на хардуер, намиране на съответния пакет от доставчика, неговото изтегляне и изпълнение на компонентите за инсталиране с права SYSTEM.
Изследователите твърдят, че проблемът може да бъде предизвикан при свързване на USB устройство към компютър с Windows 11, дори когато няма вписан потребител.
Атакуващият може да емулира идентичност на устройство с помощта на FaceDancer. Windows разпознава неговия пакет с драйвери и стартира предоставения от доставчика код в привилегирован контекст на инсталация.
Техният физически конструиран прототип първоначално обвързва в рамките на верига слабости в софтуера на Sierra Wireless и Sony FeliCa; услуга на Sierra, работеща като SYSTEM, излага на риск именован канал, който позволява широк достъп.
Изследователите използват този примитив, за да променят DNS сървъра на целевата система. След това те емулират устройство на Sony, при което помощната програма за инсталиране извлича конфигурационни данни чрез некриптиран HTTP протокол.
Чрез пренасочване на домейна на Sony към контролиран от атакуващия сървър, те могат да предоставят специално изготвени файлове, които причиняват произволно записване на файлове с права SYSTEM.
DLL файл, поставен в директорията Windows System32, по-късно се зарежда чрез компонента на Sierra, което води до изпълнение на код с права SYSTEM преди влизане в системата.
„Plug and Pwn“ също така описва отдалечен вектор, наречен „NoPlug and Pwn“. Той е насочен към среди, където пренасочването на RDP USB е умишлено разрешено, включително някои внедрявания на VDI.
Стандартен RDP потребител може да изпрати фалшифицирани USB дескриптори по URBDRC канала, карайки отдалечения хост да открие устройство, което физически не съществува. Проектът използва пакет с драйвери на Intel RealSense като пример.
Според докладите, неговата инсталационна програма стартира изпълним файл от директория, в която стандартните потребители имат права за запис, което позволява странично зареждане на DLL, когато инсталацията се изпълнява като SYSTEM.
Изследователите също така пуснаха „PNP Simulate“ — инструмент за изследване на пътя на откриване и инсталиране на драйвери, без да е необходим физически хардуер.
Той създава виртуално откриваемо устройство, присвоява USB хардуерни идентификатори, прави заявки за наличност на пакети и по избор може да принуди устройството да премине към инсталационния процес.
Техните тестове подчертават важно разграничение: метаданните на Windows Update могат да идентифицират много съвпадащи пакети, но само по-малка част от тях са допустими за автоматично инсталиране чрез Plug and Play.
Друга демонстрация комбинира пакети на Wacom и Atheros. Услугата на Atheros може да извършва операции по регистъра с права SYSTEM под влиянието на атакуващия.
За разлика от нея, услугата на Wacom съдържа път, контролиран от регистъра, който може да стартира команден ред като SYSTEM. Финалната верига използва злонамерен DLL файл за наблюдение на печата, зареден от Windows Print Spooler след рестартиране, за да свърже двете поведения.
Изследването затвърждава извода, че подписаните драйвери и доверените канали за актуализация не са достатъчни сами по себе си. Предприятията трябва да ограничат достъпа на USB устройства, да изключат пренасочването на RDP USB, където е ненужно, да ограничат инсталирането на драйвери, да наблюдават за неочаквано изтегляне на пакети с драйвери и да преглеждат инсталаторите, услугите, помощните програми и привилегированите операции по регистъра на доставчиците.
Администраторите на Microsoft трябва особено внимателно да оценят VDI системите с разрешено USB пренасочване, тъй като стандартна отдалечена сесия може да изложи на риск привилегирован път в Plug and Play.