Захват WLAN-трафика

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

Основные этапы включают:

  1. Найдите правильный канал для прослушивания.
  2. Захватите трафик.
  3. Поделитесь полученным изображением и хэшем вашего пароля WLAN.

1. Определите правильный канал и его ширину.

Сети WLAN работают на:

  • Канал, обычно обозначаемый номером. 1–13 — для каналов 2,4 ГГц , 36–200 — для каналов 5 ГГц.
  • с определенной шириной (20 МГц, 40 МГц, 80 МГц, 160 МГц)

Каждая точка доступа (например, маршрутизатор, узел сети) в вашей сети обычно имеет уникальный канал 2,4 ГГц и канал 5 ГГц, и вам необходимо определить, к какому из них подключено устройство. Существует несколько вариантов:

Используйте панель управления вашего маршрутизатора

Если вы используете Nest WiFi , пропустите этот вариант — информация не раскрывается.

Большинство маршрутизаторов имеют список подключенных устройств, а также используемый ими канал и ширину полосы пропускания.

  1. Найдите IP-адрес вашего маршрутизатора с помощью этого руководства .
  2. Перейдите по адресу вашего маршрутизатора в веб-браузере, например http://192.168.1.1 .
  3. Войти. Не знаете пароль? Найдите метку на роутере или воспользуйтесь паролем роутера .
  4. Найдите страницу с названием «Клиенты» или «Подключённые устройства». Например, страница маршрутизатора Netgear может выглядеть следующим образом, а для устройств Eero — следующим образом.

    Вид клиента Netgear

  5. Возможно, вам придётся поискать другие настройки, чтобы сопоставить информацию из шага 4 с конкретным каналом и пропускной способностью. Например, маршрутизатор Netgear:

    Просмотр каналов Netgear

Используйте свой Mac, если он уже подключен к тому же каналу.

Удерживая клавишу Option на клавиатуре, нажмите на значок WLAN в правом верхнем углу строки состояния Mac. Вы увидите стандартное меню WLAN с несколькими дополнительными опциями и информацией. Просмотрите недоступные пункты меню и найдите тот, в котором упоминается Channel:

`Channel 60 (DFS, 5GHz, 40MHz)`

Mac WLAN

Не могу найти канал и ширину

Если другие методы не помогли, вы можете попробовать:

  1. Перечислите все каналы, которые используют ваши точки доступа (обычно 2 для каждой точки доступа или точки сети).

    а. Рекомендуется . На телефоне Android вы можете использовать приложение, например Wifiman или Aruba Utilities .

    а. На Mac вы можете использовать /System/Library/PrivateFrameworks/Apple80211.framework/Resources/airport-s для просмотра списка параметров.

  2. Выполните короткий (достаточно даже 15 секунд) захват на каждом из этих каналов, следуя инструкциям ниже.

  3. Установите Wireshark (для получения помощи см. раздел Установка Wireshark ).

  4. Откройте каждый из захватов с помощью Wireshark, примените фильтр отображения wlan.addr == YOUR_DEVICE'S_MAC и посмотрите, появятся ли какие-либо пакеты.

2. Начните захват.

Важно: захват четырехстороннего рукопожатия

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

В связи с этим для расшифровки данных Wi-Fi НЕОБХОДИМО перехватить четырёхстороннее рукопожатие. Если устройство уже подключено к сети на момент начала перехвата, отключите и снова подключите его (или перезагрузите) после начала анализа.

Захват на Mac

Удерживая клавишу Option на клавиатуре, щелкните значок WLAN, затем выберите «Открыть диагностику беспроводной сети…»:

Захват WLAN для Mac

В строке меню «Диагностика беспроводной сети» выберите «Окно» > «Сниффер» :

Mac WLAN Sniffer

Установите канал и ширину на значения, полученные ранее (пример снимка экрана для канала 60 и ширины 40 МГц):

Канал и ширина Mac WLAN

Нажмите Start и введите пароль. Попробуйте воспроизвести проблему. Убедитесь, что вы перехватили четырёхстороннее рукопожатие, как описано в разделе «Перехват четырёхстороннего рукопожатия» .

После этого нажмите Stop . Новый файл *.pcap , содержащий весь трафик, находится в каталоге /var/tmp . Пример имени файла: (null)_ch100_2018-11-06_10.52.01.pcap .

Захват на Linux

  1. Отключите Wi-Fi. Это можно сделать следующим образом:

    • Использование графического интерфейса (рекомендуется)
    • Используя Network Manager CLI, укажите ему прекратить управление интерфейсом WLAN: sudo nmcli dev set <wlan-ifname> managed on
    • При использовании альтернативного сетевого менеджера настройте его соответствующим образом.
  2. Сохраните этот скрипт. Замените <wlan-ifname> на имя вашего Wi-Fi-интерфейса. В этом документе предполагается, что имя скрипта — setup-wifi-capture .

    #!/usr/bin/env bash
    sudo ifconfig <wlan-ifname>  down
    sudo rfkill unblock wifi
    sudo iwconfig <wlan-ifname>  mode monitor
    sudo ifconfig <wlan-ifname>  up
    sudo iw dev <wlan-ifname> set channel $@
  3. Выполните предыдущий скрипт и передайте канал и самую высокую пропускную способность для прослушивания, например, канал 153 с пропускной способностью 80 МГц:

    ./setup-wifi-capture chan 153 80 MHz
  4. Откройте Wireshark, и теперь вы сможете захватывать пакеты на интерфейсе WLAN.

3. Поделитесь снимком

  1. Используйте генератор WPA PSK (Raw Key) для генерации хеша вашего пароля. Это позволит вам расшифровать захваченный пароль, не зная его в текстовом виде.

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

Приложение

Установить Wireshark

Установить Wireshark можно с помощью команды apt install wireshark в Linux или загрузить ее с веб-сайта Wireshark .

Настройте Wireshark для расшифровки трафика

Это не обязательно для обмена файлами захвата, делайте это только в том случае, если вы хотите самостоятельно проверить расшифрованный трафик в Wireshark.

При использовании протокола WPA2 в сети Wi-Fi ключ WPA2-PSK не используется напрямую для шифрования и дешифрования трафика. Он используется в четырёхстороннем рукопожатии , которое необходимо перехватить для расшифровки пакетов. Однако, если вы пытаетесь перехватить только проблемы с подключением к Wi-Fi или обрывы связи, о которых можно узнать из кадров управления Wi-Fi, вам не нужно перехватывать четырёхстороннее рукопожатие. В любом случае, перехват всё равно не помешает.

Откройте Wireshark и откройте страницу настроек ( меню Wireshark > Настройки или **Cmd + , **).

  1. Найдите раздел «IEEE 802.11» в категории «Протоколы» и убедитесь, что установлен флажок «Включить дешифрование»:

    Настройки Wireshark для Mac

  2. Нажмите кнопку «Изменить» рядом с надписью «Ключи дешифрования» .

  3. Нажмите кнопку «+» в левом нижнем углу и выберите опцию «wpa-pwd».

    Mac Wireshark WPA и пароль

  4. Щёлкните по столбцу «ключ» в только что созданной строке (рядом со строкой wpa-pwd), введите ключ WPA2 PSK и SSID в формате <password>:<ssid> . Например, если имя вашей сети — MyHomeNetwork , а ключ WPA2 PSK — myp4ssword , введите myp4ssword:MyHomeNetwork .

    SSID Wireshark для Mac

  5. Нажмите «ОК» для подтверждения.

Дополнительную информацию см. в официальном руководстве Wireshark (со снимками экрана) по адресу Как расшифровать 802.11 .

При использовании tshark передайте следующие аргументы:

tshark -o wlan.enable_decryption:TRUE -o 'uat:80211_keys:"wpa-pwd","<psk>:<ssid>"'

Раскрасить данные Wireshark 802.11

На сайте metageek.com можно найти удобный цветовой профиль 802.11: Профиль конфигурации Wireshark .