Носов В.В. "Технології аудиту інформаційних систем"
Лекція 7. Інвентаризація імен NetBIOS та RPC-служб Windows
Навчальні питання
1.Стек протоколів NetBIOS/SMB
2.Інвентаризація служби імен NetBIOS
3.Інвентаризація RPC-служб
Час: 2 акад. г.
Література
1.Компьютерные сети. Принципы, технологии, протоколы / В. Г. Олифер, Н. А. Олифер. — СПб: Издательство «Питер», 1999. — 672 с.: ил.
2.Скрембрей Джоел, Мак-Клар Стюарт. Секреты хакеров. Безопасность Windows Server 2003 - готовые решения.: Пер. с англ. - М.: Издательский дом "Вильямс", 2004. с.
3.Мак-Клар Стюарт, Скрембрей Джоел, Курц Джордж. Секреты хакеров.
Безопасность сетей – готовые решения. :Пер. с англ. – М.: Издательский дом
"Вильямс", 2002. с. 87 – 117.
Вступ
В этой лекции рассмотрим методы и средства сбора информации об узлах сети Windows. Сетевые протоколы, используемые ОС Windows, позволяют собрать больше информации. Будем предполагать, что злоумышленник имеет доступ к корпоративной локальной сети Windows или извне, или изнутри.
Сбор информации в сети Windows часто называют инвентаризацией.
Инвентаризация подразумевает непосредственное соединение с системами и выполнение прямых запросов. Соответственно, злоумышленник может (и должен!) входить в систему или должен быть зарегистрирован в ней каким-нибудь иным образом. Покажем, что нужно искать в журналах аудита и как, при возможности, заблокировать такие действия.
На первый взгляд информация, собранная при инвентаризации, может показаться безвредной. Но получение данных через бреши в системе защиты может оказаться губительным для всей стратегии безопасности. В общем случае, как только злоумышленник получает действительное имя пользователя или доступ к совместно используемому ресурсу, подбор соответствующего пароля или выявление уязвимого места, связанного с протоколом совместного использования ресурса, становится лишь вопросом времени. Закрывая легко обнаруживаемые бреши в системе защиты, вы лишаете злоумышленника основной добычи.
Описание инвентаризации систем под управлением ОС Windows сгруппировано по следующим темам.
∙Инвентаризация сети NetBIOS
∙Инвентаризация служб удаленного вызова процедур (MS RFC— Microsoft Remote Procedure Call)
∙Инвентаризация служб SMB (Server Message Block — блок сообщений сервера)
∙Инвентаризация служб DNS
∙Инвентаризация SNMP
∙Инвентаризация служб Active Directory
Для начала проанализируем уже собранную информацию, чтобы разобраться, с чего начать.
Различные способы инвентаризации обычно направлены на изучение конкретных служб, поэтому их необходимо использовать в соответствии с информацией, полученной при сканировании портов (см., "Предварительный сбор данных и сканирование"). В табл. 1 перечислены службы, которые в основном проверяют хакеры при инвентаризации.
|
Таблица 1. Службы Windows, |
|
|
используемые хакерами для инвентаризации |
|
Порт |
Сервис |
|
TCP 53 |
Перенос зоны DNS |
|
TCP 135 |
Распределитель адресата RPC |
|
UDP 137 |
Служба имен NetBIOS (NBNS) |
|
TCP 139 |
Служба сеансов NetBIOS (SMB поверх NetBIOS) |
|
TCP 445 |
SMB поверх TCP (Direct Host) |
|
UDP 161 |
Протокол SNMP (Simple Network Management Protocol) |
|
1
|
Носов В.В. "Технології аудиту інформаційних систем" |
|
TCP/UDP 389 |
Протокол LDАР (Lightweight Directory Access Protocol) |
|
TCP/UDP 3268 |
Служба глобального каталога (Global Catalog Service) |
|
Сначала рассмотрим общую характеристику стека протоколов NetBIOS/SMB, которые используются в сетях Windows.
Далее рассмотрим атаки на эти службы, и что самое главное — без необходимости аутентификации в системе.
1. Стек протоколів NetBIOS/SMB
Этот стек широко используется в продуктах компаний IBM и Microsoft. На физическом и канальном уровнях этого стека используются все наиболее распространенные протоколы Ethernet, Token Ring, FDDI и другие. На верхних уровнях работают протоколы NetBEUI и SMB.
Протокол NetBIOS (Network Basic Input/Output System) появился в 1984 году как сетевое расширение стандартных функций базовой системы ввода/вывода (BIOS) IBM PC для сетевой программы PC Network фирмы IBM. В дальнейшем этот протокол был заменен так называемым протоколом расширенного пользовательского интерфейса NetBEUI - NetBIOS Extended User Interface. Для обеспечения совместимости приложений в качестве интерфейса к протоколу NetBEUI был сохранен интерфейс NetBIOS. Протокол NetBEUI разрабатывался как эффективный протокол, потребляющий немного ресурсов и предназначенный для сетей, насчитывающих не более 200 рабочих станций. Этот протокол содержит много полезных сетевых функций, которые можно отнести к сетевому, транспортному и сеансовому уровням модели OSI, однако с его помощью невозможна маршрутизация пакетов. Это ограничивает применение протокола NetBEUI локальными сетями, не разделенными на подсети, и делает невозможным его использование в составных сетях. Некоторые ограничения NetBEUI снимаются реализацией этого протокола NBF (NetBEUI Frame), которая включена в операционную систему Microsoft Windows NT.
NetBIOS обеспечивает:
-Регистрацию и проверку сетевых имен
-Установление и разрыв соединений
-Cвязь с гарантированной доставкой информации
-Связь с негарантированной доставкой информации
-Поддержку управления и мониторинга драйвера и сетевой карты
Протокол SMB (Server Message Block) выполняет функции сеансового, представительного и прикладного уровней. На основе SMB реализуется файловая служба, а также службы печати и передачи сообщений между приложениями.
Рис. 1. Соответствие популярных стеков протоколов модели OSI
На рис. 1 показано соответствие некоторых, наиболее популярных протоколов уровням модели OSI. Часто это соответствие весьма условно, так как модель OSI - это только руководство к действию, причем достаточно общее, а конкретные протоколы разрабатывались для решения специфических задач, причем многие из них появились до разработки модели OSI. В большинстве случаев разработчики стеков отдавали предпочтение скорости работы сети в ущерб модульности - ни один стек, кроме стека OSI, не разбит на семь уровней. Чаще всего в стеке явно выделяются 3-4 уровня: уровень сетевых адаптеров, в котором
2
Носов В.В. "Технології аудиту інформаційних систем"
реализуются протоколы физического и канального уровней, сетевой уровень, транспортный уровень и уровень служб, вбирающий в себя функции сеансового, представительного и прикладного уровней.
Имена NetBIOS.
Имя NetBIOS - это уникальный 16-байтный адрес, использующийся для идентификации NetBIOS ресурса в сети.
NetBIOS имена используются всеми сетевыми сервисами Windows NT для их идентификации.
Все имена NetBIOS состоят из 15 символов имени плюс 16-ый символ, идентифицирующий сервис. Имена NetBIOS не используются TCP/IP
2. Інвентаризація служби імен NetBIOS
Для замены IP-адресов машин их именами NetBIOS можно воспользоваться информацией, полученной при исследовании сети с помощью ping-запросов (см., "Предварительный сбор данных и сканирование"). В большинстве случаев IP-адреса и имена NetBIOS взаимозаменяемы (например, адрес \\192.168.202.5 может быть эквивалентом имени \\SERVER_NAME). Для удобства злоумышленник может в своей системе добавить соответствующие значения в файл
%systemroot%\system32\drivers\etc\LMHOSTS с добавлением синтаксиса #PRE, после чего выполнить из командной строки команду nbtstat -R, чтобы перезагрузить таблицу имен. После этой операции при атаках можно использовать имена NetBIOS, которые будут преобразованы в IР-адреса, сохраненные в файле LMHOSTS.
Будьте осторожны при организации сеанса работы с использованием IP-адресов вместо имен NetBIOS. Все последующие команды необходимо запускать для конкретной удаленной машины. Например, если вы установили "нулевой" сеанс (null session) по адресу \\192.168.2.5, а затем попытались извлечь информацию, используя имя NetBIOS той же системы, то ничего не получится. Windows запоминает, какое имя было указано, даже если пользователь сам это забыл!
Отключите и заблокируйте эти службы!
Конечно же, единственной мерой противодействия относительно любого уязвимого места является отключение служб, перечисленных в табл. 1. Покажем, насколько уязвимыми становятся системы, в которых не отключены эти службы по техническим причинам или из-за принятой политики. Также продемонстрируем специальные меры для уменьшения риска, который появляется при запуске этих служб. Если все-таки перечисленные выше службы работают в вашей системе, а особенно службы на основе протокола SMB (поверх NetBIOS или поверх TCP), то такая система всегда подвергается определенному риску компрометации.
Конечно, не менее важно заблокировать доступ к службам через внешние сетевые шлюзы. Эти службы в своем большинстве разрабатывались для работы в локальной сети без проверки прав доступа. Если они доступны через Internet, то взлом сети становится вопросом времени — это почти гарантировано.
И последним в списке, но не последним по значению является необходимость создания эшелонированной системы защиты. Доступ к службам необходимо ограничивать и на уровне отдельных хостов. Отличным средством для достижения этой цели является применение программного брандмауэра
Internet Connection Firewall (ICF), который входит в состав последних версий Windows.
Первое, что удаленный взломщик попытается сделать в хорошо защищенной сети систем Windows Server 2003, — это узнать конфигурацию сети. Поскольку системы Windows Server 2003 все еще очень зависимы от службы имен NetBIOS (NBNS, которая использует UDP-порт 137), этот процесс иногда называется "инвентаризация сети NetBIOS". Доступно множество средств и методов обмена информацией по протоколу NetBIOS, большинство из которых встроены в сами операционные системы семейства Windows NT. Их и опишем сначала, а затем перейдем к средствам, разработанными другими компаниями.
Инвентаризация доменов с помощью команды net view
Популярность 9
Простота 10
3
|
|
|
Носов В.В. "Технології аудиту інформаційних систем" |
|
Опасность |
2 |
|
|
|
Степень риска |
7 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Популярность - |
частота использования против реальных целей: 1 - очень редко, 10 - широко |
||
|
|
распространено |
|
|
|
Простота - |
уровень знаний, необходимый для проведения атаки: 1 -отсутствие навыков, |
|
|
|
|
10 - опытный программист |
|
|
|
Опасность - |
потенциальный ущерб от атаки: 1 - потеря незначительной информации, 10 - |
|
|
|
|
получения прав суперпользователя |
|
|
|
Степень риска - |
вероятность использования атаки: Популярность×Простота×Опасность/1000 |
|
|
|
|
(или среднее от вышеуказанных показателей) |
|
Команда net view — отличный пример встроенного средства инвентаризации. Это очень простая утилита, запускаемая из командной строки, которая выводит список всех доменов сети и всех хостов этих доменов. Ниже показано, как можно инвентаризовать все домены сети, используя команду net view.
Можно обойтись и без использования командной строки — программа Network Neighborhood (Сетевое окружение) предоставляет ту же информацию, что и приведенные команды. Но из-за низкой скорости обновления списков в этой программе использование утилит командной строки является более удобным и быстрым.
Получение таблицы имен NetBIOS с помощью программ nbtstat и nbtscan
Популярность |
8 |
|
|
Простота |
9 |
Опасность |
1 |
Степень риска |
6 |
|
|
Ещё одна удобная встроенная программа nbtstat позволяет получить из удаленной системы таблицу имен NetBIOS, нз которой, как видно из следующего примера, содержится огромное количество информации.
4
Носов В.В. "Технології аудиту інформаційних систем"
Программа nbtstat позволяет узнать имя системы (CAESARS), домена или рабочей группы, в которой она находится (VEGAS2) и МАС-адреса. Эти объекты можно различать по их суффиксу NetBIOS (двузначное шестнадцетеричное число справа от имени) (см. табл. 4.2). В строке "Тип имени" присутствуют имена двух типов: уникальное (U) или групповое (G).
5
Носов В.В. "Технології аудиту інформаційних систем"
В этом отчете не дано никакой информации о запущенных службах. Как правило, в системах Wmdows 2000 при запущенном сервере IIS в этой таблице будет присутствовать запись INet~Services.
Записи столбца "тип имени" в табл. 4.2 также имеют свои значения (см. табл. 4.3).
Сканирование таблиц имен NetBIOS с помощью программы nbtscan
Популярность 9
Простота 10
Опасность 2
6
Носов В.В. "Технології аудиту інформаційних систем"
Степень риска |
7 |
Программа nbtstat имеет два недостатка: она не может работать на нескольких узлах одновременно и выводит данные в довольно сложном формате. Этих недостатков лишена бесплатная программа nbtscan, написанная Аллой Безручко (Alla Bezroutchko). Программа nbtscan быстро собирает данные таблиц NetBIOS по всей сети и выводит их в удобном формате.
Обратите внимание, что только сервер PRNTSRV указывает на пользователя, прошедшего аутентификацию. Это единственный компьютер под управлением Windows 2000 по данным отчета, что подчеркивает важность высказанного выше замечания о том, что в таблицах имен NetBIOS систем Windows Server 2003 теперь по умолчанию не выдается информации об именах учетных записей. В любом случае, программа nbtscan представляет хорошую возможность быстро выявить узлы сети, работающие под управлением системы Windows. Попробуйте применить эту программу для вашей сети класса С и вы поймете, о чем речь. Из-за капризов службы NBNS выполнение данной программы через Internet может привести к ошибочным результатам.
Инвентаризация контроллеров домена
Популярность 9
Простота |
10 |
Опасность |
2 |
Степень риска |
7 |
Для дальнейшего углубления в сетевую структуру Windows Server 2003 воспользуемся утилитой nltest из пакета Windows Server2003 Support Tools (устанавливается из каталога \support\tools лицензионного компакт-диска Windows Server 2003). Рассмотрим на следующем примере, каким образом программа nltest выявляет контроллеры домена (хранилища идентификационных данных сети Windows Server2003) в домене систем под управлением Windows Server 2003.
Меры противодействия инвентаризации сетей NetBIOS
Во всех описанные выше методах инвентаризации используются UDP-порт 137 службы имен NetBIOS. Желательно закрыть доступ к этим портам с помощью маршрутизатора, брандмауэра или другого сетевого шлюза. На уровне узла необходимо соответствующим образом сконфигурировать фильтры IPSec или установить программный брандмауэр.
Если доступ к системе NBNS должен быть открыт, то единственный способ сохранения конфиденциальности пользовательских данных из таблицы имен NetBIOS — отключить службу предупреждений (Alerter) и службу сообщений (Messenger) на отдельных узлах. Запуск этих служб настраивается в разделе Службы (Services) панели управления. Эти службы по умолчанию отключены в системах Windows Server 2003.
7
Носов В.В. "Технології аудиту інформаційних систем"
3. Інвентаризація RPC-служб
Не меньшей популярностью, чем инвентаризация с помощью службы имен NetBIOS, пользуется инвентаризация с помощью службы Microsoft RPC Endpoint Mapper (MSRPC), использующей TCP-порт 135. Информация, получаемая с помощью MSRPC, не сильно отличается от информации, предоставляемой протоколом SMB, но MSRPC практически всегда запускается в локальных сетях систем семейства Windows NT, а нередко к ней можно получить доступ и через Internet (это делается, например, для поддержки службы Exchange).
Инвентаризация с помощью RPC-служб
Популярность |
7 |
Простота |
8 |
Опасность |
1 |
Степень риска |
5 |
Запрос к RPC-службам преобразования портов является проверенным методом злоумышленников для сбора информации на UNIX-компьютерах. В системах Windows служба преобразования портов (роrtmарреr) называется распределителем конечной точки (RPC — Endpoint Mapper) и также позволяет получить сведения о RPC-службах. Программа edump предоставляет данные об IP-адресах хостов и номерах портов, открытых для получения запросов RPC-служб (хотя и в очень неудобной форме).
Основное внимание следует обратить на строки int, обозначающие интерфейсы RPC-служб, а также на следующие за ними записи binding и annot, В строке binding указываются IP-адрес и номер порта хоста, на которые ожидаются запросы этой RPC-службы (от слова bind — привязка), например 192.168.234.43[1025], а строка annot (annotation — комментарий) зачастую содержит стандартное имя службы конечной точки (порта), например 'IPSec Policy agent endpoint'.
К числу более современных средств, предназначенных для получения сведений о конечных точках служб MSRPC, можно отнести программу rpcdump. Существует несколько версий программы rpcdump.ехе, которые не следует путать с программой rpcdump (средство для создания запросов к службе portmapper на TCP-порту UNIX-хостов), написанной в 1999 году Дэвидом Литчфилдом (David Litchfield). Две другие версии используются для создания запросов к службе MSRPC одна из пакета Resource Kit, а вторая создана Тоддом Сабином (Todd Sabin) и входит в его набор программ RPC Tools. Программа rpcdump Тодца Сабина опрашивает все интерфейсы каждого зарегистрированного RPCсервера с помощью функции API RpcMgmtlnqlf Ids, что позволяет предоставить дополнительные сведения, а не просто вывести список зарегистрированных интерфейсов сервера. Программа Сабина как и epdump выводит последовательный перечень портов. Программа rpcdump из набора Resource Kit при выводе данных распределяет их по типу интерфейса, что позволяет отличать локальные RPC-службы от RPCслужб, доступных по сети.
8
Носов В.В. "Технології аудиту інформаційних систем"
Не трудно догадаться, что предоставленная информация будет очень полезна злоумышленнику. Он сможет строить дальнейшие атаки в зависимости от доступных RPC-служб. Как правило, самой полезной информацией подобного отчета является внутренний IP-адрес многоканальных систем, а также виртуальный IP-адрес, одного и того же сервера, которые предоставляются как привязки к портам для RPCслужб. Эти сведения помогут хакеру понять, с какой системой он имеет дело и какие RFC-службы запущены.
Меры противодействия инвентаризации RPC-служб
Бюллетень |
Нет |
|
|
BID |
Нет |
Исправлено в SP |
Нет |
Фиксируется |
Нет |
Несмотря на усилия Microsoft по уменьшению числа устанавливаемых по умолчанию служб в системе Windows Server 2003, служба RPC Endpoint Mapper по-прежнему доступна по умолчанию и предстааляет угрозу несанкционированного разглашения потенциально опасной информации. Таким образом, наилучшим средством защиты является блокирование TCP/UDP-порта 135. Это может вызвать затруднения для организаций, которые используют Web-приложения на основе MSRPC, например Exchange. В этом случае необходимо оставлять открытым TCP-порт 135 для клиентов службы MAPI (Messaging Application Programming Interface — интерфейс прикладного программирования для электронной почты). В качестве решения можно предложить использовать службу OWA (Outlook Web Access) вместо MAPI или использовать RPC поверх HTTP (TCP-порт 593). Кроме того, можно рассмотреть варианты установки брандмауэра или создания виртуальной частной сети (VPN) для предварительной проверки доступа к RPCслужбам.
Для обеспечения возможности более точного управления, доступ к каким именованным каналам может быть предоставлен анонимным пользователям, можно в Security Policy (Политика безопасности) для параметра "Network access: Named pipes that can be accessed anonymously" ("Доступ по сети: доступные анонимно именованные каналы") удалить запись EPMAPPER.
Не забывайте, что служба Endpoint Mapper только перенаправляет клиентов на соответствующий порт RPC-службы приложения, и не забудьте также заблокировать эти порты.
9