Gnivirdraw или Wardriving наоборот

Термин Wardriving или «боевые выезды» широко известен в мире безопасности беспроводных сетей. В ходе «боевого выезда» исследователь с помощью сетевого адаптера в режиме мониторинга собирает информацию об общедоступных точках доступа. На основе полученных данных строится статистика о производителях точек доступа, используемых механизмах защиты и т.д. Лаборатория сетевой безопасности Учебного Центра «Информзащита» переодически публикует «сводки с полей сражений», позволяющие оценить уровень защищенности беспроводных сетей Москвы.

Как и в проводных сетях, где усиление защиты серверов привело к смещению внимания злоумышленников на рабочие станции пользователей, применение WPA и 802.11i вынуждает этих же товарищей искать обходные пути использования беспроводных сетей для взломов. Надо отметить, что точно так же, как и в традиционных сетях, атаки на клиентов беспроводных сетей по своей эффективности могут превосходить традиционный взлом защиты точек доступа. Данные, полученные Positive Technologies в ходе проведения тестов на проникновение и работ по оценке защищенности беспроводных сетей, показывают, что в большинстве случаев защите беспроводных клиентов уделяется крайне низкое внимание.

В связи с этим назрела необходимость в методике получения информации о защищенности не только точек доступа, но и клиентов беспроводной сети. Для сбора подобной статистики может использоваться метод Gnivirdraw или Wardriving наоборот.

При обратном Wardriving идет сбор информации об «общедоступных» станциях, то есть о станциях, которые соединяются с точками доступа без аутентификации. Впервые термин Gnividraw был введен в докладе Rogue Squadron группы Shmoo.

Практически Gnivirdraw может выполняться несколькими методами. Самый простой вариант, предложенный в оригинальном докладе – установка ложной точки доступа с каким-либо привлекательным значением идентификатора сети и отслеживание попыток подключения к ней. Этот метод мало отличается от беспроводного Honeypot и позволяет собрать крайне ограниченный объем информации.

Больший интерес представляет активный вариант исследования, при котором мы подстраивается под требования станций и, что называется
«предоставляем услуги по запросу». В этом случае радиоэфир прослушивается на предмет фреймов Probe Request, из них извлекается значение идентификатора сети, после чего станциям отправляется ответ Probe Request содержащий указанный клиентом SSID. В случае если станция установила соединение с сетью, можно проанализировать наличие DHCP-запросов или другого трафика, позволяющего определить ее настройки.

Из собранной информации можно извлечь статистические данные по:

- производителям беспроводных адаптеров;
- количеству неассоциированных станций;
- клиентам, допускающим соединение с произвольными сетями;
- клиентам с ненастроенными профилями подключения;
- клиентам, использующим DHCP;
- клиентам, использующим IPv6;
- клиентам, для которых удалось определить IP-адрес станции.

методика работ

С практической точки зрения, для проведения подобного исследования понадобится ноутбук под управлением Linux или вашей любимой операционной системы. Для эмуляции точек доступа можно воспользоваться утилитами «автоответа» на запросы Probe Request, например probemapper или Karma Tools. Утилита Karma Tools позволяет не только эмулировать точку доступа, но и работать в режиме сервера DHCP, DNS и прозрачного прокси-сервера для HTTP. Поскольку эти функции явно излишни, и их применение может трактоваться как попытка несанкционированного доступа, их лучше отключить путем редактирования конфигурационных XML-файлов в папке etc. За основу лучше взять файл karma-scan.xml, в котором необходимо закомментировать или удалить строчку

<run module=”DHCP-SERVER”/>

Эмулятор точки доступа запускается командой

#bin/karma etc/karma-war.xml

Теперь система готова к работе. Журналы соединений сохраняются в файле /var/log/messages, и могут использоваться для формирования статистки. Однако журналы Karma Tools выдают информацию только об установленных ассоциациях и не дают возможности анализировать попытки неудачных соединений. Получить список неассоциированных станций можно двумя способами. Если на используемом ноутбуке установлено две беспроводных карточки, то вторая из них переводится в режим мониторинга и на ней запускается анализатор трафика, перехватывающий запросы Probe Request. Если карточка только одна, то можно просто отредактировать исходный код модификации драйвера madwifi, используемой Karma Tools, таким образом, чтобы утилита сохраняла информацию о запросах Probe Response. Для этого в разделе обработчика фреймов Probe Request файла ieee80211_input.c добавляется функция вывода сообщения о запрошенном значении SSID и MAC-адресе клиента. Пример изменений для драйвера madwifi версии 20060124 приведен на рис. 1.



Рис. 1. Модификация драйвера.

Для получения информации о клиентах, настроенных на работу с DHCP, и тех, чей IP-адрес можно определить другим способом, используется сетевой анализатор, работающий на том же сетевом интерфейсе, что и Karma Tools. Для того, чтобы избежать сохранения пакетов на жестком диске и потенциальных проблем с законом, лучше использовать консольный анализатор, чей вывод дополнительно отфильтровывается для выбора статистики. Например, для получения списка MAC-адресов станций, запросивших IP-адрес по протоколу DHCP или отправляющих широковещательные запросы NETBIOS, можно воспользоваться следующей конструкцией

#tethereal –i ath0 –V | egrep "Ethernet.II|IPv6|User.Datagram"

К приведенному примеру желательно добавить анализ пакетов ARP. Стандартный вывод анализатора перенаправляется в файл, который сохраняется для анализа.

В качестве транспортного средства для проведения работ автор рекомендует велосипед. Невысокая скорость дает возможность клиентам обнаружить «точку доступа», установить ассоциацию и передать достаточное количество IP-пакетов. Хотя и передвижение на автомобиле в крупных городах в последнее время стало достаточно медленным для эффективного Gnivirdraw.

анализ данных

Первым делом на основе собранных Probe Request создается список уникальных MAC-адресов, который затем анализируется на соответствие списку OUI с целью получения производителей сетевых адаптеров. Эти же данные используются в качестве общего количества неассоциированных станций. Количество клиентов, не использующих аутентификацию при подключении, определяется по количеству уникальных MAC-адресов, установивших ассоциацию с эмулятором точки доступа. Эти данные содержатся в системных журналах ОС (/var/log/messages).

Выделить клиентов, допускающих соединение с произвольными сетями, можно по системному журналу. В нем модифицированный драйвер сохраняет значение идентификатора сети, и если идентификатор записан в шестнадцатеричном виде, например 0x4987ab39843b2345c5656c67c78c78c834332347c978, то это наш клиент. Необходимо учитывать также стандартные SSID для различных адаптеров, таки как WXYZ для Intel Centrino и т.д.



Рис. 2. Журналы Karma.

Станции, использующие DHCP и IPv6, и станции, транслирующие свои сетевые настройки через широковещательные пакеты, определяются по журналам сетевого анализатора. Эту наиболее трудоемкую часть работы есть смысл автоматизировать.

В результате получается интересный отчет, показывающий реальное положение с безопасностью клиентов в той или иной точке планеты. Но не спешите его публиковать. Дело в том, что автору не удалось добиться внятного ответа на вопрос о законности данного мероприятия. Наиболее прямой из них выглядел следующим образом: «Уголовного дела я здесь не вижу, но вполне можно усмотреть следы административного правонарушения. Хотя, могу я могу дать телефоны как минимум трех человек, которые за скромную сумму возьмутся доказать неправомерность таких работ». Таким образом, все вышеизложенное относится к описанию методики обследования беспроводной сети в раках работ по аудиту безопасности или оценке защищенности.

Gnivirdraw в Москве

В заключительном разделе приведем результаты исследования, выполненного экспертами Positive Technologies и Учебного Центра «Информзащита» с использованием методики Gnivirdraw на выставке Infosecurty Moscow 2006. Всего в течение нескольких часов на территории выставки было замечено около двух сотен клиентов. Большая часть из них использовала адаптеры, построенные на базе технологии Centrino.



Рис. 3. Распределение клиентов беспроводных сетей по производителям.

С эмулируемыми в ходе тестирования сетями соединились почти семьдесят процентов всех клиентов беспроводных сетей. Причем двадцать девять процентов всех соединившиеся клиентов готовы соединяться с любыми сетями, то есть либо имели некорректно настроенный профиль соединения, либо искали открытую беспроводную сеть. В режиме «парковки» работало около восьми процентов. Эти станции также соединялись с произвольными сетями, причем на этот раз абсолютно точно известно, что делали они это без ведома хозяев станций (рис. 4).



Рис. 4. Станции, установившие ассоциацию.

На сетевом уровне удалось «договорится» более чем с 80% всех соединившихся станций. Причем количество клиентов беспроводной сети, использующих IPv6, оказалось достаточно велико, целых семнадцать процентов. Автор связывает это со спецификой места, в котором проводились работы, и большим количеством карманных компьютеров.



Рис. 5. Анализ сетевого уровня.

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



Сергей Гордейчик, системный архитектор компании Positive Technologies, ведущий разработчик курсов по безопасности Учебного центра


Сетевые решения. Статья была опубликована в номере 11 за 2006 год в рубрике лабораторная работа

©1999-2024 Сетевые решения