DEBPLOIT - локальный руткит под Win2k Андрей Ковалев ака Drone Спецвыпуск Xakep, номер #025, стр. 025-054-1 (drone@nm.ru), http://funmp3.hoha.ru Я расскажу об одном маленьком, но очень полезном эксплойте, который позволяет выполнять любую программу под правами администратора в операционных системах семейства Windows NT. Этот незаменимый для "легкого взлома" эксплойт носит название DebPloit. Название произошло от двух слов: Debug & Exploit. Сейчас станет ясно, почему. КАК ОНО РАБОТАЕТ? Дело в том, что некоторое время назад некто EliCZ обнаружил очень серьезную уязвимость в подсистеме отладки (Debugging SubSystem) NT-шки. Принцип работы эксплойта следующий: 1. Надо стать dbgss-клиентом (функция DbgUiConnectToDbg). 2. Далее подключаемся к DbgSsApiPort LCP-порту (используя функцию ZwConnectPort). Любой юзер с любыми правами может это сделать! 3. Посылаем запрос на отладку процесса к dbgss точно так же, как это делает CreateProcess (функция ZwRequestPort). 4. Ожидаем ответа CREATE_PROCESS_DEBUG_EVENT от dbgss (функция WaitForDebugEvent). Ответ будет содержать описатель (handle) процесса. 5. Переключаем свой текущий уровень безопасности на контекст безопасности, полученный на шаге 4. 6. Исполняем код (запускаем внешнюю программу) с правами выбранного для отладки процесса. 7. При выгрузке отладчика (например при LogOff) наш процесс также выгружается, как будто он был просто отлажен, как обычно. ХИНТСЫ Для тех, кто захочет поподробнее разобраться в принципе работы эксплойта, у меня есть хорошая новость. В комплект поставки DebPloit-а, помимо откомпилированных экзешников (адрес, с которого можно скачать эксплойт, следующий: http://www.anticracking.sk/EliCZ/bugs/DebPloit.zip), входят также и исходники! Так что если захочешь сделать, например, чтобы AVP, как только увидит эксплойт, не начинал кричать: "Внимание! Обнаружен Вирус Exploit.WinNT.DebPloit!", то достаточно лишь немного изменить исходный код, и глупый AVP больше не найдет никакого "вируса". Или же если вдруг ты захочешь придать эксплойту Gui-интерфейс... Да мало ли еще для чего? Пожалуйста! Исходники под рукой. Данный эксплойт полностью работоспособен в таких операционных системах, как MS Windows NT 4.0 и MS Windows 2000. К сожалению, Microsoft уже выпустила Update, который устраняет данную уязвимость, но ведь не факт, что все администраторы вовремя обновляют свои операционные системы (представь себе, что значит для админа поставить один маленький хотфикс на N компов клуба, аудитории или офиса). ИСПОЛЬЗУЕМ УЯЗВИМОСТЬ Перво-наперво разархивируем zip-архив и посмотрим, что интересного лежит внутри. Папки DPfix и Hotfix нам не нужны. В них находятся комментарии, с помощью которых можно залатать дыру. А вот в директории Examples лежит то, что нам надо: сам откомпилированный эксплойт (ERunAsX.exe) и еще одна программа, позволяющая проверить систему на уязвимость(IsAvailable.exe), которую мы прямо сейчас и запустим. Если система уязвима, то программа сразу после запуска выдаст строчку "DebPloit is Avaiable!". Если так произошло, то все в порядке! Можно считать, что права администратора уже у нас в кармане ;). Если же тебе не повезло, то это может означать лишь то, что системный администратор не такой лох, как ты думал, и придется искать другие пути "легкого взлома" ;). |