Разведка объектов атаки
Одна лишь настойчивость не гарантирует успеха. Сколько ни рыскай в поле, где дичи нет, охоты не получится.
🕛 12.09.2009, 00:07
ИНОГДА ХАКЕРЫ ЦЕЛЕНАПРАВЛЕННО АТАКУЮТ ВПОЛНЕ ОПРЕДЕЛЕННЫЕ КОМПЬЮТЕРЫ, НО ЧАЩЕ ВСЕГО ОНИ ПРОСТО СТАРАЮТСЯ НАЙТИ КОМПЬЮТЕР, КОТОРЫЙ ЛЕГЧЕ ДРУГИХ ПОДДАЕТСЯ ВЗЛОМУ. Проникнув в компьютер, хакер может воспользоваться им для хранения своих файлов, которые, будучи обнаруженными у хакера, послужили бы уликами против него. Бывает и так, что хакер использует чужой компьютер в качестве стартовой площадки для атак на другие компьютеры, в которых хранятся секретные данные, например на компьютеры правительственных учреждений. Поэтому любые попытки "вычислить" хакера будут приводить не к его компьютеру, а к тому, который был использован для атаки.Конечно, если ваш компьютер никто не сможет найти, то и атаковать его будет невозможно. Если вы отключите компьютер от телефонных линий и Internet и перекроете все пути физического доступа к нему, так что никто, кроме вас, не сможет им воспользоваться, то это будет гарантией того, что ни один хакер его не взломает. К сожалению, в большинстве случаев пользователи заинтересованы в подключении своих компьютеров к Internet или локальным сетям, а это означает, что любой компьютер, в том числе и ваш, может стать мишенью для хакера.
Перед наступлением военные высылают разведчиков во вражеский стан для получения сведений о противнике. Точно так же и хакер, решив взломать чей-либо компьютер, сначала разведывает возможные мишени, чтобы определить, какую из них атаковать. Чаще всего для сбора предварительных сведений об объектах атаки используются автоматическое сканирование телефонных линий (war-dialing), сканирование портов (port scanning) и мобильная локация (war-driving).
Автоматическое сканирование телефонных линий
Доступ к чужому компьютеру чаще всего осуществляется через Internet, но одного только отключения кабеля, соединяющего компьютер с Internet, еще недостаточно для того, чтобы преградить путь хакеру. Даже установив брандмауэр и защитив компьютерную локальную сеть от проникновения извне, многие компании фактически сами предоставляют возможности обхода защитной системы, разрешая своим сотрудникам подключение компьютеров через модемы к внешним телефонным линиям, чтобы торговые агенты и персонал, работающий на удалении, могли беспрепятственно получать доступ к корпоративной информации из любой точки земного шара.Компьютеры, находящиеся в индивидуальном пользовании, также могут быть уязвимыми, если на них выполняются такие программы удаленного доступа, как pcAnywhere. Всякий раз, когда вы подключаете компьютер к модему, соединенному с внешней телефонной линией, вы словно распахиваете настежь двери, ведущие к вашему компьютеру.
Чтобы исключить возможность доступа к компьютерам людей, не имеющих на то полномочий, организации и индивидуальные пользователи держат соответствующие телефонные номера в секрете и требуют не включать их в справочники. В то же время, если это и способно остановить значительную часть тех, кто пытается осуществить несанкционированный доступ к компьютеру, то только не хакеров.
Определение телефонного номера, ведущего к компьютеру, хакеры начинают с продуманного сужения области поиска. Если для атаки намечена конкретная цель, то сначала выясняется, какие вообще телефонные номера могут принадлежать данной компании. Например, если хакер хочет определить телефонный номер, к которому подключен компьютер, принадлежащий местному офису предприятия, ему достаточно просмотреть телефонный справочник и найти в нем все телефонные номера, относящиеся к данному зданию. Как правило, все номера, выделяемые телефонной компанией предприятию, имеют общий префикс, например: 234-1090, 234-3582.
Следовательно, если в интересующей хакера компании имеется компьютер с модемом, то существует почти стопроцентная вероятность того, что телефонный номер, набор которого приведет к соединению с таким компьютером, также начинается с префикса "234". Однако вместо того, чтобы тратить всю ночь на слепой перебор различных цифровых комбинаций для определения номера, обеспечивающего необходимое соединение, хакеры поручают выполнение этой утомительной работы своим компьютерам, запуская специальные программы автоматического сканирования телефонных линий (war-dialers), называемые также демонами набора телефонных номеров, или демонами дозвона (demon dialers) (рис. 11.1).
Если, например, хакер предварительно установил, что все телефонные номера компании начинаются с префикса "234", то демону дозвона будет поручено перебрать все номера в диапазоне от 234-0000 до 234-9999. Всякий раз, когда демон дозвона
обнаруживает, что к линии данного телефонного номера (например, 234-3402) подключен компьютерный модем, он запоминает этот номер, чтобы впоследствии хакер мог воспользоваться им для своих целей. Отсюда следует, что если существует телефонный номер, используя который можно получить доступ к компьютеру, то, рано или поздно, хакер его определит.
Демон набора телефонных номеров осуществляет автоматический набор номеров, принадлежащих определенному диапазону, и отслеживает те из них. которые ведут к компьютерам
После того как демон набора определит все телефонные номера, ведущие к компьютерам, хакер может заняться проверкой каждого из них по отдельности. Обычно, прежде чем разрешить подключение к телефонной линии, компьютер запрашивает пароль. Все, что на данном этапе требуется от хакера,- это разгадать пароль, после чего ворота компьютера будут распахнуты перед ним.
Один из простейших способов борьбы с демонами набора телефонных номеров состоит в использовании процедуры обратного вызова (call back). Когда кто-то (легальный пользователь или злоумышленник) пытается дозвониться до компьютера, устройство обратного вызова "поднимает" трубку и делает звонки по предварительно заданным телефонным номерам, заведомо принадлежащим легальным пользователям. Разумеется, решительно настроенный хакер в состоянии определить, по каким номерам дозванивается устройство обратного вызова, а затем перенаправить эти звонки на свой телефонный номер.
Сканирование портов
Хотя к некоторым компьютерам и можно получить доступ по телефонным линиям, в большинстве случаев компьютеры подключаются к Internet напрямую. Вместо уникальных телефонных номеров, идентифицирующих компыотеры в телефонной сети, компьютеры, подключенные к Internet, снабжаются уникальными IP-адресаГлава 11. Разведка объектов атаки 167ми, однозначно идентифицирующими их во всей сети Internet. Поэтому для нахождения компьютеров в Internet хакеры используют не демоны набора телефонных номеров, а специально предназначенные для этой цели хакерские инструментальные средства (см. рис. П.2), называемые сканерами (scanners) (а также сканерами портов (port scanners) или сетевыми сканерами (network scanners)).
Сканеры портов используются хакерами для выяснения IP-адресов компьютеров, входящих в локальную сеть, перед тем как ее атаковать
К наиболее популярным сканерам портов относятся NetScanTools (www.nwpsw.com), Nessus (http://www.nessus.org), iNetToois (http://www.widpackets.com), SAINT (http://www.wwdsi.com/products/daint_engine.html), SARA (http://www-arc.com/ sara), SATAN (http://www.fish.com/satan) и Nmap (http://www.insecure.org/nmap).
Сканирование во многом напоминает перебор телефонных номеров с помощью демонов дозвона, отличаясь лишь тем, что в данном случае для выяснения путей доступа к компьютеру исследуется некоторый диапазон IP-адресов. Определив IP-адрес какого-либо компьютера, сканер исследует далее порты этого компьютера, чтобы выяснить, какие из них удастся использовать.
Порт - это не физический кабель или разъем в вашем компьютере, а коммуникационный канал, через который компьютер соединяется с Internet. При подключении компьютера к Internet он должен уметь различать, когда приходит электронная почта, а когда - Wfeb-страница. Поскольку информация из Internet поступает в компьютер по одному и тому же физическому соединению (телефонная линия или Internet-кабель), в компьютерах создаются отдельные каналы, или порты, каждый из которых предназначен для получения данных определенного типа. Благодаря этому, всякий раз, когда информация поступает через определенный порт, компьютеру известно, как ее обрабатывать.
168 Часть 3. Способы взлома и проникновения в компьютеры
Чтобы порты можно было отличать друг от друга, каждому из них присваивается определенный номер. Так, если компьютеру необходимо получить доступ к Wfeb-стра-нице, хранящейся на другом компьютере, то он запрашивает эту информацию через порт номер 80. Компьютеры, которые отображают Wfeb-страницы (их называют также Weh-хостами (web hosting computers)), поддерживают свой порт 80 в открытом состоянии, выжидая, когда другой компьютер запросит у них Web-страницу через этот порт.
Порты используются п каждом компьютере, подключенном к Internet, а это означает, что любой из них всегда может послужить точкой доступа к компьютеру для хакера. Б таблице 11.1 перечислены наиболее часто используемые порты, однако следует иметь в виду, что любой компьютер имеет сотни портов, каждый из которых может быть открыт.
Таблица 11.1 Порты, которые обычно всегда доступны в компьютерах, подключенных к Internet
Служба
Порт
File Transfer Protocol (FTP)
21
Telnet
23
Simple Mail Transfer Protocol (SMTP)
25
Gopher
70
Finger
79
Hypertext Transfer Protocol (HTTP)
80
Post Office Protocol, version 3 (POP3)
110
Когда одному компьютеру необходимо связаться через порт с другим компьютером, он посылает ему пакет с установленным битом SYN (синхронизация), что означает: "Я готов подключиться к твоему порту". Получив это сообщение, целевой компьютер отвечает посылкой пакета SYN/ACK (синхронизация/уведомление), подтверждающего успешное получение им первого пакета и означающее: "Я готоп к установлению соединения". Когда первый компьютер получает пакет SYN/ACK, он возвращает целевому компьютеру свой ответный пакет АСК (уведомление). В результате описанного обмена сообщениями первый компьютер узнает о том, что порт открыт и что второй компьютер готов к обмену данными через этот порт.
Описанную последовательность событий сетевые сканеры и используют для нахождения открытых портов и проверки их уязвимости.
Эхо-тестирование адресатов
Эхо-тестирование (ping sweeping) используется для проверки возможности обмена пакетами с компьютером, имеющим заданный IP-адрес, путем посылки на него сообщений. Если компьютер отвечает обратной посылкой полученных данных, то это означает, что он включен и функционирует нормально. Если же сканер не получает ответного сообщения, то можно сделать выпод, что либо компьютер по указанному IP-адресу отсутствует, либо он подключен, но работает в автономном режиме.При обычном эхо-тестировании используется протокол ICMP (Internet Сол!го1 Message Protocol - протокол управляющих сообщений в сети Internet), определяющий способ передачи сообщений между двумя компьютерами. Эхо-запросы ICMP абсолютно безопасны и вовсе не обязательно означают нападение на компьютер, хотя, если они адресованы определенным портам, некоторые брандмауэры и могут предпринимать их блокировку в качестве меры защиты от синхронной атаки {ping flooding - один из самых ранних и простейших методов атаки серверов с целью вызова ситуации отказа в обслуживании (denial of service), называемой также "убийственным запросом" (Ping of Death), когда количество запросов, посылаемых атакующим компьютером, значительно превышает то, которое в состоянии обработать получающий их компьютер).
В тех случаях, когда ICMP-запросы не доходят до компьютера, который по имеющимся у хакера сведениям должен быть подключен к Internet и нормально функционировать, часто пытаются использовать сканеры портов, такие как Nmap (см. рис. 11.3), которые посылают на целевой компьютер сообщения (эхо-запросы) с установленным битом АСК. Иногда таким способом действительно удается обмануть брандмауэр, поскольку компьютер-мишень принимает получаемые сообщения за уведомления об успешном приеме первым компьютером предыдущего сообщения, которое подтверждаю готовность компьютера-мишени к установлению соединения. Поскольку брандмауэр полагает, что установление соединения инициировано самим компьютером-мишенью, он пропускает эти сообщения (АСК), что позволяет таким сканерам, как Nmap, определить доступность целевого компьютера, в то время как с помощью обычного ICMP-запроса выяснить это было бы невозможно.
Сканер Nmap, позволяющий "нащупывать" уязвимые компьютеры в сети Internet
Тестирование IP-адресов, покрывающих некоторый диапазон, может занять много времени, поскольку компьютер должен дожидаться ответа на каждый посылаемый запрос. Чтобы ускорить этот процесс, некоторые сканеры посылают лавинные запросы {flood of pings), т.е. отправляют очередной запрос, не дожидаясь прихода ответов на предыдущие запросы, причем каждый подтвержденный запрос указывает на компьютер, который может служить потенциальной мишенью.
Методы сканирования портов
Чтобы атаковать компьютер, требуется знать его IP-адрес, который можно получить либо методом эхо-тестирования, либо просмотром имен доменов на Web-узле Network Solutions () (см. рис. П.4). После выяснения IP-адреса комиыотера-мшпени необходимо определить его открытые порты, которые можно будет использовать в качестве точек доступа к компьютеру.
При выяснении IP-адресов Web-узлов может пригодиться команда Whois
К числу наиболее часто применяемых методов сканирования портов относятся
следующие:
Сканирование путем установления TCP-соединения. Сканер связывается с портом путем посылки пакета синхронизации (SYN), ждет прихода ответного пакета, подтверждающего получение предыдущего пакета (SYN/ACK), после чего посылает уже свой пакет подтверждения (АСК), что завершает установление соединения. Сканирование этого типа легко распознается и во многих случаях регистрируется компьютерами-мишенями как возможное начало хакерской атаки, о чем выводится соответствующее предупреждение.
Сканирование путем посылки пакетов TCP SYN. Сканер связывается с портом путем посылки пакета SYN и ждет прихода ответного пакета SYN/ACK, указывающего на то, что порт находится в состоянии ожидания (прослушивания). По сравнению со сканированием с образованием ТСР-соединения применение этой методики, называемой полускшшрованием (half-scanning), мишеням труднее обнаружить и зарегистрировать, поскольку в данном случае подтверждающий пакет (АСК) сканирующим компьютером не посылается.
Сканирование путем посылки пакетов TCP FIN. Сканер связывается с портом путем посылки сообщения "Больше нет данных" ("No more data from sender") (пакет FIN). Закрытый порт отвечает на него сообщением Reset (RST), тогда как открытый порт просто игнорирует его и тем самым обнаруживает себя.
Фрагментарное сканирование. Чтобы скрыть от фильтра пакетов или брандмауэра спои истинные намерения, сканер разбивает исходный пакет SYN на более мелкие части. Этот метод используется в сочетании с другими методами сканирования, такими как сканирование с установлением TCP-соединения или сканирование путем посылки пакетов TCP SYN и TCP FIN.
Рикошетная атака FTP-сервера. Сканер запрашивает у FTP-сервера файл. Поскольку в запросе указывается IP-адрес и номер порта компьютера-мишени, при рикошетной атаке удается замаскировать источник атаки и обойти любой брандмауэр или иную систему зашиты, предназначенную для блокирования доступа "чужаков" (но не других компьютеров той же сети) к целевому компьютеру. Успешная передача файла говорит о том, что порт открыт.
Сканирование с использованием протокола С DP (User Datagram Protocol). При
передаче сообщений вместо протокола TCP используется протокол UDP. При получении эхо-запроса закрытые порты отвечают сообщением об ошибке ICMP_PORT_UNREACH. Порты, не ответившие таким сообщением, являются открытыми.
Получение "отпечатков пальцев" операционной системы
Успешный поиск открытого порта и определение его номера открывают возможность доступа к компьютеру, но одного только определения открытого порта для этого не достаточно. Хлкср должен также определить, под управлением какой операционной системы работает данный компьютер, после чего он будет знать, какие команды следует применять и какиьш известными брешами в программном обеспечении можно воспользоваться, чтобы не пришлось разгадывать пароль доступа.Большинство Wcb-серверов используют разновидности системы Unix (например, Linux, Digital UNIX или Solaris), хотя на многих серверах выполняется одна из версий Microsoft Windows. Найдется также значительное количество серверов, использующих OS/2 или Mac OS.
Определение операционной системы осуществляется путем посылки данных на различные порты. Поскольку различные операционные системы реагируют на получаемые данные по-разному в зависимости от того, какие данные поступают на тот или иной порт, это позволяет хакерам судить о типе операционной системы, развернутой на компыотере-мишени. Некоторые примеры распространенных методов определения удаленных операционных систем приведены ниже:
Зондирование путем посылки пакетов FIN. Зондирующий компьютер посылает порту сообщение "Больше нет данных" ("No more data from sender") (пакет FIN) и ждет ответа. Windows отвечает на пакеты FIN сообщениями Reset (RST), в связи с чем, если в ответ на зондирующий пакет FIN получено сообшение RST, можно сделать вывод, что компыотер-мишень работает под управлением системы Windows.
Зондирование путем посылки пакетов FIN/SYN. Зондирующий компьютер посылает порту пакет FIN/SYN и ждет ответа. Системы Linux отвечают посылкой пакета FIN/SYN/ACK.
Проверка начального окна TCP. Проверяется размер окна пакетов, возвращаемых компыотером-мишеныо. В случае системы AIX размер окна составляет 0x3F25, a в случае систем OpenBSD и FreeBSD - 0х402Е.
Анализ ICMP-сообщения. Зондирующий компьютер посылает данные на закрытый порт и ожидает получения сообщения об ошибке. Любой компьютер, кроме тех, которые работают под упраачением операционных систем Solaris и Linux, должен выслать обратно начальный IP-заголовок с присоединенными к нему дополнительными восемью байтами. В случае указанного выше исключения возвращается более восьми байтов.
Кроме того, сканирование компьютеров с помощью таких программ, как Nmap, позволяет хакерам уточнять версию операционной системы, установленной на ком* пыотере-мишени, и в некоторых случаях даже определять номер ее версии.
От подобного зондирования трудно защититься, поскольку его очень трудно отличить от обычного процесса установления связи с другим компьютером. Попытки такого зо[[дировапия выглядят настолько безобидными, что во многих случаях брандмауэры и системные администраторы их просто могут не заметить. Определив IP-адрес, доступные открытые порты и операционную систему целевого компьютера, хакер может приступить к планированию стратегии проникновения в компьютер. как это делает и обычный взломщик, предварительно изучающий лом, прежде чем пытаться и него проникнуть.
Мобильная локация
Вместо того чтобы физически соединять компьютеры в сеть с помощью кабелей, многие компании и частные лица переходят к стандарту беспроводных (мобильных) систем, известному под названиями 802.11b или Wi-Fi (wireless fidelity). Все выглядит очень просто. Вы подключаете устройство, называемое точкой доступа (accesspoint), как элемент своей сети, и через эту точку доступа сигналы из сети передаются на любой компьютер с мобильным сетевым адаптером, или картой (NIC - network interface card), обеспечивая доступ этого компьютера к сети, как если бы он был физически соединен с ней кабелем. Если вы пользуетесь компьютером Macintosh, оборудованным адаптером AirPort, то вы используете протокол 802.1 lb.
Доступ к беспроводной сети может получить каждый компьютер, оборудованный мобильным сетевым адаптером. К сожалению, это означает, что хакер, расположившийся на другой стороне улицы со своим портативным компьютером, к которому подключен мобильный сетевой адаптер, также может получить доступ к той же сети, По сути дела, беспроводная сеть - это та же кабельная сеть, но только кабели в этой сети выходят из каждого окна здания, и любой посторонний человек всегда может подключиться к ней таким образом, что вы об этом не будете знать.
Для предотвращения несанкционированного доступа в большинстве беспровод-пых сетей используют механизм шифрования (получивший название WEP от wired equivalent privacy - защищенность па уровне кабельных сетей) и аутентификации. WEP-шифрование позволяет скрывать данные, передаваемые беспроводным способом, а аутентификация обеспечивает предоставление лишь заранее предусмотренных возможностей компьютерного доступа к беспроводной сети. Как и в случае большинства других защитных мер, применение двух этих методов способно остановить далеко не любого хакера. WEP-шифрование обладает слабыми возможностями защиты и легко взламывается. Разрешение доступа лишь заранее определенным компьютерам действительно является эффективным средством защиты в беспроводных сетях, но многие просто не утруждают себя использованием этой возможности. Даже если это средство и активизируется, хакеры знают, как обмануть компьютер и заставить его считать, что у них действительно есть полномочия на использование сети.
Хакеры могут сканировать беспроводные сети, разъезжая в автомобиле с портативным компьютером, мобильным сетевым адаптером, антенной для приема сигналов, передаваемых в сети, и программой сканирования, позволяющей обнаруживать беспроводные сети (см. рис. 11.5). Некоторые хакеры для этой цели даже вооружаются глобальной системой рекогносцировки (global positioning system - GPS), с помощью которой пни могут составлять точные карты беспроводных сетей. Процесс объезда некоторой территории па автомобиле с целью обнаружения беспроводных сетей называют "мобильной локацией "(war-driving), а поскольку все больше и больше организаций и частных лиц переходят к эксплуатации беспроводных сетей, то найти такую сеть довольно легко. (Подобную локацию можно осуществлять и при пешем обходе территории (war-strolling), а также с борта самолета (war-flying) или судна (war-boating), но во всех этих случаях основная идея остается одной и той же: обнаружение беспроводных сетей, развернутых на некоторой территории, путем ее обхода.)
Чтобы больше узнать о методах мобильной локации и используемом при этом аппаратном и программном обеспечении, а также для ознакомления с последними новостями в этой области, посетите Web-узел WarDriving.com (www.wardriving.com). Посетив узел http://www.kraix.com/downloads/TDGTW-WarXing.txt, вы сможете загрузить руководство "The Definitive Guide To Wireless WarX'ing" ("Полное методическое руководство по локации беспроводных сетей"). Для
получения более подробной информации о сетях Wi-Fi обзаведитесь книгой Джона Росса (John Ross) "The Book of Wi-Fi", опубликованной издательством No Starch Press.
Карта Северной Америки, на которой отображены известные беспроводные сети, которые удалось обнаружить с помощью программы NetStumbler
Ключевая роль при поиске беспроводных сетей принадлежит специализированным анализаторам пакетов, результаты работы одного из которых представлены на рис. П.6. К числу наиболее популярных программ этого типа относятся NetStumbler (http://www.stumhler.net) (для Windows), MiniStumbler (http://www.netstumbler.com) (для Pocket PC), Kismet (http://www.kismetwireless.net) (для Linux) и MacStombler (http://www.macstumbler.com) (для Mac OS).
Чтобы облегчить друг лругу обнаружение беспроводных сетей, хакеры приспособили для этой цели приемы странников, которые выцарапывали или наносили мелом на деревьях или домах различного рода метки, предупреждающие других странников, например, о том, что такой-то город негостеприимен, а такое-то селение, наоборот, очень радушно встречает незнакомцев, или же что проходящие поезда н данном месте притормаживают, так что здесь на них легко запрыгнуть. Применяя аналогичную методику расстановки опознавательных знаков (war-chalking) (www.warchalking.org), хакеры имеют гоэможность сообщить друг другу о местонахождении и характеристиках тех или иных беспроводных сетей.
Обнаружение ближайших беспроводных сетей с помощью специализированного анализатора пакетов
Стоит одному хакеру обнаружить какую-либо беспроводную сеть, как на нее тут же набрасываются другие хакеры. При наличии столь большого количества желающих получения несанкционированного доступа к сети весьма вероятно, что кто-то из них сможет случайно или преднамеренно разрушить, удалить или изменить ценные файлы легальных пользователей.
Set's warchalk..!
KfV
Опознавательные знаки, используемые для указания местоположения и статуса беспроводных сетей
Что происходит после того, как хакер изучил подступы к компьютеру
Используя автоматическое сканирование телефонных линий, сканирование портов и автомобильную локацию, хакеры могут определить местонахождение почти любого компьютера, который обменивается сообщениями с другими компьютерами через локальную сеть, телефонную линию или Internet. К сожалению, изучив подступы к компьютеру, хакер не может удержаться от соблазна изучить ситуацию далее и попытаться взломать компьютер; а уж если это ему удается, то далее от него можно ожидать чего угодно - от простого просмотра файлов до перегрузки системы и разрушения любых программных объектов, попадающихся ему под руку.