Изследователи по сигурността разкриха нови атаки от типа „Plug and Pwn“, които злоупотребяват с функцията Plug and Play в Windows, за да накарат операционната система да инсталира уязвим или несигурен софтуер от външни доставчици и по този начин да получат SYSTEM привилегии.
Проучването, представено на DEF CON 34 от изследователите Алехандро Ернандо и Борха Мартинес, експлоатира начина, по който Windows автоматично идентифицира нов свързан хардуер, намира съответстващите пакети с драйвери и инсталира софтуера на доставчика с правата на акаунта NT AUTHORITY\SYSTEM.
Чрез използване на софтуер за емулиране на USB устройства, изследователите са установили, че могат да принудят Windows да инсталира подписани пакети от доставчици, съдържащи компоненти с уязвимости или слабости, които могат да бъдат експлоатирани за придобиване на SYSTEM привилегии.
Някои от демонстрираните атаки не изискват никакво потребителско взаимодействие или влязъл в системата потребител, докато друга може да бъде изпълнена дистанционно през RDP, без към целевия компютър да е свързан какъвто и да е физически USB хардуер.
Windows поддържа функция, наречена „co-installers“ (съинсталатори), която автоматично изтегля и инсталира софтуер и драйвери на доставчика, когато в компютъра бъде поставено ново USB устройство.
През 2021 г. BleepingComputer докладва как тази функция е била злоупотребена заедно с уязвимост в Razer Synapse, за да се дадат SYSTEM привилегии на обикновен потребител в Windows, просто чрез включване на мишка или клавиатура Razer.
Когато устройство на Razer бъде свързано, Windows автоматично изтегля и стартира инсталатора на Razer Synapse със SYSTEM привилегии. Недостатък в инсталатора позволяваше на обикновен потребител да стартира PowerShell от инсталационния интерфейс, при което командният ред наследяваше привилегиите на инсталатора.
По онова време BleepingComputer тества уязвимостта и потвърди, че тя може да бъде използвана за получаване на SYSTEM привилегии за приблизително две минути.
Тогава анализаторът на уязвимости Уил Дорман предупреди, че подобни уязвимости вероятно присъстват и в друг софтуер, който се инсталира автоматично чрез Windows Plug and Play.
Ернандо сподели пред BleepingComputer, че „Plug and Pwn“ принадлежи към същото семейство атаки, но новото изследване се фокусира повече върху самия процес на инсталиране на устройства в Windows.
„Недостатъкът на Razer е от същото семейство. Разликата е, че ние се насочихме към самия път на инсталиране, а не към инсталатора на конкретен доставчик“, каза Ернандо.
„Някои от нашите вериги от уязвимости не изискват кликвания и работеща потребителска сесия, а една от тях се изпълнява през RDP изобщо без хардуер.“
Изследователите посочват, че основният проблем е, че когато Windows засече нов хардуер, той може автоматично да извлече свързан подписан пакет и да изпълни предоставените от доставчика компоненти като SYSTEM.
Този привилегирован път на инсталиране може да включва съинсталатори, услуги, поддържащи изпълними файлове и драйвери, без операционната система да показва съобщение от UAC (User Account Control).
От фалшиви USB устройства до отдалечени RDP атаки
Изследователите обясниха, че са използвали софтуерната рамка FaceDancer с хардуер Cynthion и GreatFET, свързани към малък компютър с Linux, за да емулират USB устройства.
FaceDancer позволява на изследователите да дефинират дескрипторите, интерфейсите, класовете устройства и крайните точки, които компютърът използва за идентифициране на свързаните устройства.
Свързването на хардуер, работещ с FaceDancer, към компютър може да накара операционната система да се държи така, сякаш е включено конкретно USB устройство.
Използвайки FaceDancer, изследователите са успели да накарат своя хардуер да изглежда пред Windows като конкретни USB устройства, което кара операционната система да разпознае емулирания хардуер и да намери и инсталира съответните пакети с драйвери от доставчика.
Някои вериги от атаки също така изискват емулираното устройство да се изключи и след това да се появи отново с различна идентичност.
„Някои от нашите вериги зависят от представянето на устройството като съставно (composite), така че Windows да зареди usbccgp.sys и да идентифицира всеки интерфейс самостоятелно. Точно това го кара да съвпадне с пакета на доставчика, вместо с вградения в системата драйвер“, обясни Ернандо.
„Също така трябва да извършим повторно разпознаване при поискване, премахвайки устройството и връщайки го с различна идентичност.“
В своята демонстрация за физическа атака без необходимост от потребителско взаимодействие (zero-click), изследователите са експлоатирали поведението в инсталационните пакети на Sierra Wireless и Sony FeliCa.
Атаката първо имитира устройство на Sierra Wireless, което кара Windows да инсталира софтуер, който може да бъде експлоатиран за промяна на DNS настройките на компютъра.
След това изследователите имитират устройство на Sony FeliCa, което кара Windows да инсталира допълнителен софтуер на Sony, който изтегля файлове по некриптирана връзка.
Чрез контролиране на DNS настройките на системата, атакуващите могат да пренасочат тези изтегляния към контролиран от тях сървър и да експлоатират недостатък в софтуера на Sony, за да поставят злонамерен код в системата със SYSTEM привилегии.
Накрая те отново имитират устройството на Sierra, което кара Windows да зареди злонамерения код и позволява на атакуващите да отворят обратна връзка (reverse shell) със SYSTEM привилегии.
Изследователите демонстрираха тази верига срещу напълно обновен компютър с Windows 11 без влязъл потребител, като посочиха, че цялата атака отнема около пет минути.