- •Введение
- •1 Анализ основных типов мэ и способов их применения
- •1.1 Типы межсетевых экранов
- •1.1.1 Фильтры пакетов
- •1.1.2 Фильтры пакетов с контекстной проверкой
- •1.1.3 Сервер уровня соединения
- •1.1.4 Серверы прикладного уровня
- •1.2 Способы применения межсетевых экранов
- •1.Стандартные схемы защиты отдельной локальной сети.
- •1.2.1 Стандартные схемы защиты отдельной локальной сети
- •1.2.2 Применение в составе средств коллективной защиты
- •1.3 Персональные межсетевые экраны
- •1.4 Обобщенная концепция применения межсетевых экранов
- •1.5 Обзор персональных межсетевых экранов, доступных на рынке
- •2 Классификация уязвимостей сетевых экранов, создающих предпосылки их компрометации
- •2.1 Уязвимости сетевых протоколов
- •2.1.1 Снифферы пакетов
- •2.1.2 Уязвимость маршрутизации от источника
- •2.1.4 Атаки типа “отказ в обслуживании”
- •2.1.5 Атаки syn flood
- •2.1.6 Атака Smurf
- •2.1.7 Атака Tribe Flood Network
- •2.1.8 Атака WinFreeze.
- •2.1.9 Атака Loki.
- •2.1.10 Arp атаки
- •2.1.11 Фрагментация
- •2.2 Уязвимости операционных систем
- •2.2.1 Получение прав другого пользователя
- •2.2.2 Нелегальное подключение к системе
- •2.2.3 Человеческий фактор
- •2.2.4 Совместимость с другими операционными системами
- •2.2.5 Парольные атаки
- •2.2.6 Вирусы и приложения типа "троянский конь"
- •2.3 Уязвимости программной реализации сетевых экранов
- •2.3.1 Атаки через туннели в межсетевом экране
- •2.3.2 Атаки вследствие неправильной конфигурации межсетевого экрана
- •2.3.3 Атаки осуществляемые в обход межсетевого экрана
- •2.3.4 Атаки осуществляемые из доверенных узлов и сетей
- •2.3.5 Атаки путем подмены адреса источника
- •2.3.6 Атаки на сам межсетевой экран
- •2.3.7 Атаки на подсистему аутентификации межсетевого экрана
- •2.4 Выводы
- •3 Исследование архитектуры и функционирования мэ на примере предложенного по
- •3.1 Исследование механизмов взаимодействия средств сетевой безопасности с операционной системой
- •3.1.1 Подходы к организации фильтрования трафика в ос Windows
- •3.3 Выводы
- •4 Разработка алгоритмов для проверки уязвимостей средств сетевой безопасности
- •4.1 Обобщённый алгоритм воздействия на средства сетевой безопасности
- •4.3.2.1 Инвентаризация Windows nt/2000/xp
- •4.3.2.3 Инвентаризация unix
- •4.3.3 Проникновение в сеть и захват контроля над хостом
- •4.3.3.1 Взлом хоста с ос Windows
- •4.3.3.2 Взлом хоста с ос Unix
- •4.4 Разработка алгоритмов воздействия на средства сетевой защиты изнутри защищенной сети
- •4.4.1 «Инъекции» кода
- •4.4.2 Использование виртуальной машины
- •4.4.3 Использование уязвимостей ActiveX
- •4.5 Разработка алгоритмов, основанных на уязвимостях механизма взаимодействия средств сетевой безопасности с операционной системой
- •4.6 Разработка алгоритмов установления соединения с компьютером, защищенным межсетевым экраном, персональным сетевым экраном и несколькими сетевыми экранами
- •4.6.1 Http-тунелирование
- •4.6.2 Icmp-тунелирование
- •4.6.4 Pcap-тунелирование
- •4.7 Выводы
4.3.2.1 Инвентаризация Windows nt/2000/xp
Windows NT/2000 Hacking Kit
Начиная с версии Windows NT 3.1 компания Microsoft предлагает за отдельную плату дополнительный комплект документации и компакт-диск, на котором собрано множество утилит для администрирования сетей на базе Windows NT — Windows NT Resource Kit (как в варианте Workstation, так и в варианте Server). В комплект NTRK входит обширная подборка различных утилит, начиная от частично реализованного интерпретатора популярного языка сценариев Perl, позволяющего перенести на платформу NT многие популярные утилиты UNIX, и заканчивая утилитами удаленного администрирования, не входящими в стандартный комплект поставки Windows NT. Без данного комплекта не может обойтись ни один серьезный администратор NT.
Однако, помимо удобства в использовании, функциональность NTRK имеет и обратную сторону. Многие из этих инструментов могут служить взломщикам для получения важной информации, благодаря чему в определенных кругах комплект получил название Windows NT Hacking Kit. Поскольку розничная цена пакета NTRK составляет около $200, включая два обновленных дополнения, можно предположить, что любой взломщик, для которого данная сумма является достаточно приемлемой, может воспользоваться входящими в его состав инструментами для проникновения в вашу сеть (особенно если учесть, что некоторые из них распространяются свободно через FTP-узел компании Microsoft по адресу ftp://ftp. microsoft.com/bussys/winnt/winnt-public/reskit/).
Версия комплекта для Win 2000 (W2RK) продолжает ранее начатую традицию и содержит многочисленные инструменты, которые можно использовать двояким образом. Кроме того, на компакт-диске для операционной системы Win 2000 Server в папке SupportXTools содержится множество утилит, которые могут оказаться полезными длязлоумышленника.
Нулевые соединения
Cистемы Windows NT имеют ахиллесову пяту при использовании протоколов CIFS/SMB и NetBIOS в режиме, используемом по умолчанию. В состав стандартов CIFS/SMB и NetBIOS входят программные интерфейсы, возвращающие различную информацию о компьютере через порт TCP с номером 139. Такие данные смогут получить даже те пользователи, которые не были аутентифицированы. Первым шагом на пути получения удаленного доступа к этим интерфейсам является создание простого, без аутентификации, соединения с системой NT/2000 с помощью так называемого нулевого сеанса (null session). Предполагается, что в результате ранее выполненного сканирования портов было установлено, что TCP-порт 139 находится в состоянии ожидания запросов. Такое соединение можно установить с помощью следующей команды.
net use \\192.168.202.33\IPC$ "" /u:""
При выполнении такой команды осуществляется подключение к скрытому каналу связи между процессами (share) IPC$ no IP-адресу 192.168.202.33 в качестве анонимного пользователя (/u:"") с пустым паролем (""). Если такая попытка окажется успешной, взломщик получает открытый канал, через который он может попытаться применить различные методы, чтобы получить как можно больше информации о сети, совместно используемых ресурсах, пользователях, группах, ключах системного реестра и т.д.
Практически все методы сбора информации используют недостаток системы безопасности Windows NT, состоящий в предоставлении возможности анонимного подключения и инвентаризации определенных ресурсов без требования каких-либо паролей.
Инвентаризация доменов NT/2000 с помощью команды net view
В качестве одного из самых ярких примеров встроенных инструментов можно привести команду net view. Это чрезвычайно простая утилита командной строки систем NT/2000, которая позволяет просмотреть все домены сети, а также практически все компьютеры доменов. Вот как выполнить инвентаризацию доменов в сети с использованием команды net view:
C:\>net view /domain
Domain
---------------------------------------------
CORLEONE BARZINI_DOMAIN TATAGGLIA_DOMAIN BRAZZI
The command completed successfully.
С помощью следующей команды будут перечислены все компьютеры определенного домена.
C:\>net view /domain:corleone
Server Name Remark
\\VITO ' Make him an offer he can't refuse
\\MICHAEL Nothing personal
\\SONNY Badda bing badda boom
\\FREDO I'm smart
\\CONNIE Don't forget the cannoli
Получение дампа таблицы имен NetBIOS с помощью команд nbtstat и nbtscan
Другой мощной встроенной утилитой является nbtstat, которая позволяет получить таблицу имен NetBIOS удаленной системы. Как видно из следующего примера, в этой таблице содержится важная информация.
C:\>nbtstat -A 192.168.202.33
NetBIOS Remote Machine Name Table
Name Type Status
SERVR9 <00> UNIQUE Registered
SERVR9 <20> UNIQUE Registered
9DOMAN <00> GROUP Registered
9DOMAN <1E> GROUP Registered
SERVR9 <03> UNIQUE Registered
INet-Services <1C> GROUP Registered
IS-SERVR9......<00> UNIQUE Registered
9DOMAN <1D> UNIQUE Registered
.._MSBROWSE_.<01> GROUP Registered
ADMINISTRATOR <03> UNIQUE Registered
MAC Address = 00-AO-CC-57-8C-8A
Фрагмент листинга указывает, что с помощью команды nbtstat было получено имя компьютера (SERVR9), домен, в котором он расположен (9DOMAIN), имена зарегистрированных пользователей (ADMINISTRATOR), все запущенные службы (inet-Services) и МАС-адрес. Всю эту информацию можно узнать по кодам службы NetBIOS (числа из двух цифр, расположенные справа от имени), частично представленным в табл. 4.1.
Таблица 4.1. Стандартные коды служб NetBIOS
Код NetBIOS |
Ресурс |
<имя компьютера>[00] |
Служба рабочей станции |
<имя домена>[00] |
Имя домена |
<имя компьютера>[03] |
Служба рассылки (для сообщений, переданных на данный компьютер) |
<имя пользователя>[03] |
Служба рассылки (для сообщений, переданных данному пользователю) |
<имя компьютера>[20] |
Служба сервера |
<имя домена>[10] |
Главный броузер (master browser) |
<имя домена>[1Е] |
Служба просмотра (browser service elections) |
<имя домена>[1В] |
Главный броузер домена (domain master browser) |
Двумя основными недостатками команды nbtstat являются возможность ее применения к одному узлу одновременно и несколько непонятные выходные данные. Обоих этих недостатков лишена свободно распространяемая утилита nbtscan, которую можно найти по адресу http://www.abb.aha. ru/software/nbtscan.html. Эта утилита позволяет быстро выполнить те же действия, что и команда nbtstat, над всей сетью и при этом предоставляет прекрасно отформатированные результаты.
D:\Toolbox\nbtscanl02>
nbtscan 192.168.234.0/24
Doing NBT name scan for adresses from
192.168.234.0/24
IP address NetBIOS Name Server User MAC address
192.168.234.36 WORKSTN12 <server> RSMITH 00-00-86-16-47-d6
192.168.234.110 CORP-DC <server> CORP-DC 00-cO-4f-86-80-05
192.168.234.112 WORKSTN15 <server> ADMIN 00-80-c7-0f-a5-6d
192.168.234.200 SERVR9 <server> ADMIN 00-aO-cc-57-8c-8a
Утилита nbtscan позволяет быстро получить данные об узлах сети, на которых используется система Windows.
Инвентаризация контроллеров доменов
Для того чтобы проникнуть в структуру сети Windows NT немного глубже, понадобится инструмент, входящий в комплект NTRK С помощью средства NTRK nltest можно узнать, какие контроллеры доменов являются первичными (РОС — Primary Domain Controller), а какие — вторичными (ВDC — Backup Domain Controller).
C:\> nltest /dclist:corleone
List of DCs in Domain corleone
\\VITO (PDC)
\\MICHAEL
\\SONNY
The command completed successfully
Для дальнейшего продвижения вперед необходимо воспользоваться нулевым соединением. Достаточно установить нулевой сеанс с одним из узлов представляющего интерес домена, чтобы затем с помощью команды вида nltest /server :<имя_сервера>, а также параметра /trusted_ domains узнать всю информацию о доменах NT, в которые входит данный компьютер.
Инвентаризация совместно используемых ресурсов NetBIOS с помощью команды net view и утилит NTRK
Установив нулевой сеанс, можно снова испрользовать команду net view и провести инвентаризацию ресурсов удаленной системы, предоставленных для совместного доступа:
C:\>net view \\vito
Shared resources at \\192.168.7.45
VITO
Share name Type Used as Comment
NETLOGON Disk Logon server share
Test Disk Public access
The command completed successfully.
В состав комплекта NTRK входят три утилиты, которые могут оказаться полезными для инвентаризации совместно используемых ресурсов, — rmtshare, srvcheck и srvinfo (с параметром -s). Утилита rmtshare выводит результат примерно в том же виде, что и команда net view. Утилита srvcheck отображает сведения о совместно используемых ресурсах и авторизованных пользователях, включая скрытые ресурсы. Однако для этого необходимо получить доступ к удаленной системе в качестве привилегированного пользователя. Наконец, утилита srvinfo с параметром -s позволяет просмотреть перечень совместно используемых ресурсов, а также получить об исследуемой системе множество другой полезной информации.
Инвентаризация совместно используемых ресурсов NetBIOS с помощью утилиты DumpSec (ранее DumpACL)
Одним из лучших инструментов для инвентаризации совместно используемых ресурсов NT (причем этим возможности .не ограничиваются), является пакет DumpSec (ранее DumpACL), основное диалоговое окно которого показано на Рис. 4.18. Он распространяется бесплатно компанией Somarsoft (http://www.somarsoft.com). Вряд ли можно найти другой инструмент, который заслуживал бы такого же внимания администратора NT. Программа DumpSec выполняет чрезвычайно широкий аудит, начиная от разрешений на использование файловой системы удаленного узла и заканчивая перечнем запущенных на ней служб. На Рис. 4.18 показан пример работы программы DumpSec для получения информации о совместно используемых ресурсах удаленной системы. Основная информация о пользователях может быть получена даже через нулевое соединение. Кроме того, эту программу можно запускать из командной строки, что позволяет без особых проблем применять ее при автоматизации процесса сбора и обработки информации, а также при написании сценариев.
Р
ис.
4.18 - Путем установки нулевого соединения
с исследуемым компьютером программа
DumpSec предоставляет перечень совместно
используемых ресурсов
Поиск совместно используемых ресурсов с помощью утилит Legion и NAT
Открытие нулевого сеанса и использование описанных выше инструментов в ручном режиме прекрасно подходят для прямого вторжения, однако большинство злоумышленников предпочитают использовать сканер NetBIOS, чтобы быстро проверить целую сеть на предмет наличия незащищенных ресурсов. Одной из наиболее популярных утилит является Legion, диалоговое окно которой показано на следующем рисунке.
Рис. 4.19 - Утилита Legion
Утилита Legion может обследовать сеть класса С и представить в своем окне перечень всех обнаруженных совместно используемых ресурсов. Ее версия 2.1 поддерживает режим подбора пароля "в лоб", при использовании которого утилита пытается подключиться к определенному ресурсу с помощью предоставленного пользователем списка паролей.
Р
ис.
4.20 - Две версии утилиты NAT— с графическим
интерфейсом и для использования в
командной строке
Еще одним популярным сканером совместно используемых ресурсов Windows является утилита NetBIOS Auditing Tool (NAT), работа которой основывается на коде, написанном Эндрю Тридгеллем (Andrew Tridgell). Эту утилиту можно найти по адресу http://www.hacking exposed.com. Участники ныне уже не существующей группы Rhino9 Security Team Неон Сурж (Neon Surge) и Хамелеон (Chameleon) написали графический интерфейс для утилиты NAT (Рис. 4.20). Утилита NAT не только находит совместно используемые ресурсы, но и пытается подключится к ним с помощью списков пользовательских имен и паролей.
Другие средства инвентаризации сети NT/2000
Необходимо упомянуть еще несколько программ, предназначенных для инвентаризации ресурсов NT: epdump компании Microsoft (http: //www.ntshop.net/security/tools/def.htm), getmac и netdom (из комплекта NTRK), а также утилиту netviewx Джеспера Лорицена (http://www.ibt.ku.dk/jesper/NTtools). Утилита epdump посредством обращения :< интерфейсу RPC отображает перечень служб, связанных с IP-адресами и номерами портов (при этом результаты отображаются далеко не лучшим образом). Утилита getmac, используя нулевой сеанс, отображает МАС-адреса и имена устройств, присвоенных сетевым адаптерам удаленных узлов. Утилита netdom выдает информацию обо всех связанных доменах, включая сведения о принадлежности к домену и его резервных контроллерах. Утилита netviewx также является мощным инструментом, позволяющим получить информацию об узлах домена и запущенных на них службах. Netviewx часто используется для проверки наличия службы удаленного доступа NT (RAS— Remote Access Service), чтобы получить представление о количестве серверов в сети, обеспечивающих удаленный доступ. Для этого можно воспользоваться представленной ниже командой. С помощью параметра -T задается имя исследуемого домена, а параметр -т позволяет задать тип компьютера или службы.
C:\>netviewx -D CORLEONE -Т dialin_server
VITO,4,0,500,nt%workstation%server%
domain_ctrl%time_source%dialin_server%
backup_browser%master_browser,"
Make him an offer he can't refuse "
Имена служб, запущенных на этом сервере, представлены между символами %. Кроме того, утилита netviewx является хорошим средством для поиска компьютера, который не является контроллером домена. Это не лишено смысла, поскольку вероятность того, что такой компьютер не будет иметь надежной защиты гораздо выше, чем у контроллера домена.
Утилита Winfo Арни Видстрома (Arne Vidstrom), которую можно найти по адресу http://www.ntsecurity.nu, позволяет извлечь с удаленного компьютера информацию об учетных записях пользователей, совместно используемых ресурсах, а также данные об установленных доверительных отношениях. Эта утилита позволяет даже автоматически открыть нулевой сеанс, если при ее запуске указан параметр -n.
Программа nbtdump Дэвида Литчфилда (David Litchfield) (http://www.cerberus-infosec.uk/toolsn.shtml) позволяет использовать нулевые сеансы, выполнять поиск данных о совместно используемых ресурсах и пользовательских учетных записях, а, кроме того, полученные результаты представляет в прекрасном отчете HTML.
Универсальное средство инвентаризации: утилита еnum
Эта утилита была разработана группой Razor компании Bindview. В ней реализованы возможности всех других средств инвентаризации NetBIOS. Утилиту enum можно найти по адресу http://razor.bind-view.com. В приведенном ниже листинге представлены возможные Параметры командной строки. Из листинга видно, насколько всесторонние возможности предоставляет эта утилита.
D:\Toolbox>enum
использование: enum [параметры] [имя_узла|IP-адрес]
-U: получить список пользователей
-М: получить список узлов
-N: получить дамп имен (в отличие от -U|-M)
-S: получить список совместно используемых ресурсов
-Р: получить данные о принятой политике шифрования паролями
-G: получить список групп и их членов
-L: получить данные о политике LSA
-D: взлом с использованием словаря, требуется -и и -f
-d: с детализацией, применяется к -U и -S
-с: не прерывать сеанс
-и: задает имя пользователя (по умолчанию "")
-р: задает пароль (по умолчанию "")
-f: задает файл словаря (для -D)
Утилита enum позволяет автоматически устанавливать и завершать нулевой сеанс. Отдельного упоминания заслуживает параметр -Р, предоставляющий информацию о принятой политике шифрования паролями. С его помощью взломщики могут оценить возможность удаленного определения пользовательских паролей до того момента, как будет найден наиболее легкий из них.
Инвентаризация пользователей и групп NT/2000
Инвентаризация пользователей через протокол NetBIOS
Неправильно сконфигурированные компьютеры NT/2000 предоставляют информацию о пользователях с такой же готовностью, как и о совместно используемых ресурсах.
Ранее рассматривались возможности встроенной в операционную систему утилиты nbtstat и ее дополнения — свободно распространяемой программы nbtscan. Обе утилиты позволяют получить дамп удаленной таблицы имен NetBIOS, и, что очень важно, при этом не требуется открывать нулевой сеанс. Так что имена пользователей будут получены независимо от того, правильно ли установлено значение параметра RestrictAnonymous системного реестра.
Утилита еnum группы разработчиков Razor (которая уже упоминалась выше) автоматически устанавливает нулевое соединение и извлекает всю наиболее ценную информацию, о которой только может мечтать взломщик. Следующий пример, демонстрирующий всю опасность подобных действий, для краткости был отредактирован.
D:\Toolbox>enum -U -d -Р -L -с 172.16.41.10
server: 172.16.41.10
setting up session... success,
password policy: rain length: none
lockout threshold: none
opening Isa policy... success. names:
netbics: LABFARCE.COM
domain: LA3FARCE.COM
trusted domains:
SYSOPS
PDC: CORP-DC
netlogon done by a PDC server
getting user list {pass 1, index 0)... success, got 11.
Administrator (Built-in account for administering
the computer/domain)
attributes:
chris attributes:
Guest (Built-in account for guest access to the computer/domain)
attributes: disabled
keith attributes: Michelle attributes:
Утилита enum позволяет также определить удаленный пароль одного пользователя за один раз с использованием параметров-о -и <имя-пользователя> -f <файл-словаря>.
В комплекте NTRK имеется еще несколько инструментов, с помощью которых можно получить более подробную информацию о пользователях (через нулевой сеанс или другими способами). К таким утилитам относятся usrstat, showgrps, local и global. Однако наиболее мощным средством получения информации о пользователях является утилита DumpSec. Она позволяет получить список пользователей, групп, используемых системных политиках и правах пользователей NT. В следующем примере утилита DumpSec используется в командной строке для получения файла с информацией о пользователях удаленного компьютера (не забывайте о том, что эта утилита требует открытия нулевого сеанса).
C:\>dumpsec /computer=\\192.168.202.33 /rpt=usersonly
/saveas=tsv /outfile=c:\temp\users.txt
C:\>cat c:\temp\users.txt
4/3/99 8:15 PM - Somarsoft DumpSec - \\192.168.202.33
UserName FullName Comment
barzini Enrico Barzini Rival mob chieftain
godfather Vito Corleone Capo
godzilla Administrator Built-in account for administering the
domain
Guest Built-in account for guest access
lucca Lucca Brazzi Hit man
mike Michael Corleone Son of Godfather.
Идентификация учетных записей с помощью утилит user2sid/sid2user
Двумя другими чрезвычайно мощными средствами инвентаризации NT/2000 являются утилиты sid2user и user2sid, написанные Евгением Рудным (Evgenii Rudnyi). Эти утилиты командной строки позволяют получить идентификатор защиты пользователя (SID — Security ID) no его идентификатору и наоборот. SID — это числовое значение переменной длины, назначаемое системой NT во время установки. Хорошее описание структуры и функций SID приведено в статье Марка Русиновича (Mark Russinovich). После получения с помощью утилиты user2sid идентификатора SID домена взломщик может использовать его для извлечения соответствующих имен пользователей. Например
C:\>user2sid \\
192.168.202.33 "domain users"
S-l-5-21-8915387-1645822062-1819828000-513
Number of subauthorities is 5
Domain is WINDOWSNT
Length of SID in memory is 28 bytes
Type of SID is SidTypeGroup
Таким образом, можно получить SID компьютера, представляющий собой строку, начинающуюся с S-1 и нескольких чисел, разделенных дефисами. Последнее число последовательности называется относительным идентификатором (RID — Relative ID), значение которого для встроенных групп и пользователей Windows NT/2000, таких как Administrator или Guest, определено по умолчанию. Например, RID пользователя Administrator всегда равен 500, а пользователя Guest — 501. Вооружившись этой информацией, злоумышленник может с помощью утилиты sid2user и RID 500, добавленного к SID, узнать имя пользователя, являющегося администратором, даже если учетная запись Administrator была переименована.
C:\>sid2user \\192.168.2.33 5 21
8915387 1645822062 18198280005 500
Name is godzilla
Domain is WINDOWSNT
Type of SID is SidTypeUser
Обратите внимание, что префикс S-1 и дефисы опущены. Еше одним интересным фактом является то, что первой учетной записи, созданной в любой локальной системе или домене NT/2000, присваивается RID 1000, а каждому последующему объекту — следующий номер (1001, 1002, 1003 и т.д.), причем при удалении объекта его номер уже никогда не используется при создании новых объектов. Таким образом, узнав лишь SID, злоумышленник может получить сведения практически обо всех пользователях и группах системы, работающей под управлением Windows NT/2000, как в прошлом, так и в настоящем. Самое важное, что утилиты sid2user и user2sid работают даже в тех случаях, когда включен режим RestrictAnonumous (см. выше) — лишь бы был открыт порт 139.
Инвентаризация службы активного каталога .'#." Win 2000 с помощью утилиты ldp
Наиболее существенным изменением, внесенным компанией Microsoft в свою новую операционную систему Win 2000, является добавление в нее службы каталогов, работа которой основана на протоколе LDAP (Lightweight Directory Access Protocol — упрошенный протокол доступа к каталогам). Компания Microsoft называет эту службу активные каталогом (Active Directory). В активном каталоге содержится унифицированное логическое представление всех объектов корпоративной сети. С точки зрения инвентаризации, активный каталог является прекрасным источником извлечения требуемой информации. Среди разнообразных средств поддержки Windows 2000 (которые можно найти на установочном компакт-диске серверной версии в папке Support\Tools) имеется простой клиент LDAP (ldp.exe), предназначенный для администрирования активного каталога.
В следующем примере иллюстрируется использование утилиты ldp для инвентаризации пользователей и групп контроллера домена bigdc.labfarce.org, имеющего корневой контекст активного каталога oc=labfarce, DC=org. При этом предполагается, что ранее уже был получен пароль учетной записи Guest этого контроллера — guest.
1. Во-первых, необходимо подключиться к целевому компьютеру с использованием утилиты ldp. Для этого выберите команду Connection>Connect и введите IP-адрес или доменное имя целевого сервера. Можно подключиться к LDAP-порту с номером 389, который используется по умолчанию, или использовать порт 3268 службы глобального каталога. В данном случае применяется порт 389.
2. После установки соединения необходимо зарегистрироваться в качестве пользователя Guest, данные о котором были получены ранее. Для этого выберите команду Connections>Bind, убедитесь, что установлен флажок Domain и в соответствующем поле введено корректное имя домена, а затем введите имя и пароль, как показано на рисунке.
3. После успешного открытия сеанса LDAP можно приступать к инвентаризации пользователей и групп. Выберите команду View>Tree и введите в появившемся диалоговом окне корневой контекст (например, dc=labfarce, dc=org).
4. В левой панели появится новый элемент. После щелчка на символе +, расположенном слева от него, в левой панели под корневым элементом появится несколько основных объектов.
5. Наконец после двойного щелчка на элементах CN=Users и CN=Builtin в левой панели диалогового окна появится перечень пользователей и встроенных групп сервера, соответственно (Рис. 4.21).
Рис. 4.21. Утилита ldp.exe, средство администрирования активного каталога
Благодаря чему с помощью простого гостевого подключения можно извлечь подобную информацию? Некоторым службам (таким как RAS и SQL Server) системы NT4, требуется получать информацию об объектах групп и пользователей, содержащуюся в активном каталоге. Процедура установки активного каталога Win 2000 (dcpromo) предоставляет возможность расширить разрешения на доступ к активному каталогу и предоставить их серверам более ранних версий для получения требуемой информации (Рис. 4.21). Если в процессе установки был выбран этот режим, то объекты пользователей и групп будут доступны для инвентаризации через протокол LDAP.
Инвентаризация приложений и идентификационных маркеров
Надежным инструментом инвентаризации идентификационных маркеров и приложений в UNIX является утилита telnet. Установив с ее помощью соединение с известным портом исследуемого сервера, нажмите несколько раз клавишу <Enter> и посмотрите полученный результат.
C:\>telnet www.corleone.com 80
HTTP/1.0 400 Bad Request Server: Netscape-Commerce/I.12
Your browser sent a non-HTTP compliant message.
Этот метод срабатывает для многих популярных приложений, использующих указанный порт (попробуйте его для порта HTTP 80, SMTP 25 или FTP 21, который особенно информативен при исследовании сервера под управлением Windows).
Если необходим инструмент для более тщательных исследований, попробуйте утилиту netcat, которая изначально была написана хакером Хоббитом (Hobbit, http: //www.avian.org), а затем перенесена на платформу NT Вельдом Пондом (Weld Pond) из группы LOpht, занимающейся исследованиями в области безопасности. Утилиту netcat можно найти по адресу http://www.10pht.com/-weld/netcat/index.html. Это еще одна утилита, которая вполне заслуживает места на Аллее Славы любого администратора NT. С другой стороны, это означает, что когда ею пользуется злоумышленник, последствия могут оказаться поистине разрушительными. Ниже рассматривается один из простейших примеров применения утилиты netcat — подключение к TCP-порту удаленного компьютера.
C:\>nc -v www.corleone.com 80
www.corleone.com [192.168.45.7] 80 (?) open
В таких ситуациях ввод даже небольшого количества данных приводит к получению отклика со стороны удаленного узла. В данном случае, при нажатии клавиши <Enter> будут получены следующие результаты.
НТТР/1.1 400 Bad Request
Server: Microsoft-IIS/4.О
Date: Sat, 03 Apr 1999 08:42:40 GMT
Content-Type: text/html
Content-Length: 87
<html><headxtitle>Error</title></headxbody>
The parameter is incorrect. </bodyx/html>
Полученная информация способна существенно сузить область поиска подходов к проникновению в исследуемую систему. Теперь, когда известен производитель и версия программного обеспечения Web-сервера, взломщики могут сосредоточиться на методах, специфичных для данной платформы, и перебирать хорошо проверенные приемы до тех пор, пока один из них не достигнет цели.
Инвентаризация системного реестра NT/2000
Другой механизм получения информации о приложениях NT/2000 подразумевает получение копии содержимого системного реестра исследуемого компьютера. Практически все современные приложения, корректно установленные на компьютере NT, оставляют более или менее заметные "следы" в системном реестре. Требуется лишь знать, где производить поиск требуемой информации. Кроме того, злоумышленник, получивший доступ к системному реестру, может почерпнуть из него немало сведений о пользователях и параметрах конфигурации. Запасшись изрядной долей терпения, в лабиринте ульев можно обнаружить сведения, которые позволят получить доступ к нужной информации. В системе NT/2000 доступ к системному реестру по умолчанию разрешен лишь администраторам (по меньшей мере в ее версии для сервера). Таким образом, описываемый ниже метод обычно неприменим при использовании анонимных нулевых соединений. Однако из этого правила существует одно исключение, когда в ключе HKLM\System\Current-ControlSet\Control\SecurePipeServer\ Winreg\AllowedPaths заданы другие параметры, открытые для доступа посредством нулевых сеансов. В этом случае по умолчанию доступ разрешен к ключу HKLM\software\Microsoft\windowsNT\ CurrentVersion.
Для выполнения этой задачи можно воспользоваться либо утилитой regdmp, входящей в состав NTRK, либо уже известной нам утилитой DumpSec компании Somarsoft.
Возможности утилиты regdmp весьма ограничены и, по сути дела, сводятся к получению дампа всего системного реестра (или отдельных ключей, заданных в командной строке). Хотя обычно удаленный доступ к системному реестру разрешен только администраторам, зловредные злоумышленники, как правило, все же пытаются получить ключи, надеясь, что им повезет. Ниже приведен пример запроса, в результате которого можно выяснить, какие приложения автоматически запускаются при загрузке системы Windows. Зачастую злоумышленники помешают в этот ключ ссылки на утилиты, организующие скрытый вход в систему, например утилиту NetBus.
С:\> regdmp -m \\192.168.202.33
HKEY_LOCAL_MACHINE\SOFTWARE\
Microsoft\Windows\CurrentVersion\Run
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\
CurrentVersion\Run
SystemTray = SysTray.Exe
BrowserWebCheck = loadwc.exe
Программа DumpSec позволяет получить результат в более привлекательной форме (Рис. 4.22), однако в большинстве случаев он ничем не отличается от результатов применения утилиты regdmp. В отчете утилиты DumpSec содержатся сведения обо всех службах и драйверах ядра Win32 удаленной системы, как работающих, так и не работающих (в соответствии с установленными разрешениями). Полученная информация может подсказать злоумышленнику, в каком направлении необходимо сосредоточить усилия при планировании вторжения и его реализации. Не забывайте о том, что при использовании программы DumpSec требуется открытие нулевого сеанса.
Рис. 4.22 - Утилита DumpSec
