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

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

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

Сергей Гордейчик,  gordey @ ptsecurity.com

Термин «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 приведен на рис. 30.

Модификация драйвера

Для получения информации о клиентах, настроенных на работу с 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 и т.д.

Журналы Karma

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

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

Gnivirdraw в Москве

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

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

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

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

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

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

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

Об авторе

Сергей Гордейчик работает системным архитектором компании Positive Technologies (www.ptsecurity.ru), где он специализируется в вопросах безопасности приложений, безопасности беспроводных и мобильных технологий. Автор также является ведущим разработчиком курсов «Безопасность беспроводных сетей», «Анализ и оценка защищенности Web-приложений» Учебного центра «Информзащита» (www.itsecurity.ru).

Опубликовал несколько десятков статей в “Windows IT Pro/RE”, SecurityLab (www.securityfocus.ru) и других изданиях. Является участником Web Application Security Consortium (WASC).

Антивирус для мозга!

Лечим цифровую неграмотность без побочных эффектов

Активируйте защиту — подпишитесь