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


На wireless-аудите финтех-компании мы начали с парковки перед офисом. Alfa AWUS036ACH в monitor mode, Kismet с GPS-модулем, ноутбук на пассажирском сидении - стандартный набор для пассивной разведки. За 12 минут сбора без единого отправленного пакета: 47 BSSID, три "скрытых" сети (имена раскрылись через probe request корпоративных ноутбуков), два AP с WPA2-Personal рядом с зоной WPA2-Enterprise, принтер с открытой точкой доступа. SOC заказчика не зафиксировал ни одного алерта - WIDS не был развёрнут, а IDS на проводном сегменте не видит то, что происходит в радиоэфире. Ниже - разбор инструментов и методов беспроводной разведки Wi-Fi сетей и того, что из этого может и должен ловить SOC.

Зачем атакующему пассивная разведка беспроводных сетей​

Беспроводная разведка Wi-Fi сетей - первый этап перед атакой на wireless-инфраструктуру. В kill chain это reconnaissance, предшествующий initial access. Атакующий решает три задачи:
  1. Картирование инфраструктуры - количество точек доступа, BSSID, каналы, мощность сигнала, тип шифрования (WPA2-Personal / Enterprise / WPA3).
  2. Поиск слабых звеньев - AP с WPA2-Personal в корпоративном сегменте, WEP на IoT-устройствах (да, встречается в гостевых и промышленных зонах до сих пор), незащищённые точки доступа для принтеров и конференц-систем.
  3. Сбор метаданных клиентов - MAC-адреса устройств, probe request с именами сохранённых сетей, vendor OUI, паттерны активности.
Всё это собирается пассивно: адаптер в monitor mode принимает 802.11 beacon-фреймы, не отправляя ничего в эфир. IDS на проводном сегменте не видит ничего. Для SOC это слепая зона при отсутствии WIDS.

По данным IBM X-Force Threat Intelligence Index 2025, 70% атак затронули критическую инфраструктуру. Беспроводные сети в корпоративных офисах - удобный начальный вектор: атакующий проводит RF-разведку инфраструктуры с парковки, затем разворачивает Evil Twin или перехватывает WPA2 handshake. И всё это до момента появления в логах проводного сегмента. Отдельная головная боль - инсайдер: сотрудник, развернувший личный AP ("теневую" точку доступа) для удобства, создаёт незащищённый мост в корпоративную сеть. Обнаруживается такое только при wireless-аудите.

Инструменты сканирования Wi-Fi инфраструктуры​

1782288672094.webp

Требования к окружению​

Для воспроизведения пассивной разведки (в рамках авторизованного пентеста беспроводных сетей или проверки видимости собственной инфраструктуры):

Monitor mode беспроводного адаптера: настройка и верификация​

Monitor mode - режим, при котором беспроводной адаптер принимает все 802.11-фреймы на заданном канале: management (beacon, probe request/response, deauthentication), control и data. Без monitor mode адаптер показывает только сети, к которым может ассоциироваться. Разница между тем, что выдаёт iwlist wlan0 scan, и реальной картиной эфира - как между замочной скважиной и панорамным окном.

Переключение через airmon-ng: sudo airmon-ng check kill && sudo airmon-ng start wlan0. Первая команда завершает процессы, конфликтующие с monitor mode (NetworkManager, wpa_supplicant). После выполнения появляется интерфейс wlan0mon.

Верификация: команда iw dev - в поле type должно стоять monitor. Дополнительная проверка: sudo tcpdump -i wlan0mon -c 5 -e - если в выводе видны 802.11 beacon-фреймы с полями BSSID и SSID, режим работает. Если iw dev показывает type managed после airmon-ng start - драйвер не поддерживает monitor mode или менеджер сети перехватил интерфейс обратно.

Типичная проблема на ядрах 6.x+ с RTL8812AU. Стоковый модуль 88XXau из ядра не поддерживает monitor mode. Решение:
Bash:
git clone https://github.com/aircrack-ng/rtl8812au.git
cd rtl8812au && sudo make dkms_install
sudo modprobe 88XXau
После установки - повторить airmon-ng start wlan0. Если airmon-ng не создаёт wlan0mon, ручной вариант: sudo iw phy phy0 interface add wlan0mon type monitor. На ядрах 6.8+ возможны ошибки компиляции - проверяйте issues в репозитории для конкретной версии.

[Применимо: внешний пентест (с парковки, из соседнего помещения), внутренний пентест, аудит собственной инфраструктуры]

Airodump-ng: пассивная разведка точек доступа​

Airodump-ng - часть aircrack-ng suite (GitHub: 5.5k+ звёзд, репозиторий активно поддерживается). Основной инструмент для быстрого пассивного сканирования Wi-Fi инфраструктуры. Запустил - и через минуту видишь полную картину эфира.

Базовый запуск: sudo airodump-ng wlan0mon - сканирование каналов 2.4 ГГц. Для обоих диапазонов: sudo airodump-ng --band abg wlan0mon. Целенаправленный захват конкретной AP с записью: sudo airodump-ng -c 6 --bssid AA:BB:CC:DD:EE:FF -w capture wlan0mon.

Что видно в верхней секции вывода (обнаруженные точки доступа):
  • BSSID - MAC точки доступа
  • PWR - мощность сигнала в dBm: -30 означает «рядом», -70 - через стену, -85 и хуже - граница приёма
  • CH - канал (1-13 для 2.4 ГГц, 36-165 для 5 ГГц)
  • ENC/CIPHER/AUTH - тип шифрования. Красные флаги для атакующего: WEP, OPN (открытая сеть), WPA2-Personal с CCMP (потенциальный offline-брутфорс)
  • ESSID - имя сети. Для скрытых AP отображается <length: N> - длина SSID видна из beacon, но само имя скрыто
Нижняя секция - клиенты:
  • STATION - MAC клиентского устройства
  • Probes - имена сетей, которые клиент ищет через probe request. Именно здесь раскрываются имена "скрытых" сетей
Поле Probes - готовый список сохранённых Wi-Fi сетей на устройстве. Для пентестера это вектор для Evil Twin. Для SOC-аналитика - индикатор того, какие данные о корпоративной инфраструктуре утекают в эфир через клиентские устройства.

Ограничения airodump-ng: нет встроенной GPS-интеграции для wardriving, нет REST API для автоматизации, нет исторической базы обнаруженных устройств. Для wardriving с GPS-картированием сетей и долгосрочного мониторинга нужен Kismet.

Kismet - беспроводной сканер с REST API и GPS​

Kismet (GitHub: 4k+ звёзд, активно поддерживается Mike Kershaw / dragorn) - фреймворк пассивного мониторинга с веб-интерфейсом, REST API, GPS-интеграцией и встроенными алертами для обнаружения аномалий. Если airodump-ng - это бинокль, то Kismet - полноценная станция радиоразведки с архивом и автоматикой. В отличие от airodump-ng, Kismet работает как полноценный WIDS.

Запуск: sudo kismet -c wlan0mon. Веб-интерфейс поднимается на http://localhost:2501 - при первом запуске создаётся аккаунт, credentials сохраняются в ~/.kismet/kismet_httpd.conf.

GPS-интеграция для wardriving. В файле /etc/kismet/kismet_site.conf (пользовательские переопределения, не правьте kismet.conf напрямую) добавьте строку gps=gpsd:host=localhost,port=2947. Перед запуском убедитесь, что gpsd работает: sudo gpsd /dev/ttyUSB0 && gpsmon - в gpsmon должны отображаться координаты. Kismet привязывает каждое обнаруженное устройство к GPS-координатам - на выходе получается карта беспроводной инфраструктуры с точностью до здания.

REST API для автоматизации сбора. Kismet предоставляет JSON API для программного доступа ко всем собранным данным:
Bash:
# Все обнаруженные Wi-Fi точки доступа
curl -s -u admin:password \
  'http://localhost:2501/devices/views/phydot11_accesspoints/devices.json'
# Устройства по конкретному MAC-адресу
curl -s -u admin:password \
  'http://localhost:2501/devices/by-mac/AA:BB:CC:DD:EE:FF/devices.json'
API возвращает детальную информацию: BSSID, SSID (включая скрытые, если раскрыты через probe request), тип шифрования, каналы, мощность, количество клиентов, GPS-координаты, время первого и последнего обнаружения. Все данные сохраняются в SQLite базу (файл .kismet), пригодную для постфактум-анализа.

Kismet как WIDS. Kismet детектирует аномалии в эфире: появление AP с дублирующим SSID (индикатор Evil Twin), всплески deauthentication-фреймов, смену канала AP, нетипичные beacon-интервалы. Алерты доступны через REST API и веб-интерфейс - при правильной настройке их можно пробросить в SIEM через syslog.

Ограничения Kismet: аппетит к ресурсам заметно выше, чем у airodump-ng. При >200 устройствах в эфире и включённом веб-интерфейсе на машинах с 4 ГБ RAM начинаются тормоза. REST API использует HTTP Basic Auth без поддержки токенов - при удалённом доступе обязательна TLS-обёртка через nginx reverse proxy.

Чем airodump-ng отличается от Kismet​

Критерийairodump-ngKismet
ТипCLI-утилитаФреймворк с веб-UI
GPS-интеграцияНет (сторонние скрипты)Нативно через gpsd
REST APIНетДа, JSON
Историческая базаНет (только pcap-файлы)SQLite с полной историей
Встроенный WIDSНетДа (Evil Twin, deauth flood)
Потребление RAM50-100 МБ200-500 МБ
Когда использоватьБыстрый скан, захват handshakeWardriving, мониторинг, WIDS
Когда НЕ использоватьДлительный мониторингОдноразовый скан, low-end hardware

Для Blue Team: если задача - разовая проверка видимости инфраструктуры с периметра, хватит airodump-ng. Нужен постоянный мониторинг RF-обстановки или open-source WIDS - Kismet. Для глубокого анализа отдельных beacon-фреймов и probe request/response - Wireshark с фильтром wlan.fc.type_subtype == 0x08 (beacon) или wlan.fc.type_subtype == 0x04 (probe request).

Обнаружение скрытых Wi-Fi сетей: почему hidden SSID не защищает​

1782288578210.webp

"Скрытая" сеть - это AP, у которой в beacon-фреймах поле SSID пустое или заполнено нулями. Стандарт 802.11 требует от AP отправлять beacon каждые ~100 мс, но не обязывает включать имя сети. Идея: если клиент не знает имя - подключиться не сможет.

Идея красивая. Реализация - нет. Обнаружение скрытых Wi-Fi сетей - тривиальная задача. Согласно описанию AcrylicWifi и документации Arista, раскрытие скрытого SSID происходит в двух случаях:
  1. Клиент отправляет probe request с именем сохранённой сети. Устройство, "помнящее" скрытую сеть, периодически рассылает probe request с её SSID - даже за пределами покрытия. Airodump-ng и Kismet в monitor mode перехватывают эти фреймы и подставляют имя в вывод.
  2. AP отвечает probe response с SSID при ассоциации клиента. При подключении нового устройства AP подтверждает имя сети в probe response - его перехватывает любой сниффер в monitor mode.
Для SOC это означает: hidden SSID создаёт ложное чувство защищённости и подпадает под категорию A05:2021 Security Misconfiguration по OWASP - неэффективная мера, создающая иллюзию защиты. Хуже того, клиенты, сохранившие скрытую сеть, становятся источником утечки: их probe request раскрывают имя сети в любой точке, где находится устройство. Парадокс: отключение скрытия SSID уменьшает утечку метаданных - клиенты перестают рассылать probe request с именем сети.

[Применимо: любая инфраструктура с hidden SSID, внешний и внутренний пентест]

Detection для SOC: как поймать 802.11 разведку сети​

Пассивная разведка по определению не генерирует трафика - атакующий только принимает фреймы. Поймать сам факт прослушивания невозможно. Но SOC может детектировать переход к активным действиям и косвенные индикаторы.

Индикаторы беспроводной разведки на уровне WIDS​

Корпоративные WLC (Cisco WLC, Aruba Central, Ruckus SmartZone) имеют встроенные WIDS-модули, фиксирующие:
  • Rogue AP - появление AP с BSSID, не входящим в управляемый список. Индикатор Evil Twin, несанкционированной точки доступа или теневого AP от инсайдера. Для Cisco WLC: алерт ROGUE_AP_DETECTED. Для Aruba: event ID в IDS profile.
  • SSID spoofing - AP с корпоративным SSID и неизвестным BSSID. Прямой индикатор Evil Twin-атаки, следующей за разведкой.
  • Deauthentication flood - массовые deauth-фреймы. Атакующий использует aireplay-ng --deauth для принудительного отключения клиентов и захвата WPA handshake. Для Cisco WLC: AP_DEAUTH_ATTACK, IDS_SIGNATURE_MATCH.
  • Excessive probe response - аномальное количество probe response от AP на запросы с нетипичных MAC-адресов.
Главная проблема: на многих WLC эти алерты включены по умолчанию, но не пробрасываются в SIEM. SOC-аналитик их просто не видит. Первый шаг - настроить forwarding WIDS-алертов через syslog в SIEM-платформу (Elastic, Splunk, MaxPatrol SIEM, KUMA).

Sigma-правило для анализа беспроводного трафика в SIEM​

После настройки forwarding WIDS-логов можно строить правила корреляции. Пример Sigma-правила для обнаружения deauth-атаки - активной фазы, которая обычно следует за пассивной разведкой:
YAML:
title: WIDS - Deauth Flood Detected
status: experimental
logsource:
  product: wlc
  service: syslog
detection:
  selection:
    message|contains|any:
      - 'Deauthentication flood'
      - 'deauth attack'
      - 'DoS attack detected'
  condition: selection | count() > 3
  timeframe: 5m
level: high
Правило концептуальное - формат сообщений зависит от вендора WLC. Для Cisco адаптируйте selection под syslog message ID. Для Aruba - под event ID из IDS profile. Для open-source WIDS (Kismet) - под формат алертов REST API.

Корреляция с проводным сегментом. Если WIDS фиксирует rogue AP, а через 5-15 минут на коммутаторе в том же VLAN появляется новый MAC-адрес - это потенциальный индикатор успешной Evil Twin-атаки. Правило корреляции по временным окнам между wireless-алертами и логами свитчей (802.1X, MAC authentication) серьёзно повышает точность. Для Elastic 8.x+ это реализуется через EQL sequence, для MaxPatrol SIEM - через цепочку корреляций с временным окном.

Ограничение detection. Пассивная разведка (только приём фреймов) не детектируется никаким WIDS - атакующий ничего не передаёт. Обнаружить можно только переход к активным действиям: deauth flood, Evil Twin, probe injection. Поэтому hardening инфраструктуры - единственная защита от пассивного сбора данных.

Hardening-чеклист для беспроводной инфраструктуры​

Нумерованный список действий для передачи сетевой команде или включения в отчёт по аудиту. Каждый пункт - конкретное действие с командой верификации.
📚 Часть контента скрыта. Этот материал доступен участникам сообщества с рангом One Level или выше
Получить доступ просто — достаточно зарегистрироваться и проявить активность на форуме

За последние пару лет wireless-аудитов я вижу одну и ту же картину: SOC мониторит проводной сегмент зрело - EDR (CrowdStrike Falcon, Kaspersky EDR Expert), SIEM (MaxPatrol SIEM, Elastic 8.x+, KUMA), NDR - а радиоэфир остаётся слепой зоной. WIDS развёрнут у единиц, и чаще сводится к rogue AP detection на WLC без forwarding в SIEM. Probe request storms, Evil Twin с корпоративным SSID, deauth flood - всё проходит мимо SOC-дашбордов, пока не станет инцидентом на проводном сегменте.

Причина простая: wireless security воспринимается как задача сетевиков, а не SOC. Сетевая команда настраивает WPA2-Enterprise и считает дело закрытым. SOC-аналитики не получают wireless-алерты и не знают, как с ними работать. В итоге атакующий с Alfa-адаптером на парковке собирает полную карту инфраструктуры за четверть часа, а SOC в это время разгребает алерты из проводного сегмента.

Если у вас есть хотя бы один корпоративный Wi-Fi AP - вам нужен WIDS с forwarding алертов в SIEM. Не в планах на следующий квартал, а в текущем спринте. Запустите airodump-ng с парковки собственного офиса - первые 15 минут покажут, что видит атакующий. Если интересно, как другие SOC-команды выстраивают wireless detection и какие конфигурации WIDS реально работают в проде - обсуждение ведётся в тематическом треде на codeby.net.
 
Последнее редактирование модератором:
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab

Похожие темы

🚀 Первый раз на Codeby?
Гайд для новичков: что делать в первые 15 минут, ключевые разделы, правила
Начать здесь →
🧭 Навигатор · ИБ 2026
Не знаешь, какой трек твой?
5 направлений ИБ, реальные зарплаты и точка входа для каждого — в одном треде.
JuniorSenior+
100K → 600K+ ₽ /мес
Открыть навигатор →
🔴 Свежие CVE, 0-day и инциденты
То, о чём ChatGPT ещё не знает — обсуждаем в реальном времени
Threat Intel →
💼 Вакансии и заказы в ИБ
Pentest, SOC, DevSecOps, bug bounty — работа и проекты от проверенных компаний
Карьера в ИБ →

HackerLab