Подробности уязвимости в именованных каналах в Windows 2000 и MS SQL Server 2000

10.07.2003 | 15:22
Уязвимость обнаружена в именованных каналах в Windows 2000. Локальный пользователь может получить SYSTEM привилегии.

Определяя имя именованного канала, вместо файла, в качестве аргумента к расширенной сохраненной процедуре SQL Server xp_fileexist, пользователь может выполнить произвольный код с привилегиями SQL сервера. Это происходит из-за неправильного поведения системного вызова CreateFile и заимствование прав именных каналов в Windows. Уязвимость не ограничена SQL сервером, другие программы могут быть также уязвимы.

API вызов CreateFile используется для открытия и/или создания файлов, именованных каналов, почтовых слотов и много чего еще. В вызове не существует механизма ограничения открываемых ресурсов.

Большинство WIN32 сервисов выполняются под local system учетной записью и, так или иначе, обращаются к файлам. Если существует возможность определить, какой файл откроет специфическая служба, то можно выполнить роль учетной записи, под которой запущена эта служба.

Этот недостаток легко использовать в Microsoft SQL Server, так как в ней используется большое количество процедур, в которых мы можем определить имя используемого файла. Например, можно использовать процедуру xp_fileexist. Создавая именованный канал на сервере с произвольным именем и выполняя xp_fileexist с UNC именем именованного канала в качестве аргумента, атакующий выполнить роль пользователя, под которым запущен процесс SQL сервера.

Для устранения уязвимости необходимо установить Windows 2000 SP4.
безопасность, информация, защита информации, статьи, библиотека, аудит, администрирование, реагирование на инциденты, криптография, уязвимость
По материалам http://securitylab.ru
Лента новостей: FacebookLiveJournalЯндекс

Комментарии (0)
Оставьте комментарий:CaptchaОбновить проверочный код