Уязвимость в клиенте Steam, для которой нет решения, позволяет повысить привилегии в Windows.
Эксплойт, получивший название BrokenPipe, использует уязвимость службы клиента Steam для повышения прав обычного пользователя Windows до уровня NT AUTHORITY\SYSTEM без отображения запроса UAC или запроса учетных данных администратора.
Проблема была представлена на GitHub исследователем KillaBoi, который утверждает, что Valve была уведомлена об уязвимости еще в марте.
По словам исследователя, соответствующий отчет на HackerOne был помечен как дубликат, что и побудило его к решению опубликовать PoC в надежде ускорить исправление.
BrokenPipe нацелен на steamservice.exe, службу Windows, устанавливаемую вместе с клиентом Steam от Valve. Эта служба обычно запускается с правами SYSTEM и выполняет операции, требующие повышенных разрешений от имени клиента Steam.
Согласно техническому описанию, уязвимость связана с тем, как служба Steam Client обрабатывает подписанные VDF-файлы установочных скриптов.
Сам VDF-файл имеет легитимную подпись Valve, а корневой каталог установки, контролируемый вызывающей стороной и используемый службой, предположительно не покрывается этой подписью.
BrokenPipe подключается к службе клиента Steam без прав администратора и вызывает IClientInstallUtils::AddInstallScriptToWhiteList, предоставляя подлинный VDF-файл, подписанный Valve, вместе с контролируемым злоумышленником местом установки, что приводит к тому, что перемещенный лаунчер становится доверенным.
Затем эксплойт вызывает IClientInstallUtils::RunInstallScript, в результате чего служба Steam уровня SYSTEM обрабатывает VDF и запускает выбранный лаунчер со своими собственными привилегиями.
В конечном итоге PoC запускает C:\Windows\System32\cmd.exe от имени SYSTEM, а команда whoami/user возвращает локальный системный SID S-1-5-18.
Исследователь подчеркивает, что BrokenPipe не подделывает, не модифицирует и не обходит цифровую подпись Valve (VDF). Вместо этого он использует то, что описывается как пробел в том, что фактически охватывает эта подпись.
Тестирование проводилось на версии Steam 10.96.30.42 на современных 64-битных системах Windows 10 и Windows 11. Для работы не требуется аутентификация в Steam, для запуска какой-либо игры не обязательно запускать приложение.
Тем не менее, для использования BrokenPipe злоумышленнику уже требуется доступ к выполнению кода от имени локального пользователя, это ограничение не делает снижает критичности проблемы.
Распространенные вредоносные ПО, стилеры, RAT и инструменты постэксплуатации часто ищут локальные уязвимости для повышения привилегий после получения первоначального доступа.
Таким образом, уязвимость в таком распространенном ПО, как Steam, может обеспечить вредоносной ПО удобный путь от ограниченных пользовательских привилегий к полному контролю на уровне SYSTEM.
Valve по поводу обнаруженной уязвимости пока никак не реагирует. Зато полагаем, что киберподполье сделает это более оперативно. Но будем посмотреть.
Post #8614
8.11K