Wifi probe что это

Обновлено: 03.07.2024

With WiFiProbe, you can simply tap an open network, then WiFi Probe connects to it and checks Internet connectivity. The result is directly shown, there is no need to start a browser or another app. It even identifies captive pages and can thus separate free from password protected wireless networks. Checked networks are stored, so they do not have to be probed one more time when they are found again.

In auto probe mode, WiFi Probe automatically checks all open WiFis it encounters and vibrates when a network providing Internet access has been found or if you are in range of a free network that has already been checked. If you want, WiFi Probe can also immediately connect to the network. Hence, WiFi Probe is the perfect tool to quickly find an open Internet access in the vicinity.

WiFi Probe является простой в использовании беспроводной сетевой сканер с уникальной особенностью: Это не только сканировать бесплатные беспроводные сети, но также в состоянии обнаружить, если они действительно предоставляют доступ в Интернет. Как правило, вам придется включить в сеть, открыть браузер и загрузить веб-страницу, чтобы увидеть, если сеть защищена, так или даже не подключен к Интернету. Если он защищен, вы должны вернуться к настройкам WiFi и попробуйте следующий.

С WiFiProbe, вы можете просто нажать открытая сеть, то WiFi зонд подключается к нему и проверяет подключение к Интернету. В результате непосредственно показано, что нет необходимости, чтобы начать браузер или другое приложение. Он даже определяет неволе страницы и может, таким образом отделить бесплатно, защищенные паролем беспроводных сетей. Проверено сети хранятся, так что они не должны быть проверены еще раз, когда они встречаются снова.

В режиме автоматического зонда, WiFi зонд автоматически проверяет все открытые WiFis он сталкивается и вибрирует, когда сеть, обеспечивающая доступ в Интернет был найден или если вы находитесь в зоне действия бесплатной сети, что уже проверено. Если вы хотите, WiFi зонд может также сразу подключиться к сети. Следовательно, WiFi Probe является идеальным инструментом для быстрого поиска открытого доступа к Интернету в непосредственной близости.



Москва вайфайная

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

Пробы WiFi

Чтобы соединиться с уже известными сетями, которые не сообщают о своём присутствии, все ваши мобильные устройства отправляют пробные пакеты, чтобы найти известные им сети. Эти пакеты можно перехватить, когда телефон включается, или когда он отсоединяется от сети. Для этого используются обычные инструменты — airodump / tcpdump. Пример:

Вывод содержит время, MAC-адрес устройства и имя сети. Пример:

То бишь, устройство 50:ea:d6:aa:bb:cc проверяло, есть ли сеть SUBWAY в пределах доступности.

Ну и что тут плохого?

Ну испускают они эти пакеты с именами сетей. Подумаешь.

Заметим, что у большинства локальных сетей уникальные имена. Конечно, будут попадаться распространённые имена типа SUBWAY. Но во многих домах сети называются либо автоматически созданными именами ProviderNameDEADBEEF, либо заданными пользователями.

То есть, список пробных пакетов содержит примерно такие имена сетей:

домашние: ProviderNameXXXXX, StreetNameWifi, и т.д.
рабочие: Company, CompanyCity, и т.п.
едальни: стандартные
отели: разные уникальные названия, за исключением сетевых гостиниц

Ну и что же такого, если вы вдруг перехватите пробный пакет с именем сети FooProvider123456, BlahProviderABCDEF, ACME-Fooville, CafeAwesome? Конечно, можно догадаться, какой у человека провайдер и где он обедает. Но это всего лишь имена. Никаких BSSID, координат и прочего. Хорошо. Но не очень.

Ибо есть на свете WiGLE!

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



Сети в районе Кремля

Можно сделать некоторые допущения. Например, если Wigle возвращает больше 3-4 сетей с одинаковыми именами, это, скорее всего, некие стандартные сети, которые можно игнорировать… Если только одна из них не находятся близко к тем уникальным, что мы нашли. Можно отфильтровать те сети, которые не были видны больше года. Если только они не уникальные и не перемещались во временем – в противном случае это будет означать, что точка доступа была перемещена.

Сбор информации

Какую информацию мы можем собрать на основании списка сетей? Посмотрим на карту, которая была создана в автоматическом режиме из результатов поиска Wigle. Они были скачаны при помощи библиотеки wiggle и нанесены на карту:

image

Зелёными я обозначил зашифрованные сети, красными – открытые. Синими – неизвестные. Каждый маркер на деле показывает на какое-то определённое здание. Сразу можно понять, что человек, скорее всего, живёт и работает на восточном побережье США (несколько маркеров), летает в Японию (маркер зашифрованной корпоративной сети) и отдыхает в Таиланде (сети с именами отелей), а также ездит по Новой Зеландии (сети с названиями кемпингов). Из названия корпоративной сети можно вычислить название компании.

Тут вам и социальная инженерия, и поиск конкретного человека, и поиск сотрудников компании Х… А по MAC-адресу можно узнать модель устройства – и таким образом найти этого человека в толпе.

Шеф, что делать??

На linux можно сделать настройку сетей wpa_supplicant и указать scan_ssid=0. Так оно настроено по умолчанию и такая настройка отменяет отсылку пробных пакетов. На других системах – не знаю.

Конечно, можно удалить сохранённые сети, или выключать wi-fi, когда он вам не нужен. Но это не решение проблемы. Можно назвать свою домашнюю сеть распространённым именем – но проблемы с названиями других сетей, которыми вы пользуетесь, это не решает.

За последний год мне попадалось много историй использования пассивного отслеживания WiFi. В основном все сосредотачиваются на вопросах безопасности и приватности, но мало кто рассказывает, как это работает. Я сделал целый проект Casual Encounters и могу поделиться информацией о работе системы, о том, как избежать слежки, и как её построить (в исследовательских целях, разумеется). Не пробуйте повторить это дома.

Пробные запросы

Когда WiFi клиент пробует связаться с известной сетью, у него есть два варианта. Первый используют ноутбуки и прочие устройства, не являющиеся смартфонами. Он включает поиск сигнальных пакетов (Beacon Frames). Эти пакеты рассылают роутеры, чтобы объявить о своём присутствии. Клиент находит уже известную ему сеть и соединяется с ней. Второй вариант, который обычно используется смартфонами, включает периодическую рассылку пробных запросов (Probe Requests), содержащих уникальный мак-адрес клиента и иногда имя сети, которое ему известно. Преимущество второго подхода в том, что он срабатывает быстрее. А кроме этого, его гораздо легче использовать в своих целях.

Режим прослушивания (Monitor Mode)

Устройства WiFi умеют работать в шести режимах. Чтобы прослушивать трафик, устройству надо переключиться в режим прослушивания. После этого оно не афиширует себя, поэтому наличие таких устройств очень сложно установить.

Защита

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

Для андроида есть несколько приложений для облегчения процесса. Например, AVG PrivacyFix позволяет настроить список доверенных сетей, при наличии которых ваш WiFi будет включён. Есть и другие приложения на эту тему.

В случае iOS ваш выбор ограничен. Если не использовать jailbroken, защищённый режим работы яблофона не пустит приложения к рубильнику WiFi. В iOS 7 появился разве что более удобный доступ к меню WiFi, но это всё равно надо делать вручную.

Строим трекер

Можно, конечно, просто использовать ноутбук – даже MacBook. Устанавливаете Wireshark и настраиваете фильтр для пробных запросов. Но это не так интересно, к тому же, если вы захотите построить целую сеть трекеров, использовать для этого ноутбуки будет довольно накладно.

Для таких ненакладных целей хватит и Raspberry Pi с беспроводным адаптером, или (что мне больше нравится), роутера TP-LINK MR-3020 со специальной прошивкой. Эти варианты небольшие и их можно запитать от 5-вольтовой батарейки.

Настройка Pi будет совсем простой, т.к. там уже есть рабочая файловая система, но я предпочитаю роутер MR-3020. Это недорогое и автономное решение. Поэтому я буду описывать настройку роутера, а если вам захочется использовать Pi, то:

  • можно пропустить шаги до Настройки режима прослушивания
  • у этих двух устройств разные версии Linux, поэтому какие-то файлы с настройками могут находиться в разных местах и у них могут быть разные менеджеры пакетов
  • более мощные радио типа AWUS036H могут потребовать USB-хаб с внешним питанием

Настройка роутера

  • TP-LINK MR-3020 router ($34.99 на Amazon). Должны работать и аналоги, типа TP-LINK TL-WR703N
  • USB флэшка (2-4 Гб)
  • Ethernet-кабель

Первая часть инструкций взята от проекта PirateBox , поскольку первичная настройка устройств идентична.

1. Скачайте копию OpenWrt для MR3020 (модификация от Matthias Strubel включает все необходимые модули ядра).

2. Переключите переключатель рядом с портом LAN/WAN в положение WISP

4. Подключите роутер через ethernet к компьютеру и откройте в браузере 192.168.0.254 (MR3020) или 192.168.1.1 (WR703N)

6. Перейдите к System Tools > Firmware Upgrade, выберите прошивку OpenWRT

Текст прошивки WR703N китайский. Для прошивки через веб-интерфейс выберите последнее меню слева, затем третий пункт подменю. Подробнее .

1.jpg

9. Командой passwd задайте пароль. Это даст доступ к SSH

2.jpg

3.jpg

10. При помощи vi отредактируйте настройки сети. Предположим, что ваш основной шлюз имеет адрес 192.168.2.1. Адрес OpenWrt не должен совпадать с ним, но должен быть в той же подсети.

4.jpg

13. Подключите MR3020 (или WR703N) к роутеру-шлюзу через Ethernet и включите настроенный роутер в сет. Подождите минуту. С компьютера, подключённого к локалке, попробуйте зайти на роутер

5.jpg

6.jpg

15. Добавьте поддержку USB в OpenWrt (если вы не использовали уже настроенную прошивку из шага 1):

7.jpg

Настройка USB

Отформатируйте флэшку на две партиции – основная Ext4 и swap. swap должна быть между 256 и 512 Мб.

8.jpg

Вставьте флэшку в роутер. Проверьте, что она определилась.

9.jpg

Настройка файловой системы

Теперь мы сделаем sda1 основой корневой файловой системы

10.jpg

Проверим, что всё замаунтилось (должно вернуть /dev/sda1 на /mnt/sda1 type ext4):

11.jpg

12.jpg

Скопируем файлы с роутера на флэшку, чтобы все необходимые настройки были доступны, когда мы перезагрузимся и USB окажется основой файловой системы.

Добавьте в /etc/config/fstab автоматическое подключение /dev/sda1.

13.jpg

14.jpg

15.jpg

Когда все огоньки вновь загорятся, зайдите по ssh и проверьте, что флэшка правильно подцепилась.

16.jpg

Если вы не можете зайти через ssh, значит копирование файлов прошло неправильно. Выньте флэшку, перезагрузите его через питание. Когда он запустится, вы сможете зайти туда через ssh. Затем снова вставьте флэшку и повторите предыдущие шаги.

Настраиваем swap

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

17.jpg

Для решения проблем с памятью можно использовать партицию swap. Сначала проверим, что она работает:

18.jpg

19.jpg

Снова запустим free для проверки того, что она подключилась.

20.jpg

Чтобы это происходило автоматически лучше всего сделать отдельный скрипт. Кстати, заодно вы узнаете, как делать такие скрипты.

Скрипт для подключения Swap при старте

21.jpg

22.jpg

23.jpg

24.jpg

Перезагрузимся, зайдём через ssh и проверим подключение свопа:

25.jpg

Настраиваем режим прослушивания

Почти всё готово. Нам надо отредактировать настройки беспроводного подключения:

26.jpg

27.jpg

28.jpg

29.jpg

30.jpg

Проверьте, что wifi работает и находится в режиме monitor:

31.jpg

Установка пакетов

Теперь мы установим все необходимые для сканера пакеты:

32.jpg

Проверка скрипта сканирования

Скопируем скрипты с git (или их можно скачать в виде zip)

33.jpg

Как ответственные хакеры, мы не будем перехватывать все запросы. Мы сделаем белый список, куда включим только наши телефоны.

34.jpg

35.jpg

Достаньте телефон, отсоединитесь от текущей сети, но не выключайте wifi. В терминале вы должны начать видеть запросы, отправляемые им. Можно заметить, что не у всех запросов будет указан SSID. Запросы без SSID – широковещательные, они предназначены для всех точек доступа, находящихся в пределах досягаемости.

Итоги

Ну и всё. Теперь у вас есть роутер, который отслеживает проходящие мимо него смартфоны. Конечно, наш скрипт не особо полезен в таком виде. Его, например, можно подредактировать так, чтобы он собирал больше данных, писал их в лог, отслеживал перемещение смартфонов между разными вашими устройствами, и т.д.

Wi-Fi

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

Мы сделаем Wi-Fi радар в лабораторных условиях с помощью скрипта Probemon.py для поиска и идентификации ближайших устройств по MAC-адресу, уровню сигнала и точкам доступа, к которым они недавно подключались.

Сбор MAC-адресов в беспроводных сетях может быть незаконным, особенно в сетях, которыми вы не владеете. Пожалуйста, ознакомьтесь с законами вашей страны. Материал опубликован в ознакомительных целях.

Пассивное слежение за беспроводными устройствами

Устройства слежения в сотовых сетях, такие как DRTBOX, сканируют сотовые телефоны находящиеся в диапазоне сигнала на предмет их местоположения и уникального идентификатора. Этих данных, в сочетании с координатами GPS, достаточно для того, чтобы узнать кто вы, и вы где находитесь.

Большинство Wi-Fi устройств теряют идентифицирующую информацию в процессе сканирования беспроводных сетей. Мы будем использовать Wi-Fi радар базирующийся на Python для записи полученной информации от мобильных устройств поблизости.

Как работает Probemon

Смартфоны и другие устройства с беспроводными модулями ищут Wi-Fi вокруг себя двумя способами: сканируют новые точки доступа (трансляционное сканирование) и те точки, к которым устройство подключалось ранее. Процессы поиска доступной сети могут быть перехвачены и записаны, а MAC-адреса идентифицированы.

В дополнение к идентификации устройств, Probemon позволяет узнать последнюю сеть к которой был подключено устройство. Это поможет узнать геолокацию и построить профиль пользователя за определенный период времени при помощи сервиса Wigle.

Специфика iPhone

Этот метод неэффективен против iPhone из-за его особенности поиска сетей Wi-Fi. Он пингует широковещательные и неопределенные узлы, а после запрашивает ближайшие доступные точки доступа. Поэтому скрипт не может отследить iPhone в момент запроса конкретных точек доступа. Отслеживание смартфонов с версией прошивки до iOS 10 еще сложнее, из-за того, что они рандомизируют свой MAC-адрес.

Что нужно для изготовления Wi-Fi радара

Probemon — это программа на Python, которая позволяет беспроводному адаптеру работать в гибком диапазоне устройств. Probemon довольно хорошо работает и легко устанавливается на Kali Linux. Для его использования понадобятся:

  • свежая версия Kali Linux;
  • беспроводной сетевой адаптер;
  • предпочтительно, микрокомпьютер, такой как Raspberry Pi 4.

Установка зависимостей

Во-первых, необходимо установить некоторые зависимости. Для этого после обновления Kali Linux, нам понадобятся: Python, Netaddr и Libdnet. Kali Linux включает в себя актуальную версию Python, но если его нет, мы можем установить его набрав в терминале:

Установка Netaddr и Scapy:

Установка и запуск Probemon:

Probemon

Если вы видите что-то похожее, то скрипт готов к запуску

Если программа указывает на отсутствие зависимостей или модулей, их нужно найти на GitHub и установить, как Scapy и Netaddr.

Запускаем Probemon для записи фреймов

Probemon идет с набором аргументов, которые указаны в справке.

Переводим адаптер в режим монитора:

Kali Linux

Беспроводной адаптер в режиме Monitor

Как только все запустилось, переходим к сбору данных. Запустим Probemon набрав в терминале:

Этот скрипт записывает результаты в файл под названием «HowTo», отображает их на экране и показывает, как они попали в эфир. Здесь отображаются MAC-адреса, производители устройств и беспроводные сети которые они искали.

Отслеживание фрейм-запросов с помощью Probemon

Отслеживание фрейм-запросов с помощью Probemon

Устранение слежки за MAC-адресами

Простое выключение функции Wi-Fi и режима «smart switch» не позволят вашему телефону отдать свой MAC-адрес. Программа macchanger, может заменить ваш MAC-адрес на что-то жуткое, что отобьет желание следить за вами.

image

В заключительной части данной статьи мы рассмотрим имеющиеся утилиты для атак на клиентские 802.11 устройства, их особенности, преимущества и недостатки. В первую очередь, хотелось бы принести извинения читателям за задержку с выходом третьей части статьи, связанную с деловыми разъездами. С другой стороны, была возможность дополнительно оттестировать описываемые программы в полевых условиях. В процессе тестирования был отловлен мелкий, но назойливый баг в Karma tools, который, соответственно, будет упомянут ниже.

Итак, начнем с требований к утилитам для атак на 802.11 клиенты. Знание этих требований полезно не только для правильного выбора и понимания работы подобных программ, но и для их совершенствования и переделки заинтересованными энтузиастами. В первую очередь, утилиты для таких атак должны проводить детальную диссекцию и сортировку Probe Request фреймов для того, чтобы узнать к каким сетям хотят подсоединиться обнаруженные клиентские устройства. Под сортировкой фреймов прежде всего подразумевается отражение утилитой последовательности расположения желаемых сетей в СПС клиента. Ответом на полученные Probe Requests должна служить генерация произвольных Probe Response фреймов, содержащих в себе значения ESSID, востребованные атакуемыми клиентами. Фактически, речь идет о преднамеренной эмуляции поведения "дефективных" точек доступа с Marvell Libertas и ADMtek ADM8638 чипсетами, упомянутыx в предыдущей части статьи при обсуждении атак перехвата соединения. Однако, Probe Request фреймы не предоставляют атакующему информацию о мерах защиты, используемых сетями в СПС. Следовательно, наша утилита также должна анализировать фреймы запроса аутентификации, отправляемые клиентскими устройствами после получения ими Probe Response фреймов от точки доступа (в нашем случае - эмулируемой атакующим для присоединения к себе клиента).

Что если клиент, посылающий Probe Request фреймы, уже ассоциирован к беспроводной сети ? Подобного рода поведение не противоречит 802.11 стандарту и может быть легко воспроизведено пользователем посредством запуска поиска доступных сетей в конфигурации беспроводного устройства под Windows или команды iwlist [interface] scanning под Линуксом будучи уже подсоединенным к сети. Мало того, некоторые клиентские устройства продолжают автоматически посылать регулярные Probe Requests и после ассоциации. Такое поведение типично для PCMCIA Cisco Aironet карточек, отправляющих Probe Requests не только в ассоциированном состоянии, но и сразу же после распознания карточки системой без предварительного поднятия беспроводного интерфейса с помощью таких команд, как ip или ifconfig. Интересно отметить, что в старых версиях Линукс ядра до 2.4.14, клиентские устройства Cisco Aironet посылали регулярные Probe Request фреймы даже в режиме мониторинга (RFMON), предоставляя тем самым уникальную возможность обнаружения атакующих, пассивно прослушивающих 802.11 сети. Помимо Cisco Aironet, отправление Probe Requests в ассоциированном состоянии было замечено за клиентскими устройствами на базе чипов Центрино, работающими под Windows, но не под Линуксом. Таким образом, наша утилита для беспроводных атак против клиентов должна быть способна к распознанию существующих ассоциаций клиент <=> 802.11 сеть. Тогда, при обнаружении ассоциации, атакующий сможет ее оборвать посредством атаки по отказу в обслуживании для последующего "перетаскивания" клиента на себя. Классическими примерами подобных DoS атак являются посылка фреймов деаутентификации, деассоциации или некорректных фреймов аутентификации а ля fata_jack.

Предположим, вы просканировали эфир на предмет ищущих ассоциации устройств и обнаружили сразу несколько подобных клиентов, "желающих" различные ESSID для присоединения. Учитывая особенности работы алгоритма поиска беспроводных сетей, это наиболее часто встречающаяся на практике ситуация. Разные клиентские устройства присоединялись к различным сетям в прошлом, какие-то из устройств образовали ад-хок узлы и какие-то - запарковались с длинным псевдослучайным значением ESSID. Можно ли "подцепить" множество подобных клиентов одновременно ? Безусловно, если создать такое же множество виртуальных точек доступа по ходу обнаружения ESSID, требуемых этими клиентами. А для тех клиентов, которые отправляют Probe Request фреймы с широковещательным ESSID (ANY), должна быть виртуальная точка доступа, предоставляющая им свой ESSID. Таким образом, атакующий может установить единовременное соединение с большим количеством уязвимых клиентов для проведения массовых сканов на порты и уязвимости, а также массового фишинга паролей.

Безусловно, все описанные в цикле статей атаки на клиентские устройства можно осуществлять и вручную, путем поимки посылаемых Probe Request фреймов и настраивания программной точки доступа с подходящим ESSID для подсоединения клиента. Для рассмотрения характеристик присутствующих в зоне приема клиентов достаточно использовать Kismet, Aircrack airodump либо же просто Ethereal/tcpdump. Если клиент успешно не ассоциируется, смотрим на фреймы запроса аутентификации в Ethereal/tcpdump и определяем, какой метод аутентификации необходим данному клиенту. Далее переходим на следующую в СПС сеть не требующую аутентификации вне открытого метода (по ESSID) либо, за неимением таковой, ломаем запрашиваемый клиентом способ аутентификации (если возможно). Потом поднимаем заранее подготовленные фальшивые DHCP, DNS и прочие сервисы и, при необходимости, включаем IP forwarding на атакующем хосте. Однако, такой подход громоздок, и явно требует автоматизации. Кроме того, он ограничен возможностью единовременной атаки только на одно клиентское устройство.

Исторически, первой утилитой, предоставляющей возможность автоконфигурации програмной точки доступа для присоединения обнаруженных клиентских устройств был Hotspotter от Макса Мозера, известного также как автора 802.11 сниффера Wellenreiter, до сих пор популярного у владельцев КПК с установленным Линуксом из-за прекрасного графического интерфейса. Принцип работы Hotspotterа очень прост - он сравнивает желаемые клиентами ESSID со списком под названием HOTSPOTLIST, в котором находятся ESSID распространенных хотспотов. Разумеется, вы можете дополнить этот список своими значениями распространенных ESSID. Если ESSID клиента найден в списке, то беспроводной интерфейс конфигурируется как точка доступа с этим ESSID значением. Hotspotter имеет флаги -е и -r для запуска команд перед и после входа интерфейса в режим точки доступа, и работает с карточками чипсетов Prism 2-2.5 (драйвер HostAP) и Connexant (драйвер Prism54g). В связи с наличием более продвинутых утилит для атак на клиентские устройства, в настоящее время Hotspotter представляет главным образом исторический интерес. Кроме того, он пока является единственной утилитой подобного рода, входящей в популярный, собранный уже упомянутым Максом Мозером, Security Auditor Линукс дистрибутив на живом CD для не имеющих под рукой эту операционную систему и не желающих её инсталлировать.

По сравнению с Hotspotter, ProbeMapper от ThinkSECURE представляет значительный шаг вперед. ProbeMapper проводит детальный анализ статуса обнаруживаемых клиентов, включая диссекцию фреймов запроса аутентификации:

Как видим, данный клиент неассоциирован и в прошлом подключался к двум сетям, одна из которых (t-mobile) - сеть распространенных коммерческих хотспотов, которая на нижних уровнях OSI ничем не защищена. Для переманивания к себе этого конкретного клиента запусакем probemapper -i eth1 -t . Probemapper спрашивает "Would you like to act as an AP for ssid t-mobile [y|N]:". Это именно то, что нам нужно, поэтому отвечаем "y". Вуаля, клиент подсоединен. Если же нам не подходит первый по списку ESSID, отвечаем N и движемся далее, покуда не найдем подходящий. К сожалению, Probemapper не запускает каких-либо фальшивых сервисов, посему атакующий должен использовать -е флаг для запуска заранее отконфигурированного аirsnarf после выхода в режим точки доступа для достижения максимального эффекта от подсоединения клиентского устройства.

В то время как Probemapper очень прост и удобен в использовании, у него есть два недостатка. Во первых, он не создает множества виртуальных точек доступа для подсоединения клиентов с разными ESSID. Во вторых, в настоящий момент Probemapper работает только под карточками с Connexant (Prism54g) чипсетом, и число таких PCMCIA устройств достаточно ограничено. Из распространенных Connexant PCMCIA карточек, мы можем назвать разве что 32-bit Cardbus Senao NL-3054CB, Netgear WG511, Zyxel G-100 и G-110, Zcom XG-300/302 и Sitecom WL-100. Гораздо более Connexant чипсет распространен среди клиентских 802.11b/g USB устройств, но у нас не было физической возможности протестировать совместимость таких клиентов с Probemapper. А вышеуказанный пример был получен используя PCMCIA карточку Senao NL-3054CB.

Но не стоит переживать! Karma tools не только работают под наиболее распространенным и весьма удобным для атакующего Atheros чипсетом, но и наиболее близки к удовлетворению перечисленных в начале статьи критериев для утилит, предназначенных для атак на 802.11 клиенты. В настоящий момент Karma tools работают под madwifi, но не более новыми madwifi-ng драйверами. Для создания виртуальных точек доступа на каждый обнаруженный "бесхозный" клиент, драйвера надо пропатчить, для чего лучше использовать использованную создателями программы версию madwifi:

Базовая конфигурация Karma tools осуществляется при помощи файла еtc/karma.xml, по умолчанию содержащего следующее:

  1. ставим интерфейс в RFMON: bin/monitor-mode.sh ath0
  2. запускаем бинарник в src для нахождения клиентских устройств: src/karma ath0 (честно говоря, в этом плане нам гораздо больше нравится airodump ath0 дающий более четкое описание найденных клиентов, равно как и сетей)
  3. убедившись, что место рыбное, запускаем и саму атакующую утилиту из bin: bin/karma etc/karma.xml. В идеале должно произойти примерно следующее:

В консоли, в которой была запущена утилита, мы видим MAC адреса пойманных клиентов (e.g. "AccessPoint: 00:04:e2:74:22:c5 associated with SSID аll your base"), их запросы на Google и наш вебсайт (не удивляйтесь - это не популярность, а тестовая лаборатория :-) перенаправляемые на вебсервер атакующего, а также зафиксированный логин на FTP (test/password). Kaк видите, клиенты с запущенным dhcpcd автоматически получают IP адреса из RFC 3033 диапазона, и атакующий интерфейс (по умолчанию IP 169.254.133.7) в качестве шлюза.

Однако на практике всё может быть не так гладко. Karma tools пока ещё достаточно "сырые", и не удивляйтесь, если при запуске утилиты вы получите ошибки типа "Broken pipe" или "undefined method" - просто перезапустите кarma несколько раз, пока всё не заработает без подобного рода ошибок. Но есть упомянутый в самом начале статьи баг, от которого не избавиться перезапуском. Дело в том, что Karma tools писались и тестировались на b/g, а не a/b/g карточках, в то время как многие из вас безусловно обладают клиентскими устройствами, поддерживающими все 3 стандарта. Так вот, на подобных устройствах при запуске Karma tools выдается следующая ошибка:

Она свидетельствует о том, что ваша точка доступа встала на 802.11а частоту (при этом все фальшивые сервисы могу быть вполне благополучно запущены и утилита ожидает жертв). И действительно,

Стандартные команды iwconfig freq и iwconfig channel здесь не помогут, взамен используйте iwpriv mode 2. Убедитесь в том, что точка доступа вернулась на 802.11b/g частоту:

Затем установите максимальные мощность и чувствительность с помощью iwconfig txpower ХХХmW и iwconfig sens Х/Х (обычно 3/3) и перезапускайте bin/karma etc/karma.xml пока утилита не запустится без ошибок. Убедитесь, что все нужные фальшивые сервисы запущены:

Следует сказать, что Karma tools можно использовать и под HostAP драйверами на карточках с Prism 2-2.5 чипсетом (не забудьте сменить ath0 на wlan0 в karma.xml). Но тогда функциональность утилиты будет неполной в связи с невозможностью создавать виртуальные точки доступа на таких карточках и подключать клиенты с разными ESSID одновременно. Дело в том, что более старые 16-ти битные клиентские устройства обрабатывают Probe Request фреймы в прошивке устройства, а не на уровне его драйверов. И мы не можем заставить их параллельно использовать множественные значения ESSID из получаемых Probe Request фреймов так, как мы делаем это на более современных Atheros чипсет карточках при помощи madwifi.patch. Таким образом, использование Prism 2-2.5 устройств и HostAP для запуска Karma tools не рекоммендуется.

И ещё несколько наблюдений. Скидывать клиентские устройства с сети, к которой они подсоединены, на хост с запущенными Karma tools вполне возможно. Для этого, так как мы проводим тестирование на Atheros карточке, легко использовать затопление канала, на котором сидит подключенный клиент, фреймами деаутентификации с помощью запущенного в соседней консоли aireplay из Aircrack (aireplay -a -c -0 <количество фреймов деаутентификации> ath0). Также, с помощью Karma tools нам без проблем удалось "сбить" WEP с Интел Центрино клиента (см. предыдущую часть статьи по поводу атаки "сброс WEPа при коммуникации с клиентом"). К сожалению, Karma tools не поддерживают "отлов" клиентов в режиме ад-хок, но это не беда. Включение iwconfig ath0 mode ad-hoc параллельно с aireplay -0 по атакуемому Orinoco чипсет клиенту из соседней консоли сделали свое темное дело, сбросив клиента с легитимной сети и присоединив его к атакующему хосту. Таким образом, все описываемые в предыдущих частях статьи атаки вполне осуществимы на практике.

В заключении, несколько комментариев и рекоммендаций по защите беспроводных клиентов от атак подобного рода. Технически клиент вне опасности, если с помощью утилиты конфигурации беспроводного устройства удалены все незащищенные профили СПС и оставлены только сети, подсоединение к которым идет под защитой WPA, желательно WPA Industry с использованием 802.1х и двусторонней аутентификации (EAP-TLS), причем клиентский сертификат должен быть защищен сильным паролем. Также нелишними являются установка персональных брандмауэров на клиентские устройства и приличного беспроводного IDS в зоне покрытия корпоративной / организационной сети для обнаружения ад-хок соединений и несанкционированных точек доступа, сманивающих на себя клиентов и скидывающих их с легитимной сети с помощью DoS атак. А ещё не забудьте по возможности использовать последние модели клиентских устройств (32-bit Cardbus, чипсеты с программной, а не прошивочной имплементацией MAC уровня) и последние версии драйверов для этих устройств. Увы, все подобные меры противодействия упираются в значительные проблемы административно-организационного плана, по крайней мере если речь идет об обычных пользователях и достаточно крупной компании / организации. Для системного администратора достаточно сложно проследить, чтобы СПС всех клиентских хостов под его опекой не содержали незащищенных сетей. Особенно, если эти хосты используются сотрудниками вне его домэйна ответственности - дома, в кафе, гостиницах, аэропортах. Таким образом, во многих случаях, несмотря на старания системного администратора, всё равно остается лазейка для беспроводной крысы, предпочитающей клиентские устройства на завтрак.

Курс Защита беспроводных сетей читается ведущими экспертами в области беспроводного нападения и защиты, и охватывает последние разработки в области безопасности стандартов 802.11a/b/g, включая новые беспроводные протоколы и стандарты безопасности, а также продвинутые методы нападения и взлома беспроводных сетей, используемые как профессиональными аудиторами по безопасности, так и хакерами. Oбьясняются нестандартные методики защиты беспроводных локальных сетей и методы физического нахождения нападающего. Курс также обеспечивает интенсивное введение в работу с 802.11 сетями и охватывает аспекты управления беспроводной защиты, такие как разработку беспроводной политики безопасности.

Читайте также: