понедельник, 15 августа 2016 г.

Как собрать wifi probe requests

Рассылка телефоном probe request

Телефон с включённым WiFi может периодически отправляет в эфир запросы, т.н. probe requests, содержащие MAC самого устройства и имя известной WiFi сети, с которой он соединялся ранее в надежде, что эта сеть ему ответит. Этот механизм, активный поиск, является альтернативным пассивному, когда устройство желая соеденится с сетью слушает эфир ожидая маячковые сообщения (beacon frames) от точки доступа [Passive WiFi Tracking].

Если устройство подключено к сети, то ему не нужно оповещать другие сети о себе. Однако, отключив устройство от точки доступа (например послав фрейм деаутентификации с помощью aireplay-ng: aireplay-ng -0 5 -a <bssid> -c <client_mac> <interface>) можно рассчитывать на то, что устройство будет зондировать эфир рассылая запросы.

Их личного опыта могу сказать, что телефон может отправлять probe request при включении или при выходе из режима "в самолёте" даже если wifi выключен в настройках.

Посмотреть пристальнее на эти пакеты можно в Wireshark используя фильтр wlan.fc.type_subtype == 4

Wireshark packet screenshot
На рисунке прежде всего интересны поля SSID - имя сети и MAC адрес устройства, которое и отправило этот пакет. Стоит отметить, что BSSID точки доступа не передаётся.
Таким образом можно привязать конкретное устройство к wifi сети (с поправкой на то, что сетей с данным именем может быть несколько) и далее попытаться определить географическое положение этой сети. Последнее возможно при помощи геоинформационных сервисов в Интернете, например WiGLE (поиск по сетям доступен после регистрации). Если в Сети данных нет, то можно обойтись собственноручно собранной информацией о местоположении WiFi сетей, например с помощью мобильных приложений (Google Play: Wigle Wifi Wardriving).

Приём probe request

Для того, чтобы принимать probe requests в режиме реального времени, включим на WiFi карте режим монитора:
airmon-ng start wlan0
а затем запустим версию wireshark с текстовым интерфейсом:
tshark -i wlan0 subtype probereq
При желании вывод программы можно настроить:
tshark -i wlan0mon  -Y 'wlan.fc.type_subtype == 4' -T fields -e frame.time -e wlan.sa_resolved -e wlan_mgt.ssid
-i wlan0mon интерфейс - wifi карта в режиме монитора;
-Y 'wlan.fc.type_subtype == 4' фильтр для печати пакетов на экран;
-T fields - определим, какие конкретно данные каждого пакета выводить на экран, приведя отдельные поля после ключа -e:
frame.time - время
wlan.sa_resolved - MAC адрес источника пакета, где половина адреса заменена на название его производителя (vendor). Если необходимости в последнем нет, то печатаем просто MAC: wlan.sa.

wlan_mgt.ssid - самое интересное, SSID сети.

Созерцание вывода программы можно соединить с одновременной записью в файл:
tshark -i wlan0mon  -Y 'wlan.fc.type_subtype == 4' -T fields -e frame.time -e wlan.sa_resolved -e wlan.sa -e wlan_mgt.ssid | tee -a probes.dump

tee - для одновременного вывода и записи в файл. tshark при печати на экран использует буфер, а ключ -l заставляет утилиту очищать буфер при выводе каждого пакета, таким образом печать будет происходить одновременно с обработкой пакета.
Отфильтруем probe request с пустым SSID (широковещательные?) добавив к фильтру выражение wlan_mgt.ssid != 0

tshark -i wlan0mon  -Y 'wlan.fc.type_subtype == 4' -T fields -e frame.time -e wlan.sa_resolved -e wlan.sa -e wlan_mgt.ssid | tee -a probes.dump
Наконец можно направив вывод через grep показывать только определённые устройства или же избавить себя от их упоминания (ключ -v):
tshark ... | grep -v -e "11:11:11:11:11:11" -e "11:11:11:11:11:22"
Сделать задачу мониторинга немного проще призван скрипт shee.sh
./shee.sh -i wlan0mon 

Кроме того, утилита может работать в нескольких режимах. Например ждать появления определённого MAC адреса в эфире и при обнаружении подавать звуковой сигнал:
sudo shee.sh -i wlan0mon -M 1 -m 11:22:33:44:55:66 -s
-M 1 - следить за конкретным MAC адресом
-m тот самый mac адрес
-s - при обнаружении подавать звуковой сигнал

***
Наблюдать устройства посылающие probe requests можно и в airodump-ng.  Утилита показывает активные устройства (мак, время появления, время последнего пакета, ESSID и т.д.). в реальном времени. Если включена запись в файл, то данные об эфире также будут сохранены в CSV файл.

Scapy

Создавать, отправлять и принимать этот тип wifi кадров, можно с помощью мощного пакета Scapy. Он включает утилиту командной строки, в которой можно выполнять операции в интерактивном режиме, и пакет для Python.

Ссылки

WiGLE - ГИС

1 комментарий:

  1. .: Как Собрать Wifi Probe Requests >>>>> Download Now

    >>>>> Download Full

    .: Как Собрать Wifi Probe Requests >>>>> Download LINK

    >>>>> Download Now

    .: Как Собрать Wifi Probe Requests >>>>> Download Full

    >>>>> Download LINK mF

    ОтветитьУдалить