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

 

 

Выявление и инвентаризация серверов TS

Существует несколько способов выявления и инвентаризации серверов TS. Здесь описаны наиболее распространенные из них.
Поисковые машины
Как уже было сказано в главе 3,, "Предварительный сбор данных и сканирование", поисковые машины индексируют в сети Internet даже те вещи, которые лучше было бы оставить непроиндексироваиными. По умолчанию ActiveX-клиент TS устанавливается в каталог С: \ Windows \ Web\TsWeb и по умолчанию этот каталог автоматически предоставляется в совместное пользование как Web-сайт I IS. Этот Web-сайт содержит единый образец файла TSWeb\default.htm, в который встроен клиент RDWC/TSAC. Хитрый хакер может для
поиска в Internet сервисов TS, доступных через HTTP, воспользоваться довольно интересным методом. Для этого в какую-нибудь поисковую систему необходимо ввести слова "TSWeb\default.htm", в результате она будет искать в сети Internet используемую по умолча­нию форму для аутентификации в TS через Web. На 2 показаны результаты поиска этой строки с помощью поискового сервера Google. com.
О Измените имя Web-формы аутентификации для TS
То, что легко найти через поисковую систему, можно с такой же легкостью и спрятать. Измените имя Web-формы аутентификации сервера TS и проверьте, чтобы на страницах вашего Web-узла не встречались слова "TSWeb\default.htm".
■ г,.
Выявление сервера TS по используемому порту
TCP 3389
В конфигурации по умолчанию сервер Terminal Server ожидает подключения к ТСР-порту 3389. Хакер может обнаружить доступную службу с помощью простого сканирования портов для любого диапазона IP-адресов. Если на сервере обнаружится эта служба в конфи­гурации по умолчанию, то чтобы получить приглашение на ввод имени пользователя к пароля, злоумышленнику останется только запустить свой клиент сервера Terminal Server. Основная мера противодействия в борьбе с такими атаками — усложнить идентификацию сервера TS по используемому порту.

О Настройка порта для подключения к программе Terminal Server
Номер порта, используемый программой TS по умолчанию, можно изменить используя параметр реестра.
\HKLM\Systein\CurreiitContro] Sec\Control\Terminal Server\ Win Stations', RDP-Тер Value : PortNumber REG_DWORD=3389
При этом необходимо изменить и номер порта, через который подключаются клиентские программы. Чтобы клиент мог подключаться к службе через нестандартный порт, потребуется использовать один из двух способов:
▼ перенаправление портой (см. главу 8, "Расширение сферы влияния"); * изменение порта получателя, используемого клиентом.
Чтобы изменить порт получателя клиента, просто откройте RDC, щелкните на кнопке Op-lions (Параметры), см. 1, затем на вкладке General (Общие) в разделе Connection Settings (Параметры соединений) щелкните на кнопке Save As... (Сохранить как). Сохраните соединение под любым именем (с расширением файла . rpd) и затем откройте сохраненный файл в текстовом редакторе. Добавьте следующую строку как первую строку этого файла. Server Рогс=ХХХХ
ХХХХ — это номер порта, к которому служба TS будет ожидать запросов на соединение. Хотя этот метод относится к тем, о которых говорят "что не видно, то защищено", но все же он позволяет скрыть запушенную службу TS (на ТСР-порту 3389) при сканировании портов. По нашему опыту, этот способ позволяет предотвратить от 80 до 90 % атак на службу TS.
Клиент RDWC/TSAC может использовать не топько ТСР-порт 3389 для доступа к службе Terminal Service. Для использования порта с другим номером можно отредактировать файл connect. asp, хранящийся в каталоге /TSWeb и ввести следующую строку перед указанием метода подключения
MsTsc.AdvancedSettings2.RDPPort = КХХХХ
где хххх — это номер порта, с которым нужно установить соединение. Благодарим Эрика Бирхольца (Erik Birkholz) за предоставленные сведения.
Полное сканирование портов каждой системы поможет обнаружить открытый порт, но чтобы убедиться, что к порту подключен действительно сервер Terminal Server, потребуется передавать запрос на сеанс работы с этой службой (т.е. обнаружить себя). Стандартные сканеры портов, которые просто отерывают порты, устанавливают сеанс работы telnet или исследуют заголовки, предоставляемые службами, не смогут однозначно определить службу/порт как Terminal Server. В результате поиск скрытых серверов Terminal Server в организации становится довольно сложной задачей. Еще более усложняет ситуацию то, что лаже если служба ожидает подключения, она не регистрируется в службе распределителя конечной точки MS RPC End-point Mapper (TCP\UDP-nopT 135), поэтому использование хакером программы rpedumps не Принесет никакой пользы (подробнее об инвентаризации распределителя конечной точки читайте в главе 4, "Инвентаризация").
Теперь рассмотрим несколько методов обнаружения "перенесенных" портов программы Terminal Server.
ProbeTS
Написанная Тимом Мулленом (Tim Mullen; Tho г ©hammer of god. com) программа ProbeTS предназначена для выявления скрытых служб TS в локальной сети. Эта программа сканирует всю
Hft ЗАМЕТКУ
сеть класса Си запрашивает службу RPC (ТСР-порт 135) по каждому IP-адресу как прошедший аутентификацию пользователь TS (необходимо знание аутентификационных данных учетной записи). Программа ProbeTS использует функцию WTSOpenServer из библиотеки wtsapi32. lib. В сзультате происходит обращение к службе \pipe\Ctx__WinStation_API_service через RPC (с использованием ресурса IPCS). Если запушены службы Terminal Services, то программа Terminal Server аутентифицирует вас как действительного пользователя, после чего передаст дескриптор службы через RPC.
Поскольку всю работу проделывает функция API WTSOpenServer, хакеру не нужно знать, какой порт используется службой. Если будет возвращен дескриптор, значит, на сервере работает программа Terminal Server. Загвоздка в том, что для получения дескриптора требуется пройти аутентификацию сервера (замечание: если аутентификация не будет пройдена успешно, то будет выдано сообщение "по server found" (сервер не найден) даже В том случае, если служба Terminal Server доступна). Обычно сделать это может только администратор или пользователь программы Terminal Server. Тем не менее, это достаточно эффективный способ сканирования подсети организации для поиска запушенных служб Terminal Server.
TSEnum
Программа TSEnum. ехе обладает более широкими возможностями и использует другой метод инвентаризации служб Terminal Server. Когда сервер запускается, он регистрируется через главный браузер сети. Часть этой регистрации включает значение dword, обозначающее тип сервера в соответствии со структурой Server_lnf о, которая используется для определения типа сервера. Программа TSEnum вызывает функцию API NetServerEnum и запрашивает данные структуры Server_lnfo_10l. Даже если порт сервера был изменен, то регистрация все равно происходит, И программе TSEnum будет передан список всех известных главному браузеру серверов Terminal Server. Фактически, TSEnum получит список всех известных главному браузеру серверов, включая состояние его контроллера и Другие доступные службы приложений, такие как SQLServer и, конечно, Terminal Services.
Кроме того, утилита TSEnum позволяет передать запрос удаленной машине, которая, в вою очередь, передаст запрос своему главному браузеру. В результате можно получить список всех серверов, которые "видит" удаленная система, таким образом хакер с одной машины может найти все серверы домена или рабочей группы. Все, что требуется для этого, — только доступ к порту 139 или 445. Такой метод не требует специальной аутентификации и работает, лаже если на атакуемой системе параметр RestrictAnonymous установлен в значение 1 (см. главу4, "Инвентаризация").
Terminal Services Manager (tsadmin)
В операционной системе Windows Server 2003 появилось новое средство для сбора информации о службе TS в доверенных доменах, включая данные обо всех сеансах, пользователях и процессах сервера TS. Эта программа называется Terminal Services Manager (tsadmin. ехе) и ее можно использовать для управления некоторыми настройками службы TS. Да, она требует наличия некоторых привилегий при доступе к атакуемому компьютеру (злоумышленник должен иметь доступ к машине из доверенного домена), но возможность опроса всех серверов TS в доверенных доменах является для хакера кратчайший путем доступа к системам с возможностью удаленного управления. На 3 показано окно программы Terminal Services Manager во время опроса систем на предмет установленного сервера TS.
Инвентаризация доверенных доменов с помощью приглашения TS
Получить ценную информацию об инфраструктуре атакуемой сета можно с помощью выявления приглашений на ввод команды сервера TS. Как показано на 4, при подключении к серверу TS пользователю выдается стандартное диалоговое окно аутентификации, в котором реализован элемент управления в виде раскрывающегося списка доступных доменов (обозначен "Log On То").
На 4 изображено окно RDC для TS-сервера, установленного на системе Windows Server2003, которая входит в домен VEGAS2 (его название сохранено в раскрывающемся списке). Это незначительная утечка информации и мы не рекомендуем отказываться от этой возможности в целях безопасности. Единственной мерой защиты является выведение всех серверов TS из членов домена, но мы знаем, что это нереально и лишает всех преимуществ работы в домене.

 

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