Опубликован PoC-код для эксплуатации уязвимости в Windows от 2006 года
Исследователь безопасности Дэвид Уэллс (David Wells) из Tenable опубликовал подробную информацию и PoC-код для эксплуатации неисправленной уязвимости повышения привилегий в Windows, связанной с инструментом администрирования PsExec.
Информация об уязвимости была раскрыта, поскольку Microsoft не выпустила исправление в течение 90 дней после уведомления. Microsoft не сообщила, когда и будет ли вообще исправлять уязвимость, но отметила что данный «метод требует от злоумышленника предварительно скомпрометировать целевое устройство для запуска вредоносного кода».
По словам Уэллса, уязвимость локального повышения привилегий может быть использована неадминистративным процессом для повышения привилегий до уровня SYSTEM, когда PsExec выполняется удаленно или локально на устройстве.
Как отметил эксперт, проблема затрагивает версии Windows от Windows XP до Windows 10 и версии PsExec от 1.7.2 (выпущенной в 2006 году) до 2.2 (последней).
PsExec, входящий в набор утилит Windows Sysinternals, позволяет пользователям выполнять процессы на удаленных системах Windows без необходимости установки стороннего программного обеспечения. Уэллс отметил, что PsExec содержит встроенный ресурс с именем PSEXESVC, который выполняется на удаленном компьютере с привилегиями SYSTEM при использовании клиента PsExec.
«Связь между клиентом PsExec и удаленной службой PSEXESVC осуществляется по именованным каналам. В частности, канал с именем \PSEXESVC отвечает за синтаксический анализ и выполнение команд клиента PsExec, таких как «какое приложение выполнять», «соответствующие данные командной строки» и прочее, — пояснил исследователь.
Хотя обычно пользователям с низким уровнем привилегий не предоставляется доступ для чтения/записи к этому каналу \PSEXESVC, злоумышленник может использовать метод, известный как pipe squatting, для достижения этой цели. При этом злоумышленник создает именованный канал \PSEXESVC перед выполнением процесса PSEXESVC, в результате чего получает доступ для чтения/записи к каналу, позволяя своему низкопривилегированному приложению взаимодействовать с PSEXESVC по этому каналу и запускаться с правами SYSTEM.
Если злоумышленник воспользуется уязвимостью, ему потребуется получить доступ с низким уровнем привилегий к целевой системе, развернуть свое вредоносное приложение, создать канал \PSEXESVC и дождаться, пока целевой пользователь выполнит PsExec (локально или удаленно). Последнее требование может снизить вероятность использования уязвимости в реальных атаках.