Эфир: беспроводные сети и их протоколы
Провод можно спрятать в стене, порт — отключить, коммутатор — настроить 1. Эфир спрятать нельзя: всё, что излучается, доступно любому в радиусе приёма. Беспроводная сеть начинается не с периметра, а с антенны, и первое, что нужно принять как факт, — наблюдатель может быть снаружи и не оставить в сети ни одного пакета.
Из этого следуют три класса задач. Первый — увидеть: какие сети есть, какие клиенты к ним подключены, как устроена аутентификация. Второй — получить ключ: перехватить рукопожатие и перебрать, украсть PMKID, дождаться уязвимости WPS. Третий — стать сетью: поднять точку доступа с тем же именем и забрать клиентов.
Тема 20 основной программы разбирала Wi-Fi как технологию: кадры, CSMA/CA, поколения, WPA2/WPA3, 802.1X. Здесь те же механизмы рассматриваются со стороны эфира. Границы: физический уровень — тема 03 основной программы, сотовые сети — только обзорно.
Тень базового курса: среда без коммутатора
В проводной сети коммутатор решает, кто что увидит. В беспроводной такой роли нет: кадры передаются в эфир, и любой адаптер в режиме мониторинга принимает всё, что попадает в его полосу.
Основная программа описывала это как особенность среды 7. Для атакующего это означает, что пассивный сбор не требует доступа и не оставляет следов: достаточно слушать. Единственный признак — физическое присутствие, которое сеть не видит.
Кадры 802.11 и режим мониторинга
Типы кадров и их роль
Стандарт делит кадры на три класса: управление (beacon, probe request/response, authentication, association, deauthentication), данные и служебные (ACK, RTS, CTS). Beacon рассылается точкой доступа и объявляет SSID, каналы, возможности; probe request ищет сети, probe response отвечает.
iw dev wlan0 info
iw dev wlan0 scan | grep -E "SSID|DS Parameter set|RSN"
В режиме мониторинга адаптер принимает все кадры в канале, включая чужие. Заголовок radiotap добавляет служебные поля: частоту, мощность сигнала, скорость, время.
ip link set wlan0 down
iw dev wlan0 set monitor control
ip link set wlan0 up
tshark -i wlan0 -f "wlan" -c 50
Каналы, диапазоны и перекрытие
Диапазон 2,4 ГГц имеет три неперекрывающихся канала (1, 6, 11); 5 ГГц — больше каналов и меньше помех; 6 ГГц добавлен в Wi-Fi 6E. Перекрытие каналов снижает скорость и облегчает пассивный сбор: адаптер слышит не только свой канал.
WPA2: рукопожатие и перебор
Четырёхшаговое рукопожатие
WPA2-PSK выводит Pairwise Master Key из пароля и SSID (PBKDF2, 4096 итераций, 256 бит), затем в четырёх сообщениях согласует сессионные ключи 2. Первое сообщение содержит ANonce, второе — SNonce и MIC, третье — групповой ключ, четвёртое — подтверждение.
Перехватив все четыре кадра, можно офлайн проверить пароль: для каждого кандидата вывести PMK, вывести PTK и проверить MIC. Стоимость проверки — одна HMAC на кандидата, поэтому перебор ограничен словарём и мощностью GPU.
airmon-ng start wlan0
airodump-ng -c 6 --bssid 02:11:22:33:44:55 -w capture wlan0mon
aireplay-ng --deauth 5 -a 02:11:22:33:44:55 wlan0mon
aircrack-ng -w rockyou.txt capture-01.cap
--deauth вынуждает клиента переподключиться, и рукопожатие повторяется. Без деаутентификации ждать можно долго.
PMKID
PMKID — идентификатор, который точка доступа может включить в первое сообщение. Он вычисляется из PMK и MAC, поэтому позволяет проверять пароль без полного рукопожатия и без клиента.
hcxdumptool -i wlan0mon -o dump.pcapng --enable_status=1
hcxpcapngtool -o hash.hc22000 dump.pcapng
hashcat -m 22000 hash.hc22000 rockyou.txt
Формат 22000 объединяет разные типы хешей WPA; hashcat подбирает пароль по словарю и правилам.
Деаутентификация и её роль
Деаутентификация — кадр управления, который обрывает сессию клиента. В WPA2 он не защищён, поэтому поддельный кадр от имени точки доступа работает. Защита — 802.11w (PMF), который добавляет подпись к кадрам управления 3.
WPA3 и Dragonblood
SAE вместо PSK
WPA3 заменил четырёхшаговое рукопожатие на Simultaneous Authentication of Equals (SAE) — обмен на основе пароля с защитой от офлайн-перебора: каждая попытка требует взаимодействия с точкой доступа, что делает словарную атаку дорогой.
Dragonblood
Исследование 2019 года нашло в SAE несколько проблем: side-channel по времени и кэшу, допускающий восстановление пароля, и ошибки в реализации переходного режима WPA2/WPA3, позволяющие даунгрейд 6. Исправления вышли, но устройства с прошивками до них остаются в сети.
Переходный режим опасен тем, что клиенту разрешено подключаться и по WPA2, и по WPA3; атакующий поднимает WPA2-точку с тем же именем, и клиент выбирает её.
Что проверять
iw dev wlan0 scan | grep -A6 "RSN"
В блоке RSN видно, поддерживается ли SAE, PMF (MFPC, MFPR) и переходный режим. Отсутствие PMF при WPA3 — повод разбираться.
Точки доступа-двойники
Evil Twin и KARMA
Evil Twin — точка доступа с тем же SSID, что у легитимной, но с лучшим сигналом и без пароля или с поддельным порталом. Клиент подключается к ней автоматически, если имя знакомо.
KARMA — атака на клиентов, которые ищут сети: точка отвечает на любой probe request, выдавая себя за искомую сеть. Клиент, который помнит много сетей, подключается к первой, которая ответила.
hostapd-mana hostapd.conf
Конфигурация включает mana_wpaout для сохранения рукопожатий и enable_karma=1 для ответа на probe request. Захваченные рукопожатия затем перебираются офлайн.
Captive portal и фишинг
Поддельный портал просит «войти через корпоративную учётную запись» и собирает пароль. Технически это обычная веб-страница; защита — не вводить корпоративные данные в порталы, которые не принадлежат организации, и проверять сертификат.
Скрытый SSID и WPS
Скрытый SSID не рассылается в beacon, но виден в probe response и в кадрах ассоциации. airodump-ng показывает его как length: 0, а активный клиент выдаёт имя своим запросом.
WPS позволяет подключиться по PIN. Pixie Dust восстанавливает PIN из одного обмена за секунды на уязвимых реализациях; перебор PIN ограничен 11000 попытками, но многие точки не ограничивают скорость.
reaver -i wlan0mon -b 02:11:22:33:44:55 -vv
wash -i wlan0mon
Корпоративный Wi-Fi
802.1X, EAP-TLS и PEAP
В корпоративной сети аутентификация идёт через 802.1X: клиент (supplicant), точка доступа (authenticator) и RADIUS-сервер обмениваются EAP-сообщениями 4. EAP-TLS использует сертификаты с обеих сторон и считается устойчивым; PEAP инкапсулирует другой метод (часто MSCHAPv2) в TLS-туннель 5.
Кража MSCHAPv2
Если клиент не проверяет сертификат сервера, атакующий поднимает свою точку доступа с тем же SSID и представляется RADIUS-сервером. Клиент проходит внешний TLS-туннель, внутри которого отправляет MSCHAPv2-ответ; атакующий получает материал для офлайн-перебора пароля.
hostapd-mana hostapd-mana.conf
# затем перебор:
hashcat -m 5500 mschapv2.txt rockyou.txt
Защита — проверка сертификата сервера на клиенте (имя и цепочка) и отказ от PEAP-MSCHAPv2 там, где возможен EAP-TLS.
Числа: стоимость перебора
Стоимость проверки одного кандидата WPA2 — 4096 итераций PBKDF2-HMAC-SHA1 и одно вычисление MIC. На GPU класса high-end это порядка миллиона кандидатов в секунду; на CPU — тысячи.
8 символов, нижний регистр: 26^8 = 2,09e11
при 1e6 кандидатов/с: 2,09e11 / 1e6 = 2,09e5 с = 58 часов
10 символов: 26^10 = 1,41e14 -> 4,5 года
Отсюда практическое правило: длина пароля важнее сложности. Пароль из десяти случайных букв не перебирается словарём, а пароль из восьми со «сложными» символами часто оказывается в словаре.
PMKID стоит столько же, сколько полное рукопожатие: одна проверка MIC на кандидата. Его преимущество не в скорости, а в том, что не нужен клиент.
WPA3-SAE меняет модель: каждая попытка требует взаимодействия с точкой доступа, поэтому офлайн-перебор невозможен, а онлайн ограничен скоростью обмена. Это и есть основной выигрыш WPA3.
Обнаружение и защита
| Приём | Признак | Контрмера |
|---|---|---|
| Пассивный сбор | нет признаков в сети | физический контроль, PMF |
| Деаутентификация | всплеск кадров deauth | 802.11w, WIDS |
| Перебор рукопожатия | офлайн, не виден | длинный пароль, WPA3 |
| PMKID | офлайн, не виден | WPA3, отключение PMKID |
| Evil Twin | две точки с одним SSID | WIDS, проверка BSSID |
| KARMA | ответ на любой probe | отключение автоподключения |
| WPS | PIN-атака | отключить WPS |
| PEAP-подмена | сертификат не проверяется | проверка сертификата, EAP-TLS |
Итоги темы
Эфир не имеет периметра: наблюдение не оставляет следов, а деаутентификация не требует ключа. WPA2 защищает данные, но не рукопожатие от перехвата и не пароль от офлайн-перебора; WPA3 поднимает планку, но переходный режим и старые прошивки оставляют окна.
Корпоративный Wi-Fi держится на доверии клиента к сертификату сервера. Если клиент не проверяет сертификат, PEAP превращается в канал кражи учётных данных, а EAP-TLS остаётся единственным устойчивым вариантом.
Следующая тема уходит с провода и из эфира — в домен и облако, где доверие строится на протоколах идентичности.
Литература
- IEEE Standard for Information Technology — Telecommunications and Information Exchange between Systems — Local and Metropolitan Area Networks. — IEEE 802.11-2020, 2021.
- IEEE Standard for Information Technology — Telecommunications and Information Exchange between Systems — Local and Metropolitan Area Networks — Specific Requirements — Part 11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications — Amendment 6: Medium Access Control (MAC) Security Enhancements. — IEEE 802.11i-2004, 2004.
- IEEE Standard for Information Technology — Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications — Amendment 4: Protected Management Frames. — IEEE 802.11w-2009, 2009.
- Aboba B., Blunk L., Vollbrecht J., Carlson J., Levkowetz H. Extensible Authentication Protocol (EAP). — RFC 3748, IETF, 2004. https://www.rfc-editor.org/rfc/rfc3748
- Simon D., Aboba B., Hurst R. The EAP-TLS Authentication Protocol. — RFC 5216, IETF, 2008. https://www.rfc-editor.org/rfc/rfc5216
- Vanhoef M., Ronen E. Dragonblood: A Security Analysis of WPA3's SAE Handshake. — 2019. https://wpa3.mathyvanhoef.com/
- Kurose J. F., Ross K. W. Computer Networking: A Top-Down Approach. 8th ed. — Pearson, 2021.