Два исследователя безопасности представили на хакерской конференции Defcon 34 вектор атаки под названием Plug and Pwn (откроется в новом окне), с помощью которого можно полностью скомпрометировать системы Windows. Для этого достаточно подключить к целевой системе определенные USB-устройства с поддержкой Plug and Play. Атака также должна быть выполнима без физического доступа через сеанс RDP. Взаимодействие с пользователем не требуется.
Как описывают исследователи на информационной странице (откроется в новом окне), злоумышленник может использовать Plug and Pwn для выполнения собственного кода с системными правами на целевой системе. Для этого заранее не требуются ни права администратора, ни вход пользователя в систему, ни какие-либо клики с его стороны.
«Каждый раз, когда USB-устройство подключается к компьютеру с Windows, операционная система может в фоновом режиме загрузить пакет от Microsoft и выполнить код производителя от имени NT AUTHORITY\SYSTEM», — объясняют исследователи. Этот процесс, который служит для установки дополнительного программного обеспечения для Plug-and-Play-устройств, используется атакой Plug and Pwn для получения оболочки с системными правами.
Через Plug and Play к системной оболочке
Двое исследователей, Алехандро Эрнандо и Борха Мартинес, демонстрируют на своем сайте атаку, занимающую около пяти минут, в том числе на примере двух эмулированных USB-устройств производителей Sierra и Sony. «Мы объединяем уязвимости различных производителей с низкой степенью серьезности (некоторые поставщики вообще не считают их уязвимостями), так что вместе они имеют более широкие последствия», — говорится в сообщении.
Устройство Sierra сначала используется для изменения стандартного DNS-сервера целевой системы Windows через неограниченный именованный канал (named pipe). Затем подключается устройство Sony, после чего система загружает по HTTP необходимые для работы программные компоненты с сервера производителя.
Однако, поскольку злоумышленник контролирует ранее установленный DNS-сервер, он может перенаправить запрос и подсунуть системе манипулируемое программное обеспечение. В своем примере исследователи использовали это для размещения собственного DLL-файла в каталоге System32. Затем они снова подключили устройство Sierra, после чего система загрузила DLL и открыла оболочку с системными правами.
Вмешательство в реестр защищает
Тот факт, что два USB-устройства в упомянутом примере были только эмулированы, уже показывает, что для атаки не обязательно требуется физический доступ. Фактически, в зависимости от конфигурации, она должна работать и через подключения к удаленному рабочему столу. В этом случае злоумышленник может локально на своем собственном ПК перенаправить подключенные USB-устройства на соответствующий RDP-сервер.
Сведения о возможных исправлениях или других мерах защиты от Plug and Pwn первооткрыватели на своей странице не приводят. Однако, как описывает исследователь безопасности Уилл Дорманн на Mastodon (откроется в новом окне), атака основана на так называемых соустановщиках (co-installers), которые можно заблокировать записью в реестре Windows (HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Device Installer\DisableCoInstallers = 1).
Похожая атака была известна еще в 2021 году в связи с программным обеспечением для настройки периферийных устройств Razer Synapse (откроется в новом окне). Тогда злоумышленники также могли выполнить собственный код с системными правами, подключив мышь или клавиатуру Razer. Причиной была уязвимость в конфигурационном программном обеспечении, которую Razer вскоре закрыла.