Обнаружение беспроводной сети методом активного сканирования PDF Print E-mail
Written by Administrator   
Monday, 20 August 2012 13:53

Активное обнаружение сети реализуют программы Netstumbler и MiniStumbler - работающие под Windows инструменты, которые чаще всего применяют искатели сетей во всем мире. Иногда программу Netstumbler рекомендуют в качестве инструмента ИТ профессионалам, но, как мы покажем ниже, это не очень хорошая идея.
Под активным сканированием понимают отправку пробного фрейма с запросом и ожидание ответа на него. Из полученного ответа извлекается ESSID сети, канал, индикатор включенного протокола WEP, уровень сигнала и поддерживаемая скорость передачи в битах.
Исходные тексты программы Netstumbler не опубликованы и не существует официальной информации о ее внутреннем устройстве. Однако Hlkari из DachbOden Labs исследовал, каким образом Netstumbler осуществляет сканирование, и реализовал аналогичную технику в программе dstumbler, вошедшей в пакет BSD-airtools.
Похоже, что работа Netstumbler основана на недокументированной возможности библиотеки hcf, которую компания Lucent предоставляет для написания драйверов карт на базе набора Hermes, и драйвера wavelancs для Linux (тоже с закрытыми исходными текстами). Netstumbler посылает клиентской карте запрос на сканирование, выдавая команду 0x11 с параметром OxFlOl. Эта команда говорит карте о необходимости посылать пробные запросы и сохранять данные об ответивших хостах. Ответы обрабатываются асинхронно: когда карта получает результаты, она посылает информационное сообщение о событии обработчику прерываний в драйвере. Тот же обработчик отвечает и за чтение других буферов, например, приема или передачи. Информационные события посылаются в виде стандартной структуры ltv, содержащей длину, код и буфер данных, поэтому при исследовании двоичного кода надо искать структуры 1су с кодом 0хР101. В этих 1^ должен быть массив примерно таких структур со сведениями о точке доступа:
struct wi_scan_res {
u_intl6_t wi_chan;
u_intl6_t wi_noise;
u_intl6_t wi_signal;
u_intl6_t wi_bssid[6];
u_intl6_t wi_interval;
u_intl6_t wi_capinfo; 1-bss, 4-приватность [wep]
u_intl6_t wi_ssid_len;
u_intl6_t wi_ssid[32]; };
*/
/* /* /* /* /* /* */
/* длина ssid */
/* ssid (название точки доступа
канал dss */ средний уровень шума уровень сигнала */ МАС-адрес точки доступа */ интервал между передачей маяков */ информация о возможностях

Hlkari успешно реализовал эту технику в программе dstumbler, кроме того, она поддерживает еще и анализ трафика в режиме мониторинга. Отметим еще, что, вопреки всеобщей уверенности в том, что Netstumbler может работать только для карт Lucent на базе набора Hermes, последняя версия прекрасно ведет себя и при использовании карт с набором Prism. Мы убедились в этом, взяв PCMCIA-карту Netgear 802.11b. Возможно, результаты Hlkari были взяты на вооружение разработчиками Netstumbler.
Хотя отправка фрейма ответа на пробный запрос - это нормальное поведение точки доступа, описанное в стандарте 802.11, оно не обязательно должно быть реализовано на практике. Так называемые закрытые сети не будут отвечать на пробные запросы. Кроме того, в некоторых случаях фреймы, содержащие ESSID, которые заведомо использует программа Netstumbler и ей подобные, могут быть отфильтрованы квалифицированным администратором. Поэтому таким способом обнаруживаются не все сети. Хуже того - чтобы Netstumbler обнаружила сеть, до нее еще должен дойти фрейм с пробным запросом. Это значит, что обнаруживаются лишь сети в области действия передатчика вашей карты, а она невелика по сравнению с мощной точкой доступа, подключенной к антенне с большим коэффициентом усиления (и про усилитель не забудьте). Водитель машины, вооруженный программой Netstumbler, может находиться внутри зоны Френеля протяженного двухточечного канала и все же не увидеть его - края слишком далеки. Поэтому чем выше эквивалентная изотропно излучаемая мощность (EIRP), тем больше сетей удастся обнаружить методом активного сканирования. Негативные последствия такой методики очевидны:
о вас тоже легко обнаружить (техника обнаружения пользователей Netstumbler подробно обсуждается в главе 15);
о вы тратите драгоценный заряд аккумуляторов, поэтому время сканирования ограниченно.
Не забудьте еще, что активное сканирование не имеет ничего общего с анализом трафика; те, кто называет программу Netstumbler анализатором беспроводных протоколов, должны серьезно заняться основами теории беспроводных сетей. Netstumbler и подобные программы не протоколируют ничего, кроме фреймов с ответами на пробные запросы, поэтому они не могут применяться для анализа трафика и поиска неполадок. Это также рекомендовать в качестве инструмента для профессионалов и тех, кто всерьез озабочен тестированием возможности проникновения в сеть и поиском неполадок в сети. Что же касается «крутых» взломщиков, то вряд ли они будут прибегать к активному сканированию, поскольку предпочитают скрытность, удаленность и наличие достаточного времени (лимитированного емкостью аккумуляторов). Конечно, Netstumbler останется любимым инструментом дилетантов, которые не намерены обнаружить все сети в округе или предоставлять услуги по осмотру месту и обеспечению безопасности. Надо еще добавить, что инструменты для Windows, которые поддерживают режим мониторинга и анализ беспроводных протоколов, являются коммерческими и весьма недешевыми, a Netstumbler бесплатна.