Инвентаризация приложений и идентификационных маркеров

Выше были рассмотрены вопросы инвентаризации сети и учетных записей пользователей. При этом для достижения требуемого результата применимы различные средства, встроенные в саму операционную систему. А как насчет получения списка приложений, установленных на компьютере NT/2000? Подобная информация способна значительно расширить знания об исследуемой системе. Процесс подключения к удаленным приложениям и наблюдение за результатами их использования часто называется сбором маркеров (banner grabbing) и может оказаться неожиданно информативным для взломщиков. Если говорить кратко, то в процессе сбора маркеров можно идентифицировать программное обеспечение, запущенное на сервере, и его версию. А этого во многих случаях будет вполне достаточно, чтобы начать поиск уязвимых мест.

Основы процесса сбора маркеров: утилиты telnet и netcat


Испытанным и надежным инструментом инвентаризации идентификационных маркеров и приложений как в мире NT, так и в мире 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).
Если вам нужен инструмент для более тщательных исследований, попробуйте "швейцарский армейский нож" протокола TCP/IP — утилиту 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-сервера, взломщики могут сосредоточиться на методах, специфичных для данной платформы, и перебирать хорошо проверенные приемы до тех пор, пока один из них не достигнет цели. Таким образом, время начинает работать на злоумышленника, а не в пользу администратора. Мы еще не раз остановимся на методах применения утилиты netcat, в том числе и для извлечения дополнительной информации при инвентаризации UNIX. Этот вопрос будет рассматриваться в следующем разделе.

Сбор идентификационных маркеров NT/2000: контрмеры


Защита от такого рода попыток проведения инвентаризации требует от администратора некоторой доли изобретательности. Однако мы не можем определить с достаточной степенью определенности, насколько важна для взломщиков информация о приложениях и службах, работающих в вашей сети.
Во-первых, проверьте все важные приложения и попытайтесь найти способ, с помощью которого можно было бы предотвратить предоставление информации о производителе и номере версии в идентификационных маркерах. Регулярно проверяйте свою сеть, сканируя порты и подключаясь с помощью утилиты netcat к выявленным активным портам, чтобы убедиться в том, что из сети не уходит даже незначительная часть информации, которая может представлять интерес для потенциального взломщика.

Инвентаризация системного реестра 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 (см. главы 5 и 14).

С:\> 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 позволяет получить результат в более привлекательной форме (рис. 3.6), однако в большинстве случаев он ничем не отличается от результатов применения утилиты regdmp. В отчете утилиты DumpSec содержатся сведения обо всех службах и драйверах ядра Win32 удаленной системы, как работающих, так и не работающих (в соответствии с установленными разрешениями). Полученная информация может подсказать злоумышленнику, в каком направлении необходимо сосредоточить усилия при планировании вторжения и его реализации. Не забывайте о том, что при использовании программы DumpSec требуется открытие нулевого сеанса.



Рис. 3.6. Утилита DumpSec позволяет получить информацию обо всех службах и драйверах, запушенных на удаленном компьютере

Контрмеры против сбора идентификационных маркеров и инвентаризации системного реестра


Убедитесь, что системный реестр заблокирован и к нему нельзя получить доступ с использованием удаленных соединений. Для этого необходимо проверить возможность удаленного доступа к ключу HKLM\System\CurrentControlSet\SecurePipe Servers \winreg и всем связанным с ним подключам. Если этот ключ присутствует, то по умолчанию удаленный доступ к реестру разрешен лишь администраторам. Этот ключ по умолчанию присутствует только в версии Win NT/2000, предназначенной для сервера, но не для рабочей станции. В дополнительных подключах задаются определенные пути системного реестра, разрешающие доступ независимо от политики обеспечения безопасности, принятой для ключа winreg. Более подробная информация об этом приведена в статье Q155363 базы данных компании Microsoft, которую можно найти по адресу http://search.support.microsoft.com. Кроме того, воспользуйтесь каким-нибудь хорошим средством, например программой DumpSec, и удостоверьтесь в отсутствии утечки информации.