На главную | Содержание | Назад | Вперёд
Наши друзья

 

 

Предварительный сбор данных

Смомента интеграции с операционной системой Windows 2000 программа Terminal Server (Т5)доказала свои возможности по обслуживанию Windons-приложений и трансляции рабочего стола Windows на удаленные устройства. В реализации TS для Windows Server 2003 осуществлены некоторые серьезные изменения для серверной части и внесены усовершенствования в программы клиента и сам протокол (по сравнению с Windows ХР).
Программа TS вполне может стать привлекательным решением для удаленного администрирования, но как насчет безопасности? В данной главе мы рассмотрим базовые функции программы TS с точки зрения безопасности, будут описаны вопросы идентификации и ин­вентаризации для TS, вопросы, связанные с неверными реализациями сервисов TS, описаны известные атаки на TS, основы защиты и управления сервисами TS в сетевом окружении.
Компания Microsoft использует название "Terminal Services" (терминальные службы) для обозначения набора технологий, работающих на основе модели "клиент-сервер". "Terminal Server" (терминальный сервер) конкретно обозначает серверный компонент, который ожидает запросов на соединение. В этом разделе мы кратко рассмотрим полный набор технологий, прежде чем перейти к подробному изучению безопасности сервера.
До выпуска программы Terminal Server в операционной системе Windows не было возможности удаленно запускать код в "процессорном пространстве" сервера. За исключением некоторых утилит из пакета Resource Kit, например программ wsremote, а также программ других поставщиков, например psexec и VNC (см. главу 7, "Переход к интерактивному режиму работы'1), в системе не существовало средств для интерактивного доступа через сеть. Например, если злоумышленник получил удаленный доступ с правами пользователя, то в ольшинстве случаев ему будут доступны только совместно используемые ресурсы, он сможет обращаться к файлам, но не будет иметь возможности запускать приложения в контексте удаленного сервера. Даже с правами администратора для этого потребуется возможность запустить планировщик, чтобы получить удаленный доступ к консоли (как это сделать, описано в главе 7, "Переход к интерактивному режиму работы").
С появлением программы TS ситуация радикально изменилась, значение удаленного взлома и расширения локальных привилегий В окружении Windows перешло на новый уровень. Теперь в административном режиме (administrative mode) любой злоумышленник может попытаться выполнить администрирование удаленной системы при запущенной службе TS. В режиме сервера приложений относительно непривилегированные пользователи могут интерактивно запускать приложения из любого удаленного места. Таким образом, атаки по расширению привилегий, такие как Debploit (см. главу 6, "Расширение привилегий"), теперь позволяют любому пользователю, которому разрешены сеансы работы с программой TS, стать членом "вожделенной" группы Admins trators.
Очевидно, что возможности программы TS стали великим искушением и для пользователей, и для хакеров. Перед тем как обсудить конкретные примеры неправильной эксплуатации программы Terminal Server, рассмотрим, из каких основных компонентов она состоит:
▼ сервер;
■ протокол RDP (Remote Desktop Protocol); •* клиенты.
Базовые сведения о программе Terminal Server
Сервер i

Программа TS является интегрированной частью всех систем Windows 2000 Server (и более поздних версий), хотя она и отключена по умолчанию как в Windows 2000, так и в Windows Server 2003, По умолчанию сервер TS ожидает подключения к портуЗЗВЭ (но номер порта легко изменить на другой, позже будет описано, как это сделать).
В Windows 2000 программа TS может работать в одном из двух режимов: Remote Administration (Удаленное администрирование) и Application Server (Сервер приложений). В Windows Server 2003 программа TS доступна в виде двух отдельно настраиваемых компонентов: Remote Desktop for Administration (Дистанционное управление рабочим столом) и Terminal Services (Службы терминалов).
Remote Desktop for Administration
-
Для активации компонента Remote Desktop for Administration (который назывался режимом удаленного администрирования в Windows 2000) нужно на панели управления открыть компонент System (Система) и, как показано ниже, открыть вкладку Remote (Удаленное использование). Не потребуется никакого дополнительного программного обеспечения. Удаленное администрирование по-прежнему ограничивается двумя одновременными подключениями к системе, но теперь администраторы могут удаленно подключаться к действи­тельной консоли сервера. Это устраняет недостаток в системах Windows 2000— программы, которые не могли работать в виртуальном сеансе, так как взаимодействовали только с "session 0", теперь смогут работать удаленно.
Terminal Services
Для активации компонента Terminal Service (режим сервера приложений (Server Application) в Windows 2000), необходимо подключить компонент TS, открыв на панели управления компонент Add/Remove Programs (Установка и удаление программ)^Windows Components (Установка компонентов Windows). Компонент Terminal Services можно устанавливать только на клиентах Windows Serve 2003 и использовать только после активизации необходимых лицензий (TS CAL — Terminal Server Client Access License).
Протокол RDP (Remote Desktop Protocol)
Данные передаются между клиентом и сервером по протоколу Remote Desktop Protocol (RDP) от Microsoft, который основан на протоколе TCP. Для обеспечения защиты передаваемых от точки к точке данных протокол RDP поддерживает три уровня шифрования: 40, 56 или 128-битовое шифрование по алгоритму RC4. Реализация н Windows 2000 версии RDP 5.0 представляет впечатляющее расширение базовых функций и свойств по сравнению с предылу-
щими реализациями протокола RDP-4 в системах Windows NT. В Windows ХР и Server 2003 используются версии RDP 5.1 и 5.2 соответственно, при этом в протокол внесены небольшие изменения, которые прежде всего направлены на улучшение производительности и удобства использования.
Клиенты
В системе Windows ХР компанией Microsoft был существенно усовершенствован клиент служб терминален Win32 Terminal Services Ciicnt, который получил новое название Remote Desktop Connection (RDC— Подключение к удаленному рабочему столу). Клиент RDC обратно совместим со всеми предыдущими версиями TS (включая NT4 Terminal Server Edition!. Теперь этот клиент предоставляет наиболее предпочтительный способ подключения к TS. По умолчанию клиент RDC постарается установить 128-битовый зашифрованный канал связи с сервером, но снижает требования к шифрованию, когда сервер не поддерживает такого режима. Клиент RDC предоставляется бесплатно компанией Microsoft, его можно скачать, обратившись по адресу, который указан в разделе "Дополнительная литература И ссыл­ки" в конце этой главы. Поэтому в дальнейшем мы сосредоточим наши исследования именно на этом клиенте. Окно клиента RDC приведено на 1. идним из наиоолее масштаоных изменении и кии стала настройка L-iient Resource Redirection (Перенапрааление ресурсов клиента). Эта возможность позволяет доступным для клиента ресурсам быть доступными и на сервере. Например, перенаправление File System (Файловая система)
позволяет смонтировать на сервере диски клиентской машины, включая диски, открытые по сети при использовании сеансов связи с сервером. Таким образом пользователи могут открывать или сохранять файлы на жестких дисках своего компьютера, кроме открытия и сохранения файлов на сервере. Для RDC разрешается перенаправление и других ресурсов, например портов, принтеров, аудиоустройсгя, буферов обмена, информации смарт-карт (ключевой недостаток в Windows 2000), сочетаний клавиш Windows (разумеется, кроме <CTRL+ALT+DEL>) и данных часового пояса. Как и большинство свойств, эти возможности значительно расширили диапазон действия службы TS, и мы уверены, что они еше покажут свою "оборотную сторону медали" в руках неосторожных систем н ьк адм ин и стр аторо в.
Remote Desktop Web Connection
Кроме поддержки Win32, клиент RDC еще доступен как Remote Desktop Web Connection (RDWC) — улучшенный объект ActiveX control/COM, который может быть встроен в Web-страницы для обеспечения доступа к TS в окне браузера. В системе Windows 2000 этот клиент назывался Terminal Services Advanced Client (TSAC).
У многих пользователей сложилось ошибочное представление, что клиент RDWC/TSAC реализует RDP посредством HTTP. Это не так. При использовании RDWC/TSAC Wcb-сернер предоставляет простую HTML-форму, которая задает разрешение экрана и IP-адрес целевой TS-системы. Как правило, пользователи подключаются к этой форме на Web-сервере, которая активирует элемент управления ActiveX RDWC/TSAC в браузере (клиент RDWC/TSAC может быть по желанию загружен с Web-сервера, если он еще не установлен на клиенте). Клиент RDWC/TSAC реализует 32-битовый TS-клиент в браузере и подключается к целевому серверу TS посредством протокола RDP через ТСР-порт 3389. Таким образом, соединение между RDWC/TSAC и TS не реализуется с помощью протокола HTTP или HTTPS, а устанавливается как обычный RDP-кзнал через ТСР-порт 3389.
на заметку
Клиент RDWC/TSAC может подключаться только через ТСР-порт 3389, а не через какой-либо другой порт.
Унаследованные клиенты
В перечень унаследованных клиентов TS входит клиент Terminal Services (доступен как отдельные 16-битовые и 32-битовые исполняемые файлы, устанавливаемые с помощью пакета MS Installer или MSI), клиент Terminal Services Advanced Client (TSAC) и интегрируемое приложение MMC.
■ - on к. эрдомяМВ

 

На главную | Содержание | Назад | Вперёд
 
Яндекс.Метрика