Уязвимость обнаружена в в именованных каналах в 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 сервера.

Примеры:

В командной оболочке #1:
C:\>mssqlpipe.exe cmd.exe
Creating pipe: \\.\Pipe\atstake
Pipe created, waiting for connection
Connect to the database (with isql for example) and execute: 
xp_fileexist '\\SERVERNAME\pipe\atstake'
Затем в командной оболочке #2:
C:\>isql -U andreas
Password:
1> xp_fileexist '\\TEMP123\pipe\atstake'
2> go
File Exists File is a Directory Parent Directory Exists
----------- ------------------- -----------------------
1 0 1
После чего вернитесь в командную оболочку #1, которая теперь будет выполняться с SYSTEM привилегиями.

Уязвимость обнаружена в MS Windows 2000.

Для устранения уязвимости, установите Windows 2000 SP4.

  • Подпишись на наc в Telegram!

    Только важные новости и лучшие статьи

    Подписаться

  • Подписаться
    Уведомить о
    0 комментариев
    Межтекстовые Отзывы
    Посмотреть все комментарии