Kamrad.ru
 
 
дневники | кабинет | регистрация | календарь | участники | faq | правила | поиск | фотоальбом | каська | выйти
Kamrad.ru Kamrad.ru » Форумы общей тематики » Программы (software) » Как вам?
новая тема  ответить следующая тема | предыдущая тема
Автор
 
ft_koresh - offline ft_koresh
02-04-2002 09:33 URL сообщения      K-Mail    Профиль    Поиск    Контакт-лист   Редактировать
Камрад



Как вам?

Исследователь Radim "EliCZ" Picha (Bugs@EliCZ.cjb.net) обнаружил серьезную уязвимость в безопасности Windows NT и Windows 2000. Им была написана программа (exploit), демонстрирующая очивидную слабость локальной подсистемы безопасности NT/2000 и полность компроментирующая всю систему безопасности этих операционных систем.

Программа, названая DebPloit (от английских слов Debug и Exploit), использует "дыру" в подсистеме отладки (debugging subsystem) и позволяет ЛЮБОМУ пользователю с ЛЮБЫМИ привилегиями (даже пользователям входящим в группы Guests и Restricted Users), выполнять программный код с правами администратора и/или локальной системы. Другими словами, любой человек имеющий доступ к локальному компьютеру может стать администратором и делать на этом компьютере все, что угодно.

Принцип работы DebPloit: программа "просит" отладочную подсистему (smss.exe) вернуть описатель (handle) процесса, запущенного с правами администратора или локальной системы (в системе всегда находится большое кол-во процессов, работающих с правами локальной системы):

Становимся dbgss-клиентом (функция DbgUiConnectToDbg).
Подключаемся к LCP-порту DbgSsApiPort (ф-ция ZwConnectPort). Любой пользователь имеет доступ к этому порту!
Посылаем запрос на отладку процесса к dbgss, точно так же как это делает CreateProcess (ф- ция ZwRequestPort).
Ожидаем овета (CREATE_PROCESS_DEBUG_EVENT) от dbgss (ф-ция WaitForDebugEvent). Ответ будет содержать описатель (handle) процесса.
Переключам свой текущий контекст безопасности на контекст безопасности описателя, полученнго на шаге 4.
Исполняем код (например запускаем внешнюю программу) с правами выбранного для отладки процесса.

Загрузить DebPloit можно с сайта EliCZ`а - здесь (исходный код прилагается).

Что бы проверить свою систему на эту уязвимость, надо:

Загрузить DebPloit.zip и распаковать его на диск.
Выйти из системы и вновь зайти с минимальными правами (например используя учетную запись Guest).
Запустить программу ERunAsX.exe из командной строки и указать ей в качестве параметра любую внешнюю программу (например "ERunAsX.exe cmd").
Теперь программа, указаная на шаге 3, выполняется с правами локальной системы.

HOTFIX

Что бы закрыть эту "дыру" в безопасности NT/2000, я написал специальный драйвер DebPloitFix, который устанавливает новые права для LPC-порта DbgSsApiPort. После запуска DebPloitFix, доступ к DbgSsApiPort будет иметь только локальная система.

Загрузить DebPloitFix и исходный код к нему можно www.smartline.ru/software/DebPloitFix.zip] здесь [/url]

Текущее время: 13:00
новая тема  ответить следующая тема | предыдущая тема
 
Перейти:

версия для печати   отправить эту страницу по e-mail   подписаться на эту тему

 
Powered by: vBulletin Version 2.0.1
Copyright ©2000, 2001, Jelsoft Enterprises Limited.
Любое использование материалов сайта
возможно только с разрешения его администрации.


 

Рейтинг@Mail.ru
Рейтинг@Mail.ru