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



Глава 1. ПРЕДВАРИТЕЛЬНЫЙ СБОР ДАННЫХ




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



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


Прежде чем приступить к столь увлекательному занятию, как хакинг, необходимо выполнить рад подготовительных мероприятий. В этой главе рассматривается первый этап подготовки, заключающийся в предварительном сборе данных (footpnntmg) о представляющей интерес сети. Именно так и поступают настоящие преступники, решившие ограбить банк. Они не вваливаются в операционный зал и не начинают требовать денег (за исключением разве что самых примитивных грабителей). Любая по-настоящему опасная группировка, замышляющая ограбление посвятит немало времени сбору информации об этом банке. Они изучат маршруты передвижения бронеавтомобилей, время доставки наличных денег, места расположения видеокамер и служебных выходов, а также все, что может им пригодиться для реализации их преступных замыслов. 
То же самое необходимо проделать и взломщику компьютерной сети, если он хочет добиться успеха. Для того чтобы нанести точный и своевременный удар и при этом не быть пойманным, он должен собрать как можно больше информации. Поэтому взломщики обычно пытаются разведать все, что только может иметь хоть какое-то отношение к системе обеспечения безопасности организации. После завершения этого процесса в руках хакера может оказаться целое "досье", или профиль, в котором содержится описание способов подключения организации к Internet, возможностей удаленного доступа к ее сети, а также конфигурации внутренней сети. Следуя хорошо структурированной методологии, из самых разных источников хакер по крупинкам может собрать досье практически на любую организацию.


2. Что такое предварительный сбор данных



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


В результате систематизированного сбора информации хакеры могут получить в свое распоряжение полный профиль системы защиты организации. Начав "с нуля" (например, имея лишь общие сведения о подключении к Internet) и применяя различные средства и технические приемы, взломщик может получить в конце концов совершенно определенный набор доменных имен, адресов подсетей и отдельных компьютеров этой организации, подключенных к Internet. Методов сбора подобной информации очень много, однако все они сводятся к одному - получению информации, имеющей отношение к технологиям Internet, корпоративным сетям (intranet), удаленному доступу (remote access) и экстрасетям (extranet). Все эти технологии, а также важные данные которые взломщики пытаются получить, перечислены в Табл. 1.1.


3. Для чего необходим предварительный сбор данных



Для чего необходим предварительный сбор данных


Предварительный сбор данных необходим для того, чтобы систематически и методологически гарантировать получение всей информации, имеющей отношение ко всем из вышеперечисленных технологий, используемых в конкретной организации. Без четко определенной методики выполнения этой работы высока вероятность того, что какая-нибудь часть важной информации не будет получена. Предварительный cбор данных о системе безопасности организации зачастую оказывается одной из наиболее трудных задач, однако в то же время этот процесс является наиболее важным. Его успешное завершение можно обеспечить лишь при четком следовании определенной методике и его контроле.


4. Сбор данных о подключении к Internet



Сбор данных о подключении к Internet


Для сбора данных о различных технологиях применяются схожие методы (это справедливо, например, по отношению к Internet и корпоративным сетям), поэтому в этой главе подробно рассматриваются лишь методы сбора необходимой информации о подключении организации к Internet. Вопросы сбора данных об удаленном доступе будут подробно рассмотрены в главе 9, "Хакинг удаленных соединений, РВХ, Voice-mail и виртуальных частных сетей".

Таблица 1.1. Важная информация, которую могут определить взломщики об используемых технологиях

Технология Идентифицирующие сведения
Internet
Имена доменов;. адреса подсетей; точные IP-адреса компьютеров, подключенных к Internet; TCP- и UDP-службы; работающие на каждом из обнаруженных компьютеров; архитектура системы (например, SPARC X86); механизмы управления доступом и соответствующие списки управления доступом (ACL — Access Control List); системы выявления вторжений (IDS); регистрационная информация (имена пользователей и групп, системные маркеры, таблицы маршрутизации, информация о протоколе SNMP)
интрасети
Используемые сетевые протоколы (например, IP, IPX, DecNET и т.д.); имена внутренних доменов; адреса подсетей; точные IP-адреса компьютеров, подключенных к Internet; TCP- и UDP-службы; работающие на каждом из обнаруженных компьютеров; архитектура системы (например, SPARC X86); механизмы управления доступом и соответствующие списки управления доступом (ACL — Access Control List); системы выявления вторжений (IDS); регистрационная информация (имена пользователей и групп, системные маркеры, таблицы маршрутизации, информация о протоколе SNMP)
удаленный доступ
Телефонные номера, используемые для удаленного доступа, а также тип АТС (аналоговая или цифровая); тип удаленной операционной системы; механизм аутентификации
экстрасети
Исходящая и входящая точки соединения; тип соединения; механизм управления доступом

Строго говоря, сложно дать четкие рекомендации по выполнению процесса сбора информации, поскольку осуществить это можно по-разному. Тем не менее, в данной главе предпринята попытка описать основные этапы, которые обязательно должны быть проведены при анализе информации для создания профиля организации. Многие из описанных приемов можно с успехом применять и для сбора данных о других технологиях, упоминавшихся выше.


5. Этап 1. Определение видов деятельности



Этап 1. Определение видов деятельности


Прежде всего необходимо определить виды деятельности, которые будут осуществляться при сборе информации. Например, нужно ответить на вопрос, планируете ли вы собрать данные обо всей сети организации или же ограничитесь лишь определенными ее сегментами (например, сетью главного офиса)? В некоторых случаях собрать данные обо всей организации может оказаться затруднительным. К счастью, в Internet можно найти множество ресурсов, с помощью которых можно сузить область деятельности, а также получить открытую информацию об организации и ее служащих.

Поиск по открытым источникам



Прежде всего начните с Web-страницы организации (если, конечно, она существует). Зачастую оказывается, что на таких Web-страницах присутствует информация, которая может помочь взломщику. Однажды нам даже довелось увидеть на одном Web-узле конфигурационные параметры, которые использовались для настройки системы защиты этой организации с помощью брандмауэра. К другим данным, которые можно получить и которые могут представлять интерес, относятся следующие.

  •  Адреса и места расположения офисов и подразделений.
  •  Деловые партнеры и поставщики.
  •  Новости о слиянии или приобретении.
  •  Номера телефонов.
  •  Контактная информация и адреса электронной почты.
  •  Требования к сотрудникам и посетителям по обеспечению безопасности, по которым можно судить об применяемых механизмах защиты. 
  •  Ссылки на другие Web-узлы, имеющие отношение к организации.

Кроме того, попробуйте просмотреть комментарии, содержащиеся в HTML-коде Web-страниц. Зачастую в коде HTML можно найти интересные, с точки зрения взломщика, комментарии, такие как "<", "!" и "--", которые не отображаются на экране при открытии страницы в окне броузера. Просмотр исходного кода Web-страницы в автономном режиме позволит гораздо эффективнее работать в интерактивном режиме. Так что зачастую полезно сохранить полный образ всего Web-узла для дальнейшего просмотра. Впоследствии эту локальную копию можно использовать для поиска комментариев или других важных данных программным способом и, таким образом, значительно повысить эффективность процесса сбора информации. Для создания образа всего Web-узла в системе UNIX можно воспользоваться утилитой Wget (ftp://gnjilux.cc.fer.hr/pub/unix/util/wget/), а в системе Windows — утилитой Teleport Pro (http://www.tenmax.com/teleport/home.htm).
После изучения Web-страниц можно поискать данные об организации в открытых источниках. Опубликованные статьи, сообщения для печати и так далее могут дать представление о происходящих в организации событиях и принятой в ней политике безопасности. На таких Web-узлах, как finance.yahoo.com или www.companysleuth.com, содержится огромное количество подобной информации. Если вы собираете данные о компании, значительная часть деятельности которой выполняется через Internet, то достаточно покопаться как следует в прессе, чтобы выяснить, что у такой компании нередко возникают проблемы, связанные с нарушением безопасности. Для того чтобы найти такой материал, вполне достаточно поискового сервера. Однако для этих целей можно использовать и более мощные средства и критерии поиска, позволяющие получить дополнительную информацию.
Одним из наших любимых средств такого класса является комплект поисковых средств FerretPRO компании FerretSoft (http://www.ferretsoft.com). Средство поиска в Web WebFerretPRO позволяет выполнять поиск сразу на нескольких поисковых серверах. Кроме того, другие средства этого комплекта позволяют выполнять поиск по заданному критерию в каналах IRC, системе USENET, сообщениях электронной почты, а также в базах данных. Если вам нужно бесплатное средство, позволяющее выполнять поиск одновременно по нескольким критериям, обратитесь по адресу http: //www.dogpile.com.
Поиск в системе USENET сообщений, отправленных из интересующего вас домена (вида @targetdomain.com), очень часто позволяет получить полезную информацию. Однажды в одной из групп новостей мы наткнулись на сообщение от системного администратора, в котором он жаловался на проблемы, возникшие у него после установки новой офисной АТС. Для передачи этого сообщения он воспользовался своей рабочей учетной записью. Он просил помощи, так как не знал, как отключить установленный по умолчанию режим доступа по паролю. Трудно даже предположить, сколько фрикеров (phreak — использование знаний об устройстве АТС для осуществления звонков за чужой счет) воспользовалось "услугами" этой организации. Поэтому естественно, что, изучая сообщения, отправляемые служащими организации, можно значительно повысить свою осведомленность в ее внутреннем устройстве и уровне технической подготовки ее сотрудников.



Рис. 1.1. С помощью директивы link: tar getdomain.com механизма поиска AltaVista можно получить список всех узлов, которые содержат ссылки на заданный домен

Наконец, можно просто воспользоваться средствами расширенного поиска некоторых ведущих поисковых серверов, таких как AltaVista или Hotbot. Многие из них позволяют найти все Web-страницы, на которых имеются ссылки на домен интересующей вас организации. На первых взгляд эта возможность не представляет собой ничего интересного, но не торопитесь с выводами! Допустим, кто-то из сотрудников организации решил создать собственный Web-узел дома или во внутренней сети организации. Весьма вероятно, что такой Web-узел будет иметь недостаточный уровень защиты или, более того, он может быть создан без ведома руководства. Как показано на рис. 1.1, обнаружить такой Web-узел можно именно с помощью описанного метода.
Как видно из рис. 1.1, в результате поиска получен список узлов, на Web-страницах которых обнаружены ссылки на домен www.10pht.com, а также слово "hacking". С такой же легкостью можно получить список узлов, содержащих ссылки на любой другой требуемый домен.
Другой пример (рис. 1.2) демонстрирует, как ограничиться поиском на определенном узле. В рассматриваемом примере показаны результаты поиска на узле http://www.l0pht.com страниц, содержащих слово mudge. Подобный запрос можно использовать и для поиска любой другой информации.
Очевидно, что приведенные примеры не исчерпывают всех возможностей, предоставляемых средствами поиска, так что проявляйте изобретательность. Иногда очень важную информацию можно найти лишь после применения весьма необычных критериев.

Поиск в базе данных EDGAR



Для поиска информации о компании, представляющей собой открытое акционерное общество (publicly traded company), можно воспользоваться базой данных EDGAR, поддерживаемой Комиссией по безопасности и обмену данными (SEC — Securities and Exchange Commission), находящейся по адресу http: //www. sec. gov (рис. 1.3).



Рис. 1.2. С помощью директивы host: targetdomain.com механизма поиска AltaVista можно получить список страниц узла targetdomain, содержащих, заданную строку (в данном случае mudge)



Рис. 1.3. База данных EDGAR позволяет получить открытые документы, которые могут содержать важную информацию о структуре организации

Одной из самых больших проблем, с которыми сталкиваются крупные компании, — это управление соединениями с Internet, особенно если они вовлечены в активную деятельность по приобретению других компаний или сами являются объектами приобретения. Именно поэтому так важно обращать внимание на информацию о недавно приобретенных компаниях. Среди документов комиссии SEC можно отметить два особенно важных: 10-Q и 10-К. Документ 10-Q представляет собой краткую сводку о деятельности организации за последний квартал. Кроме всей остальной информации в этом отчете также указывается количество акций компаний, приобретенных организацией за отчетный период, или количество акций организации, приобретенных за этот же период другими компаниями. Отчет 10-К содержит аналогичную информацию, однако он обновляется один раз в год. Поэтому сведения, приведенные в нем, могут потерять актуальность. Можно, например, поискать в этих документах слова subsidiary (дочерняя) или subsequent events (последующие события). В результате вы можете получить представление о недавно приобретенных компаниях или планирующихся слияниях. Зачастую организации подключают сети приобретенных ими компаний, забывая о требованиях безопасности. Поэтому вероятность того, что вы сможете проникнуть в сеть родительской компании, прорвав защиту новоприобретенного подразделения, довольно высока. Это лишний раз доказывает, что взломщики являются приверженцами хаоса и анархии, поскольку они всегда не преминут воспользоваться неразберихой, царящей в организации во время объединении сетей.
Осуществляя поиск в базе данных EDGAR, не забывайте о том, что в качестве критериев нужно использовать названия компаний и организаций, отличающихся от названия родительской компании. Это окажется особенно важным при выполнении последующих этапов, когда вы будете обращаться с организационными запросами whois к различным базам данных (см. раздел "Этап 2. Инвентаризация Сети").

Контрмеры: обеспечение безопасности общедоступных баз данных



Большая часть приведенных выше сведений должна быть общедоступной. Особенно это касается открытых акционерных обществ. Однако в то же время очень важно оценить и классифицировать типы такой информации. Для выполнения такого анализа может оказаться полезным руководство по обеспечению безопасности узла (Site Security Handbook, документ RFC2196). Его можно найти по адресу http://ietf.org/rfc/rfc2196.txt. И наконец, если на Web-страницах вашего узла имеется хоть какая-нибудь информация, которая может помочь взломщику в проникновении в вашу сеть, удалите ее, если только это не является жизненно необходимым.


1.gif

Изображение: 

2.gif

Изображение: 

3.gif

Изображение: 

6. Этап 2. Инвентаризация сети



Этап 2. Инвентаризация сети


Первым шагом в процессе инвентаризации сети (network enumeration) является идентификация имен доменов и сетей, связанных с конкретной организацией. Доменные имена представляют собой адрес компании в Internet и являются Internet-эквивалентами названия компании, например AAAApainting.com или moetavern.com.
Для того чтобы определить такие доменные имена и приступить к выявлению данных о подключенных к ним сетям, необходимо обратиться к соответствующим средствам Internet. Много полезной информации можно почерпнуть, например, из специальных баз данных. До конца 1999 года компания Network Solutions имела монополию на регистрацию имен доменов (com, net, edu и org) и соответствующая информация содержалась на ее специальных серверах. Однако в настоящее время существует множество других аккредитованных компаний, которые могут выполнять те же функции (http://www.internic.net/alpha.html). Если в процессе поиска требуемой информации нужно обратиться к такой компании-регистратору, то в этот процесс должны быть вовлечены также и все новые организации (см. раздел "Регистрационный Запрос").
Предусмотрено множество различных методов генерации запросов whois к базам данных (табл. 1.2). Независимо от того, какой из них вы выберете, полученная информация будет практически одной и той же. При поиске имен доменов, отличных от com, net, edu или org, необходимо обращаться и к другим серверам, перечисленным в табл. 1.3. Еще одним полезным ресурсом, особенно при поиске за пределами США, является сервер www.allwhois.com. В сети Internet предоставляемая им информация является наиболее полной.

Таблица 1. 2. Источнйки информации и методы поиска с помощью команды whois

Механизм
Ресурсы
Платформа
Web-интерфейс
http://www.networksolutions.com 
http ://www.arin.net
Любая платформа с Web-клиентом
Клиент whois
whois входит в комплект поставки большинства версий UNIX. Кроме того, имеется утилита fwhois, разработанная Крисом Капуччио (Chris Cappuccio, ccappucg santef e . edu)
UNIX
WS Ping ProPack
http : //www.ipswitch.com
Windows 95/NT/2000
Sam Spade
http : //www.samspade.org/ssw
Windows 95/NT/2000
Sam Spade, Web-интерфейс
http : //www.samspade.org/
Любая платформа с Web-клиентом
Средства Netscan
http://www .nwspsw.com/
Windows 95/NT/2000
Xwhois
http://www.oxygene.500mhz.net/whois/
UNIX с X Window и набором средств графического интерфейса GTK+

Таблица 1.3. Базы данных, содержащие сведения о военных, правительственных и международных доменах

Сервер whois
Адрес
IP-адреса, используемые в Европе
http://whois.ripe.net
IP-адреса тихоокеанского региона Азии
http : //whois.apnic.net
Военные ведомства США
http://whois.nic.mil
Правительственные учреждения США
http ://whois.nic.gov
Разные виды запросов позволяют получить различную информацию. Ниже перечислены типы запросов, с которыми в подавляющем большинстве случаев к службам whois обращаются хакеры, планирующие попытку проникновения в сеть организации.
  •  Регистрационный. Отображает специфическую регистрационную информацию и соответствующие серверы whois.
  •  Организационный. Отображает всю информацию, имеющую отношение к организации с заданным названием.
  •  Доменный. Отображает всю информацию, связанную с заданным доменом.
  •  Сетевой. Отображает всю информацию, связанную с заданной сетью или отдельным IP-адресом.
  •  Контактный. Отображает всю информацию о заданном лице, как правило, являющемся администратором сети.

Регистрационный запрос



С появлением совместно используемой системы регистрации (т.е. нескольких компаний-регистраторов) для получения списка доменов и соответствующей регистрационной информации, связанной с данной организацией, необходимо обратиться к серверу whois.crsnic.net. Следует определить компанию-регистратор и, таким образом, базу данных, к которой можно будет обращаться с последующими запросами на получение более подробных данных. В данном случае в качестве целевой будет использоваться компания Acme Networks, а запрос будет выполняться из командной оболочки системы UNIX (Red Hat 6.2). В используемой версии команды whois с помощью параметра @ можно задать альтернативную базу данных. В некоторых системах из ряда BSD (например, OpenBSD или FreeBSD) для этого можно воспользоваться параметром -а. Для получения более подробной информации об использовании клиента whois для генерации запросов воспользуйтесь командой man whois.
При выполнении поиска полезно использовать символы-заполнители, поскольку в этом случае можно получить дополнительную информацию. Если после строки acme в запросе используется символ ".", то будет получен список всех доменов, имена которых начинаются со строки acme, а не все домены, имена которых в точности содержат эту строку. Кроме того, при формировании расширенных запросов за консультацией можно обратиться по адресу http: //www.networksolutions.com/help/whoishelp.html. Руководствуясь приведенными в этом документе советами, запрос можно сгенерировать более точно.

[bash]$ whois "acme."@whois.crsnic.net
[whois.crsnic.net] Whois Server Version 1.1
Domain names in the .com, .net, and .org domains can now be registered
 with many different competing registrars.
Go to http://www.internic.net for detailed information.
ACMETRAVEL.COM 
ACMETECH.COM
 ACMES.COM 
ACMERACE.NET
 ACMEINC.COM 
ACMECOSMETICS.COM 
ACME.ORG
 ACME.NET 
ACME.COM
 ACME-INC.COM

Если о домене acme. net необходимо получить дополнительную информацию, то поиск можно продолжить и определить компанию-регистратор.

[bash]$ whois "acme.net"@whois.crsnic.net
Whois Server Version 1.1
Domain names in the .com, .net, and .org domains can now be registered
with many different competing registrars.
Go to http://www.internic.net for detailed information.
Domain Name: ACME.NET
Registrar: NETWORK SOLUTIONS, INC.
Whois Server: whois.networksolutions.com
Referral URL: www.networksolutions.com
Name Server-: DNS1 .ACME .NET
Name Server: DNS2.ACME.NET

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

Организационный запрос



После идентификации компании-регистратора можно приступать к формированию организационного запроса. Такой тип запроса позволяет выполнить поиск компании-регистратора для всех экземпляров имен рассматриваемой организации. Он гораздо шире, чем просто поиск имени домена. Организационный запрос должен содержать ключевое слово name и быть отправлен компании Network Solutions.

[bash]$ whois "
name Acme Networks"@whois.networksolutions.com

Acme Networks (NAUTILUS-AZ-DOM) NAUTILUS-NJ.COM
Acme Networks (WINDOWS4-DOM) WINDOWS.NET
Acme Networks (BURNER-DOM) BURNER.COM
Acme Networks (ACME2-DOM) ACME.NET
Acme Networks (RIGHTBABE-DOM) RIGHTBABE.COM
Acme Networks (ARTS2-DOM) ARTS.ORG
Acme Networks (HR-DEVELOPMENT-DOM) HR-DEVELOPMENT.COM
Acme Networks (NTSOURCE-DOM) NTSOURCE.COM
Acme Networks (LOCALNUMBER-DOM) LOCALNUMBER.NET
Acme Networks (LOCALNUMBERS2-DOM) LOCALNUMBERS.NET
Acme Networks (Y2MAN-DOM) Y2MAN.COM
Acme Networks (Y2MAN2-DOM) Y2MAN.NET
Acme Networks for Christ Hospital (CHOSPITAL-DOM) CHOSPITAL.ORG

Из полученного списка видно, что к компании Acme Networks имеет отношение много доменов. Однако пока неясно, представляют ли они реальные сети или же зарегистрированы для будущего использования либо для зашиты торговых марок. Для получения ответов на эти вопросы необходимо продолжить исследования, пока не будут обнаружены реальные сети.
Для большой организации в результате организационного запроса можно получить сотни и даже тысячи записей. Раньше, когда спэмминг (spamming) был не так популярен, можно было получить всю регистрационную базу домена .com компании Network Solutions. Однако в настоящее время серверы этой компании настроены таким образом, чтобы ограничивать результат первыми 50 записями.

Доменный запрос



Проанализировав результаты организационного запроса, приходим к выводу, что наиболее вероятным кандидатом для изучения является домен Acme.net, поскольку он представляет саму компанию Acme Networks (естественно, все реальные имена и адреса были изменены). 

[bash]$ whois acme.net@whois.networksolutions.com
[whois.networksolutions.com]
 Registrant:
Acme Networks (ACME2-DOM) 
li Town Center Ave. Einstein, AZ 21098
Domain Name: ACME.NET
Administrative Contact, Technical Contact, Zone Contact:
Boyd, Woody [Network Engineer] (WB9201) woody@ACME.NET
201-555-9011 (201)555-3338 (FAX) 201-555-1212
Record last updated on 13-Sep-95.
Record created on 30-May-95.
Database last updated on 14-Apr-99 13:20:47 EOT.
Domain servers in listed order:
DNS.ACME.NET 10.10.10.1
DNS2.ACME.NET 10.10.10.2

Подобный запрос позволяет получить следующую информацию. 

  • Организация, зарегистрировавшая домен (Registrant).
  •  Имя домена (Domain Name).
  •  Имя, фамилия, почтовый адрес, телефон и адрес электронной почты администратора домена (Administrative Contact).
  •  Дата создания и обновления записи.
  •  Имена и адреса первичного и вторичных серверов DNS.

Теперь пришло время проявить способности детектива. Для того чтобы проанализировать полученную информацию и извлечь из нее что-то полезное, необходимо иметь определенные знания. Обычно мы называем такого рода информацию "нюансами", поскольку она уточняет имеющиеся в распоряжении взломщика сведения и позволяет осуществить более сфокусированную атаку. Давайте подробнее рассмотрим приведенные в примере данные.
Проверив информацию об организации, зарегистрировавшей домен, можно сделать вывод от том, действительно ли домен принадлежит интересующему нас объекту. Допустим, нам известно, что компания Acme Networks находится в штате Аризона. На основании этой информации можно сделать вывод о том, что полученные сведения имеют отношение к собираемым данным. Не забывайте, что местонахождение организации, зарегистрировавшей домен, необязательно совпадает с физическим расположением объекта. Многие организации имеют распределенные сети, каждая из которых самостоятельно подключена к Internet. Однако при этом они могут быть зарегистрированы как один объект. Поэтому проанализируйте полученные сведения и установите, имеет ли отношение регистратор домена к интересующей вас организации. Доменное имя, которое мы получили, совпадает с именем, которое мы использовали в запросе, поэтому в данном случае мы не узнали ничего нового.
Данные администратора домена — это очень важная информация, так как с их помощью можно узнать имя человека, ответственного за подключение к Internet или работу брандмауэра. Кроме того, в них содержатся номера телефонов и факсов. Если вы планируете предпринять попытку проникновения в сеть с использованием средств удаленного доступа, эта информация будет для вас очень важна. Достаточно настроить программу автопрозвона (wardialer) на полученные номера, и это будет хорошим началом процесса идентификации потенциальных номеров модемных соединений. Кроме того, взломщики часто используют информацию об администраторе, чтобы выведать сведения о системе у ничего не подозревающих пользователей. Например, взломщик может отправить пользователю дезинформирующее электронное сообщение от имени администратора, указав в качестве обратного свой адрес, а не адрес администратора. Просто удивительно, как много пользователей послушно меняют свой пароль на любой, который им укажет такой "администратор", основываясь лишь на предположении, что сообщение пришло из службы технической поддержки.
Даты создания и модификации записи говорят о том, насколько полученная информация соответствует действительности. Если запись была создана пять лет тому назад и с тех пор не обновлялась, скорее всего, что, как минимум, ее часть (например, сведения об администраторе) уже устарела.
В последнем фрагменте содержатся сведения о серверах DNS, обслуживающих данный домен. Первый сервер является первичным, а второй и все последующие — вторичными. Эта информация позднее понадобится для изучения серверов DNS, о чем мы поговорим ниже в этой главе. Кроме того, можно попробовать получить информацию о сети, используя в качестве исходных данных сетевого запроса адреса серверов DNS.

С помощью директивы server, примененной к записи HST, информация о которой получена из запроса whois, можно установить другие домены, обслуживаемые заданным DNS-сервером. Для этого необходимо выполнить следующие действия.
1. Выполните доменный запрос, как описывалось выше.
2. Найдите в полученных результатах сведения о первом сервере DNS.
3. Введите запрос whois для этого сервера DNS:
whois "HOST 10.10.10.l"@whois.networksolutions.com
4. Среди полученных результатов найдите запись HST для этого сервера DNS.
5. Выполните запрос whois с директивой server:
whois "SERVER NS9999-HST"@whois.networksolutions.com


Сетевой запрос



Для идентификации сетей, ассоциированных с конкретным доменом, может использоваться база данных ARIN (American Registry for Internet Numbers). В ней содержатся конкретные диапазоны адресов, которыми обладает данная организация. Сгенерировать такой запрос очень важно, поскольку он позволит определить, действительно ли конкретный адрес принадлежит заданной организации, а не относится к другой организации, например провайдеру услуг Internet.
В рассматриваемом примере мы попробуем определить все сети, принадлежащие компании Acme Networks. Запрос к базе данных ARIN является очень удобным, поскольку при этом не налагается ограничение на получение первых пятидесяти записей, реализованное компанией Network Solutions. Обратите внимание, что в строке запроса фигурирует символ заполнения ". ".

[bash]$ whois "Acme Net."@whois.arin.net
[whois.arin.net]
Acme Networks (ASN-XXXX) XXXX 99999
 Acme Networks (NETBLK) 10.10.10.0 - 10.20.129.255

С использованием определенного адреса (10.10.10.0) можно сформировать более специализированный запрос.

[bash]$ whois 10.10.10.08whois.arin.net
[whois.arin.net]
Major ISP USA (NETBLK-MI-05BLK) MI-05BLK
10.10.0.0 - 10.30.255.255
ACME NETWORKS, INC. (NETBLK-MI-10-10-10)
CW-10-10-10 10.10.10.0 - 10.20.129.255

База данных ARIN предоставляет удобный Web-ориентированный механизм обработки запросов, показанный на рис. 1.4. Возвращаясь к полученным результатам, можно заключить, что сеть интересующей нас компании Acme Networks адресуется главным провайдером Major IPS USA как сеть класса А (полное изложение основ протокола TCP/IP можно найти в книге Ричарда Стивенса (Richard Stevens) TCP/IP Illustrated, Volume 1). Таким образом, можно заключить, что эта сеть и является внутренней сетью компании Acme Networks. 



Рис. 1.4. Один из самых простых методов поиска информации в базе данных ARIN состоит в использовании интерфейса ее Web-узла

Контактный запрос



Поскольку технический служащий, чьи данные указаны в регистрационных данных, может заниматься администрированием нескольких организаций, имеет смысл обратиться к базе whois с контактным запросом по пользовательскому дескриптору базы данных. В данном случае воспользуемся дескриптором WB9201, полученным в предыдущем доменном запросе. Таким образом можно выявить домен, о существовании которого вы даже не подозреваете.

[bash]$ whois "HANDLE WB9201"@whois.networksolutions.com
Boyd, Woody [Network Engineer] (WB9201) woody@ACME.NET
BIG ENTERPRISES
11 TOWN CENTER AVE
EINSTEIN, AZ 20198 201-555-1212
(201)555-1212 (FAX) 201-555-1212

Можно также попробовать поискать записи, содержащие часть адреса @Acme.net, и получить список всех адресов электронной почты данного домена. Для краткости мы приведем лишь часть полученных данных.

[bash]$ whois "@Acme.net"@whois.internic.net
Smith, Janet (JS9999) jsmith@ACME.NET (201)555-9211 (FAX)
(201)555-3643
Benson, Bob (BB9999) bob@ACME.NET (201)555-0988
Manual, Eric(EM9999) ericm@ACME.NET (201)555-8484 (FAX)
(201)555-8485 Bixon, Rob (RB9999) rbixonSACME.NET (201)555-8072

Контрмеры: обеспечение безопасности общедоступных баз данных



Большая часть информации, хранящейся в описанных базах данных, открыта для свободного доступа. Когда организация намеревается зарегистрировать собственный домен, она обязана предоставить контактную информацию, сведения о выделенных ей блоке сетевых адресов и серверах DNS. Однако для того чтобы усложнить задачу взломщикам, необходимо придерживаться определенных принципов обеспечения безопасности.
Очень типичной является ситуация, когда администратор, давно уволившийся из организации, по-прежнему может изменить регистрационную информацию об этой организации. Поэтому прежде всего нужно постоянно следить за тем, чтобы информация, хранящаяся в этой базе данных, была точной. При первой же необходимости обновляйте административные, технические и финансовые контактные данные. Более того, продумайте, как обезопасить себя от возможного использования злоумышленниками номеров телефонов, указанных в контактных данных (например, взломщик может воспользоваться этими номерами для автопрозвона). Если это возможно, воспользуйтесь номерами бесплатных телефонов (toll-free) или номерами, которые не используются в вашей организации. Нам приходилось встречаться с организациями, которые указывали в качестве администратора вымышленное лицо, что, без условно, может оказаться западней для злоумышленника. Если любой сотрудник организации знает, что в случае получения электронного сообщения или звонка от имени человека, представляющегося администратором с указанным в регистрационных данных вымышленным именем, он должен немедленно уведомить об этом службу безопасности — это, безусловно, затруднит задачу взломщика.
Еще одна потенциальная опасность, связанная с регистрацией доменов, состоит в том, что некоторые компании-регистраторы разрешают обновлять регистрационные данные. Например, в настоящее время компания Network Solutions разрешает автоматически изменять доменную информацию через Internet. При этом лицо, зарегистрировавшее домен, аутентифицируется одним из следующих трех способов: по содержимому поля FROM электронной почты, с помощью пароля и с помощью алгоритма шифрования Pretty Good Privacy (PGP). К сожалению, по умолчанию используется метод проверки содержимого поля FROM, который (невероятно, но факт!) и выбирают многие администраторы сетей при регистрации своих доменов. Естественно, ни о какой безопасности при таком подходе говорить не приходится. Любой злоумышленник может воспользоваться электронным адресом администратора и изменить информацию о домене. (Такая ситуация получила название "доменного пиратства" (domain hijacking).) Именно это и произошло с компанией AOL 16 октября 1998 года, о чем рассказывалось в газете Washington Post. Кто-то выдал себя за служащего AOL и изменил доменную информацию AOL таким образом, чтобы все запросы к их серверам отправлялись в домен autonete.net. Конечно, компания AOL быстро восстановила работоспособность серверов, однако этот случай очень ярко демонстрирует, насколько порой хрупким может быть все, что связано с Internet. Поэтому важно выбрать какое-то более надежное решение, защитив регистрационные данные с помощью пароля или PGP. Более того, необходимо, чтобы изменение административных или технических контактных данных выполнялось с использованием механизма аутентификации с помощью формы Contact Form узла Network Solutions.


4.gif

Изображение: 

7. Этап 3. Прослушивание серверов DNS



Этап 3. Прослушивание серверов DNS


После установления всех доменов можно приступать к работе с серверами DNS. DNS — это распределенная база данных, предназначенная для преобразования IP-адресов в имена узлов и наоборот. Если сервер DNS не настроен на обеспечение максимальной степени защиты, то с его помощью можно получить информацию о внутренней сети организации.

Перенос зоны



Одна из самых серьезных ошибок администратора при настройке параметров сети состоит в предоставлении возможности взломщику осуществить перенос зоны DNS.
При переносе зоны (zone transfer) вторичный сервер DNS может обновить собственную базу данных зоны на основании данных, полученных от первичного DNS-сервера. Это позволяет обеспечить избыточность в работе службы DNS, которая необходима для тех случаев, когда первичный сервер по каким-то причинам становится недоступным. В общем случае вполне достаточно, чтобы перенос зоны выполнялся только вторичным DNS-сервером. Однако многие DNS-серверы настроены таким образом, что предоставляют копию зоны любому узлу Internet по первому же запросу. В этом нет ничего плохого при условии, что предоставляемая информация содержит лишь сведения о компьютерах, непосредственно подключенных к Internet. Однако такая возможность таит в себе опасность того, что полученные взломщиком сведения могут облегчить его задачу проникновения в сеть. Эта угроза реализуется в полной мере, когда в организации не используется механизм разделения DNS-информации на общедоступную и закрытую. Если это так, то любой желающий без особых проблем может получить сведения об именах узлов и IP-адресах внутренней сети. Предоставление информации о внутренних IP-адресах кому попало можно сравнить лишь с предоставлением полной схемы внутренней сети организации.
Давайте рассмотрим несколько методов переноса зоны, а также выясним, какие сведения можно получить из этих данных. Из всего множества различных инструментов, которые можно применять для выполнения данной операции, мы рассмотрим лишь самые распространенные.
Один из самых простых методов переноса зоны состоит в использовании клиента nslookup, который обычно входит в комплект поставки большинства версий UNIX и NT. Воспользуемся этой утилитой и введем следующие данные.

[bash]$ nslookup
Default Server: dns2.acme.net
Address: 10.10.20.2
>> server 10.10.10.2
Default Server: [10.10.10.2]
Address: 10.10.10.2
>> set type=any
>> Is -d Aome.net. >> /tmp/zone_out

Первая введенная команда — это запуск утилиты nslookup в интерактивном режиме. После запуска утилита сообщает, какой сервер им,ен в данный момент используется по умолчанию. Обычно таким сервером является DNS-сервер вашей организации или DNS-сервер провайдера. Поскольку используемый в данном примере DNS-сервер (10.10.20.2) не обслуживает интересующий нас домен, нам нужно перейти на другой сервер, на котором мы сможем найти необходимую информацию о внутренней сети. Таким образом, утилите nslookup необходимо явно сообщить о том, к какому серверу DNS ей нужно обратиться. В нашем примере мы будем использовать основной сервер сети Acme Networks с адресом 10.10.10.2. Вспомните, что его адрес мы узнали из регистрационной базы данных доменов на предыдущем этапе. Затем мы устанавливаем тип записи any, что означает, что в список выбранных записей будут отобраны все записи из базы данных DNS-сервера. (Подробнее о параметрах утилиты nslookup можно узнать с помощью команды man nslookup (UNIX) или nslookup ? (NT).)
И наконец, для получения всех записей, соответствующих заданному критерию, воспользуемся командой Is. Параметр -d служит для включения режима вывода всех записей домена. В конце доменного имени добавлен символ ".", как это требуется для явного задания полностью определенного имени (fully qualified domain name). Однако в большинстве случаев точку можно не использовать. Кроме того, мы переназначили вывод в файл /tmp/zone_out для возможности дальнейшего анализа полученных данных.
После выполнения переноса зоны можно открыть созданный файл и посмотреть, содержится ли в нем информация, которая может помочь нам в выборе какой-то конкретной системы в качестве плацдарма для проникновения в сеть. Вот фрагмент такого файла.

[bash]$ more zone_out
acctlS ID IN A ' 192.168.230.3
ID IN HINFO "Gateway2000" "WinWKGRPS"
ID IN MX 0 acmeadmin-smtp
ID IN RP bsmith.rci bsmith.who
ID IN TXT "Location:Telephone Room"
ce ID IN CNAME aesop
au ID IN A 192.168.230.4
ID IN HINFO "Aspect" "MS-DOS"
ID IN MX 0 andromeda
ID IN RP jcoy.erebus jcoy.who
ID IN TXT "Location: Library"
acct21 ID IN A 192.168.230.5
ID IN HINFO "Gateway2000" "WinWKGRPS"
ID IN MX 0 acmeadmin-smtp
ID IN RP bsmith.rci bsmith.who
ID IN TXT "Location:Accounting"

Мы не будем рассматривать подробно каждый элемент всех найденных записей, а остановимся лишь на некоторых важных типах информации, которую можно получить таким образом. Как видно из приведенного выше листинга, для каждого узла имеется запись типа 'А, содержащая IP-адрес узла, имя которого указано в левом столбце. Кроме того, каждый узел имеет запись типа HINFO, идентифицирующую используемую платформу или операционную систему (описание см. в RFC 952). Информация записей HINFO не используется операционными системами, однако очень часто оказывается полезной для взломщиков. Поскольку результаты переноса зоны сохранены в файле, то его содержимое без особых проблем можно отсортировать с помощью таких программ UNIX, как grep, sed, awk или perl.
Предположим, взломщик является экспертом какой-нибудь определенной операционной системы, например SunOS или Solaris. В таком случае найти в файле IP-адреса, соответствующие записям HINFO компьютеров SPARC, Sun или Solaris, можно с помощью следующей команды.

[bash]$ grep -i Solaris zone_out |wc -1 388

Таким образом, взломщик имеет 388 записей, в которых присутствует слово Solaris, и каждый из этих 388 компьютеров может стать потенциальной жертвой.
Предположим, нужно найти компьютеры, которые используются для тестирования программного обеспечения или аппаратных средств. Такие компьютеры часто представляют "лакомый кусок" для взломщика, поскольку обычно на них установлены минимальные средства обеспечения безопасности, используется легко угадываемый пароль, а администраторы, как правило, не следят за тем, кто за ними работает. Такие компьютеры идеально подходят для взлома! Поэтому можно попробовать поискать тестовые системы с помощью следующей команды.

[bash]$ grep -i test /tmp/zone_out |wc -1 96

Итак, в нашем распоряжении около сотни записей файла зоны, в которых содержится слово test. Как правило, это количество примерно соответствует количеству реальных тестовых систем сети. Приведенные примеры — лишь малая часть того, что можно при известной доле настойчивости и изобретательности получить из файла зоны. Опытный взломщик, "просеяв через сито" полученные данные, рано или поздно выявит самый уязвимый компьютер сети, с которого он сможет начать вторжение.
Существуют некоторые особенности, о которых нужно помнить. Вышеописанный метод позволяет одновременно обращаться лишь к одному серверу имен. Это означает, что взломщику придется выполнить те же операции по отношению ко всем остальным серверам имен, обслуживающим требуемый домен. Кроме того, мы обращались с запросом лишь к домену Acme.net. Если в представляющей интерес сети имеются подчиненные домены, придется выполнить те же действия и с каждым из них (например, greenhouse.Acme.net). И наконец, можно получить сообщение о том, что список записей домена недоступен или что запрос не может быть выполнен. Такое сообщение обычно говорит о том, что параметры настройки запрещают выполнять перенос зоны с этого сервера. Однако если в сети несколько серверов, то, возможно, удастся найти тот из них, который позволяет осуществлять перенос зоны.
Теперь, когда вы познакомились с тем, как перенос зоны выполняется вручную, можно рассмотреть и те средства, которые позволяют ускорить этот процесс. К таким средствам относятся host, Sam Spade, axfr и dig.
Команда host входит в комплект поставки многих версий системы UNIX. Вот несколько самых простых способов ее использования. 
 host -1 Acme.net
или 
host -I -v -t any Acme.net
Если нужно определить лишь IP-адреса, чтобы впоследствии вставить их в сценарий оболочки, можно воспользоваться командой cut, позволяющей выделить IP-адреса из выходного листинга команды host.

>>host -l acme.net |cut -f 4 -d" " » /tmp/ip_out

В процессе предварительного сбора данных использовать команды системы UNIX для выполнения всех задач нет необходимости. Существует довольно много продуктов для Windows, которые позволяют получить ту же информацию (рис 1.5).
И наконец, можно воспользоваться одним из лучших средств переноса зоны — утилитой axfr (http://ftp.edit.edu.cn/pub/linux/
www.trinux.org/src/netmap/axfr-0.5.2.tar.gz
), написанной Гаюсом (Gaius). Эта утилита последовательно опрашивает указанные домены, выполняет для каждого из них перенос зоны и создает сжатую базу данных зоны и файлов узлов по каждому домену. Кроме того, в качестве параметра этой утилите можно передать домены верхнего уровня, такие как com или edu, и получить таким образом список всех доменов, связанных с указанным доменом. Однако этой возможностью пользоваться не рекомендуется. Для запуска утилиты axfr используйте следующую команду.

[bash]$ axfr Acme.net
axfr: Using default directory:
/root/axfrdb Found 2 name servers for domain 'Acme.net.':
Text deleted.
Received XXX answers (XXX records).

Для того чтобы обратиться с запросом к полученной с помощью утилиты axf r базе данных, необходимо ввести следующую команду. [bash]$ axfrcat Acme.net

Получение записей обмена почтой (MX)



Определение компьютера, на котором обрабатывается почта,— это один из наиболее удачных способов выявления сетевого брандмауэра представляющей интерес организации. Как правило, в коммерческих компаниях почта обрабатывается на том же компьютере, который служит в качестве брандмауэра, или по крайней мере на компьютере, который находится в том же сегменте сети. Для получения более подробной информации можно воспользоваться командой host.

[bash]$ host Acme.net
Acme.net has address 10.10.10.1
Acme.net mail is handled (pri=20) by smtp-forward.Acme.net
Acme.net mail is handled (pri=10) by gate.Acme.net



Рис. 1.5. Приверженцы Windows могут выполнить перенос зоны, а также другие задачи предварительного сбора данных с помощью многофункциональной утилиты Sam Spade

Если команда host применяется без параметров либо только с именем домена, то сначала она попытается найти записи А, а затем записи MX. Приведенная выше информация пересекается с той информацией, которую ранее была получена при поиске в базе данных ARIN с использованием утилиты whois. Это лишний раз подтверждает, что мы правильно определили адрес нужной нам сети.

Контрмеры: обеспечение безопасности базы данных DNS



Информация DNS представляет для хакера очень большой интерес, поэтому очень важно уменьшить объем данных, доступных через Internet. С точки зрения настройки узла, необходимо ограничить возможность переноса зоны, разрешив ее лишь определенным серверам. В современных версиях службы BIND для этих целей можно использовать директиву xfernets файла named.boot. Для того чтобы ограничить возможность переноса зоны службы DNS компании Microsoft, необходимо использовать параметр Notify (более подробную информацию по этому вопросу можно найти по адресу http://support.-microsoft.eom/support/kb/articles/ql93/8/37.asp). Для настройки служб имен других разработчиков необходимо обратиться к соответствующей документации.
С точки зрения зашиты сети необходимо настроить брандмауэр или фильтрующий маршрутизатор таким образом, чтобы они отсекали все несанкционированные входящие соединения с портом 53 протокола TCP. Поскольку в запросах на получение имен используется протокол UDP, а в запросах на перенос зоны — протокол TCP, это позволит эффективно пресекать любые попытки переноса зоны. Кроме того, целесообразно установить устройство управления доступом или систему выявления вторжений (IDS — intrusion detection system), чтобы регистрировать всю информацию, которая может свидетельствовать об опасных действиях.
Ограничение возможности переноса зоны увеличит время, которое должен потратить взломщик, перебирая IP-адреса и пробуя разные имена узлов. Однако поскольку запросы на получение имен по-прежнему остаются разрешенными, взломщик может вручную перебрать все IP-адреса из выделенного для сети диапазона адресов. Таким образом, настройте внешние серверы имен так, чтобы они предоставляли информацию только о компьютерах, которые непосредственно подключены к Internet. Эти внешние серверы DNS ни при каких обстоятельствах не должны разглашать информацию о внутренней сети. Может показаться, что перечисленные выше рекомендации являются очевидными, однако мы не редко встречали DNS-серверы, которые позволяли "вытащить" из них более 16000 внутренних IP-адресов и имен узлов. И наконец, лучше не использовать записи HINFO. Как вы увидите ниже в этой главе, это вряд ли поможет скрыть от взломщика тип операционной системы, однако затруднит его задачу, так как он не сможет автоматизировать процесс получения данной информации программным способом.


5.gif

Изображение: 

8. Этап 4. Зондирование сети



Этап 4. Зондирование сети


Установив возможные сетевые адреса, можно попытаться определить топологию сети, а также возможные пути проникновения в нее.

Отслеживание маршрутов



Эта задача может быть выполнена с помощью утилиты traceroute (ftp://ftp.ee. lbl.gov/traceroute.tar.Z), которая входит в комплект поставки практически всех версий UNIX и Windows NT. В системе Windows NT название утилиты адаптировано к формату 8.3 — tracert.
Утилита traceroute, написанная Ван Якобсоном (Van Jacobson), представляет собой диагностическое средство, позволяющее отслеживать маршрут, по которому IP-пакеты проходят при передаче от одного узла к другому. Для получения от каждого из отслеживаемых узлов сообщения ICMP TIME_EXCEEDED утилита использует параметр TTL (time to live — время жизни) пакета IP. Каждый маршрутизатор, который обрабатывает такой пакет, должен уменьшить на единицу значения поля TTL. Таким образом, поле TTL играет роль счетчика пройденных узлов (hop counter). Мы воспользуемся утилитой traceroute, чтобы определить точный путь, по которому проходят наши пакеты. Как уже упоминалось выше, эта утилита играет роль зонда, с помощью которого можно выяснить топологию представляющей интерес сети. Кроме того, она позволяет выявить устройства управления доступом (программные брандмауэры или фильтрующие маршрутизаторы), которые могут отфильтровывать инициализируемый исследователем поток данных.
Рассмотрим следующий пример.

[bash]$ traceroute Acme.net
traceroute to Acme.net (10.10.10.1), 30 hops max, 40 byte packets
1 gate2 (192.168.10.1) 5.391 ms 5.107 ms 5.559 ms
2 rtrl.bigisp.net (10.10.12.13) 33.374 ms 33.443 ms 33.137 ms
3 rtr2.bigisp.net (10.10.12.14) 35.100 ms 34.427 ms 34.813 ms
4 hssitrt.bigisp.net (10.11.31.14) 43.030 ms 43.941 ms 43.244 ms
5 gate.Acme.net (10.10.10.1) 43.803 ms 44.041 ms 47.835 ms

На основании полученной информации можно проследить путь, по которому пакеты, прошедшие через маршрутизатор (шлюз), проследовали, миновав три узла (2—4), к точке назначения. На всем пути следования пакеты нигде не были заблокированы. На основании ранее полученной информации известно, что МХ-запись домена Acme. net указывает на узел gate.acme.net. Следовательно, можно предположить, что этот узел является не логическим устройством, а реальным компьютером сети, а сегмент, через который пакет прошел на предыдущем шаге (4), — это пограничный маршрутизатор организации. Сегмент 4 может быть реализован как в виде выделенного программного брандмауэра, так и в виде простого фильтрующего маршрутизатора. На данном этапе об этом пока трудно судить. Как правило, именно на устройство, находящееся на сегменте, непосредственно за которым находится реальный компьютер сети, возлагается задача маршрутизации (например, маршрутизатор или брандмауэр).
Рассмотренный пример слишком прост. В реальных ситуациях к одному и тому же узлу может вести несколько маршрутов, создаваемых устройствами с несколькими интерфейсами (например, маршрутизаторы серии Cisco 7500). Более того, каждый интерфейс может иметь собственный список управления доступом (ACL — access control list). Зачастую некоторые интерфейсы такого устройства пропускают запросы traceroute, а другие — нет, что определяется конкретным списком ACL. Таким образом, очень важно с помощью traceroute получить схему всей сети. После того как вы попробуете проследить с помощью traceroute маршруты, по которым проходят пакеты к каждому выявленному вами узлу сети, можно создать схему сети, наглядно демонстрирующую архитектуру шлюза Internet, а также показывающую, в каких местах расположены устройства, выполняющие функции управления доступом. Мы будем называть эту схему диаграммой путей доступа (access path diagram).
Необходимо подчеркнуть, что большинство версий traceroute систем UNIX по умолчанию отправляют пакеты UDP (User Datagram Protocol), а пакеты ICMP (Internet Control Messaging Protocol) — только в случае явного указания параметра -I. Однако в Windows NT для этих целей по умолчанию используются пакеты протокола ICMP, называемые эхо-запросами (echo request). Поэтому, если исследуемый узел блокирует либо пакеты UDP, либо ICMP, вы можете получать в разных операционных системах различные результаты. Среди других интересных параметров traceroute можно отметить параметр -q, который позволяет пользователю определять маршрутизацию с потерей источника запроса. Если вы уверены, что интересующий вас шлюз пропускает пакеты с измененным источником (что является очень большой ошибкой администратора этого шлюза), то можно попробовать включить данный режим, указав нужное количество участков (более подробную информацию можно получить с помощью команды man traceroute).
Имеется и несколько других параметров, которые позволяют обойти устройства управления доступом. Например, параметр -р n утилиты traceroute дает возможность указать начальный номер порта UDP (л), который должен увеличиваться на 1 при каждой попытке отслеживания маршрута. Таким образом, мы не сможем использовать фиксированные номера портов, не модифицируя traceroute. К счастью, Майкл Шифман (Michael Schiffman) уже создал модуль обновления, который позволяет с помощью дополнительного параметра -S остановить автоматическое увеличение счетчика для traceroute версии 1.4а5 (ftp://ftp.ee.lbl.gov/traceroute-1. 4a5.tar. Z). Это позволяет в каждом отправляемом пакете использовать один и тот же номер порта в надежде на то, что устройство управления доступом пропустит эти пакеты во внутреннюю сеть. Как правило, для этих целей лучше всего подходит UDP-порт с номером 53 (запросы DNS). Поскольку многие узлы пропускают входящие запросы DNS, существует высокая вероятность того, что устройство управления доступом не среагирует на такую попытку проникновения. 

[bash]$ traceroute 10.10.10.2
traceroute to (10.10.10.2), 30 hops max, 40 byte packets
1 gate (192.168.10.1) 11.993 ms 10.217 ms 9.023 ms
2 rtrl.bigisp.net (10.10.12.13)37.442 ms 35.183ms 38.202ms
3 rtr2.bigisp.net (10.10.12.14) 73.945 ms 36.336 ms 40.146 ms
4 hssitrt.bigisp.net (10.11.31.14) 54.094 ms 66.162 ms 50.873 ms
5 * * *
6 * * *

Из листинга видно, что попытка использования утилиты traceroute, которая по умолчанию отсылает пакеты UDP, была заблокирована брандмауэром.
Теперь еще раз попробуем запустить утилиту traceroute, однако на этот раз будем использовать фиксированный порт UDP 53, который используется для запросов DNS.

[bash]$ traceroute -S -p53 10.10.10.2
traceroute to (10.10.10.2), 30 hops max, 40 byte packets
1 gate (192.168.10.1) 10.029ms 10.027ms 8.494ms
2 rtrl.bigisp.net (10.10.12.13) 36.673 ms 39.141 ms 37.872 ms
3 rtr2.bigisp.net (10.10.12.14) 36.739 ms 39.516 ms 37.226 ms
4 hssitrt.bigisp.net (10.11.31.14)47.352 ms '47.363 ms 45.914 ms
5 10.10.10.2 (10.10.10.2),50.449ms 56.213ms 65.627ms

Поскольку теперь пакеты не вызывают подозрения у устройства управления доступом (сегмент 4), они без проблем его преодолевают. Таким образом, мы можем зондировать узлы, находящиеся за устройством управления доступом, просто отправляя запросы по протоколу UPD в порт 53. Кроме того, если вы будете зондировать систему, которая опрашивает порт 53 на предмет поступления сообщений по протоколу UDP, вы не получите обычного сообщения ICMP о том, что данная система недоступна. Таким образом, если вы не увидели информации об узле, это означает, что пакеты дошли до цели.
Все операции, которые мы проделывали до сих пор с утилитой traceroute, выполнялись в командной строке. Если вам по душе графический Интерфейс, то можно воспользоваться утилитой VisualRoute (www.visualroute.com) или NeoTrace (http://www. neotrace. com/). Утилита VisualRoute наглядно представляет каждый пройденный сегмент маршрута и связывает его с запросами whois. Хотя, эта утилита представляет получаемые данные в удобном формате, однако, как правило, ее возможностей для широкомасштабного зондирования больших сетей оказывается недостаточно.

Существуют специальные приемы, позволяющие уточнить данные о списке ACL, используемом для конкретного устройства управления доступом. Одним из таких методов является сканирование протокола брандмауэра (firewall protocol scanning), о чем пойдет речь в главе 11, "Брандмауэры".

Контрмеры: как пресечь зондирование сети



В данной главе мы лишь слегка затронули такую обширную тему, как методы зондирования сети. В последующих главах мы снова вернемся к ней и поговорим о более серьезных методах. Однако уже сейчас можно сформулировать некоторые соображения о том, как предотвратить рассмотренные выше попытки зондирования. Во-первых, многие коммерческие системы выявления вторжений (NIDS — Network Intrusion Detection Systems) позволяют выявлять попытки зондирования такого рода. Кроме того, подобные вторжения можно выявить с помощью бесплатной программы Марти Рош (Marty Roach) (http://www.snort.org/). Если вы хотите принять меры и защититься от зондирования сети с помощью утилиты traceroute, обратите внимание на утилиту RotoRouter, написанную Хамблом (Humble) (http://packet storm, securify .com/linux/trinux/src/rr-l.0 . tgz). Эта утилита позволяет не только регистрировать входящие от утилиты traceroute запросы, но и генерировать ложные ответы. И наконец, в зависимости от общей политики безопасности вашей организации можно настроить пограничные маршрутизаторы таким образом, чтобы ограничить поток данных по протоколам ICMP и UDP только строго определенными узлами. Такой подход позволит свести риск проникновения во внутреннюю сеть посредством зондирования к минимуму.


9. Резюме



Резюме


Итак, в распоряжении злоумышленника имеется целый ряд приемов, с помощью которых он может зондировать сеть или собирать о ней предварительную информацию. В данной главе мы лишь слегка затронули самые распространенные и типичные из этих приемов, поскольку новые средства и инструменты появляются чуть ли не ежедневно и любые детали могут быстро устаревать. Кроме того, все основные принципы предварительного сбора информации рассматривались на упрощенных примерах. На практике специалистам, возможно, придется столкнуться гораздо с более сложной задачей, состоящей в противостоянии сбору данных о десятках или сотнях доменов и их идентификации. Именно по этой причине мы в своей работе стараемся автоматизировать выполнение как можно большего числа задач, комбинируя сценарии оболочки, программы на языке Perl и другие средства. В Internet постоянно "рыщет" множество квалифицированных и опытных взломщиков, которых еще никто и никогда не ловил за руку. Поэтому не забывайте о том, что чем меньше информации о внутренней архитектуре будет доступно в глобальной сети и чем тщательнее будет выполняться мониторинг всех событий, тем сложнее взломщику будет проникнуть в сеть.