March 20

By @INTER_KILL

Анализ безопасности Wi-Fi: атаки на WPA2-Personal / Enterprise и методология взлома WPA3

Подробное исследование методологии взлома протоколов WPA2-Personal / Enterprise и WPA3: какие атаки и уязвимости существуют, и какой инструментарий применяется для их эксплуатации.

Статья написана одним из наших стажеров в рамках подготовки к сертификации по OSWP, и высоко оценена практикующими пентестерами. Все эксперименты проводились на ноутбуке с Kali Linux, при помощи адаптера TP-Link Archer T3U Plus, беспроводного роутера Keenetic-8990 и смартфона в качестве клиента.

Краткий экскурс в историю

Существует четыре распространенных протокола обеспечения безопасности Wi-Fi сетей:

  1. WEP (Wired Equivalent Privacy): предоставляет базовую защиту данных путем шифрования при помощи алгоритма RC4, но считается уязвимым и устаревшим.
  2. WPA (Wi-Fi Protected Access): популярное семейство протоколов, разработанных для замены WEP. WPA обеспечивает более надежное шифрование и аутентификацию, поскольку каждое устройство, подключенное к сети, имеет собственный уникальный ключ для шифрования и дешифрования данных. Протокол включает в себя методы WPA-Personal и WPA-Enterprise.

WPA-Personal

WPA-Enterprise

Метод предназначен для защиты беспроводных сетей с использованием предварительно согласованного пароля или общего ключа PSK (Pre-Shared Key), который должны знать все устройства и пользователи, чтобы получить доступ к сети.

Вместо PSK здесь используется аутентификация на сервере RADIUS (Remote Authentication Dial-In User Service). Сервер проверяет учетные данные пользователей и управляет всеми процессами централизованно. Снижение рисков компрометации учетных данных происходит благодаря тому, что каждый пользователь имеет свой собственный идентификационный ключ для доступа к сети.

Этот вариант часто используется для обеспечения безопасности Wi-Fi для домашних сетей и небольших офисов.

В основном используется для защиты корпоративных сетей.

  1. Протокол WPA2 представляет собойулучшенную версию WPA, с использованием AES-шифрования и внедрением сразу нескольких механизмов защиты от атак: 4-way Handshake и Counter Mode Cipher Block Chaining Message Authentication Code Protocol (CCMP).
  2. WPA3, в свою очередь, представляет новый стандарт безопасности, совместимый с устройствами, поддерживающими предыдущие версии протоколов. Он предоставляет индивидуальное шифрование каждому устройству, позволяя использовать более безопасные методы установления соединения и защиту от атак перебора паролей.

WEP

WPA

WPA2

WPA3

Основные характеристики

Обеспечение конфиденциальности данных в беспроводной сети на уровне, сравнимом с проводными сетями

Основан на стандарте 802.11i

Функционирует на стандарте 802.11i, но для его работы требуется новое аппаратное ПО, которое обеспечивает более надежную защиту беспроводной сети

Современный стандарт, анонсированный и поддерживаемый Wi-Fi Alliance

Шифрование

RC4

TKIP+RC4

CCMP/AES

GCMP-256

Метод аутентификации

Wep open и Wep shared

WPA-PSK и WPA-Enterprise (WPA-802.1X)

WPA2-Personal WPA2- Enterprise

WPA3-Personal WPA3-Enterprise

Технологии обеспечения целостности данных

CRC-32

MIC algorithm

Cipher Block Chaining Message Authentication Code (based on AES)

256-bit Broadcast/Multicast Integrity Protocol Galois Message Authentication Code (BIP-GMAC-256)

Протоколы аутентификации и обмена ключами

Нет

4-way handshake

4-way handshake

Elliptic Curve DiffieHellman (ECDH) exchange and Elliptic Curve Digital Signature Algorithm (ECDSA)

Уровень безопасности

🟥⬜️⬜️⬜️

🟧🟧⬜️⬜️

🟨🟨🟨⬜️

🟩🟩🟩🟩

Как проводятся Wi-Fi пентесты

Во время оценки безопасности беспроводных сетей нужно следовать определенной методологии и стандартам — такой подход помогает систематизировать информацию о потенциальных уязвимостях: какими потенциальными точками доступа может воспользоваться злоумышленник, какие данные могут быть подвержены риску утечки. Стандартизация в подходе также помогает, когда есть законодательные требования и регуляторные стандарты, касающиеся безопасности беспроводных сетей и нужно понять, действительно ли компания соблюдает эти требования.

Классический подход подразумевает прохождение Wireless Security Assessment по четырем этапам: планирование, разведка, атака и отчет. Остановимся только на важных аспектах нескольких из них, поскольку общую информацию легко найти в сети:

  • на этапе планирования пентестер должен соблюсти две особенности — продумать план и не забыть получить согласование клиента. Соглашение о неразглашении (NDA) способно обезопасить от негативных последствий в будущем и позволяет рассчитать свои силы. Благодаря этому, приступив к разведке, пентестер будет понимать, какая часть сети должна подвергаться оценке, какая информация будет собрана, какие методы работы он будет использовать, и, главное, что ему за это ничего не будет :)
  • На этапе разведки, пентестер уже должен владеть информацией обо всех беспроводных сетях и устройствах, чтобы разработать стратегию проведения атаки. Этот процесс включает в себя обнаружение и документирование всех беспроводных сетей, включая скрытые (не конфигурированные SSID). Важной частью этой фазы является составление карты диапазона беспроводных сетей, определение, на каком расстоянии они доступны и существуют ли места, с которых злоумышленник может легко осуществить атаку.
  • Фаза атаки подразумевает, что пентестер может использовать обнаруженные уязвимости и слабые места в беспроводной сети для взлома или доступа к сети. Важно выполнить эксплуатацию уязвимости таким образом, чтобы она была как можно менее заметной.

Разбор атак на WPA2-PSK

Атаки на протокол WPA2-PSK представляют серьезную угрозу безопасности для беспроводных сетей. В рамках этой группы атак проводится анализ на уязвимости и слабые места в механизмах аутентификации и шифрования, используемых в сетях WPA2-PSK.

Cracking the 4-way handshake

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

Основная цель процесса 4-way handshake — создание уникального ключа для каждой сессии, который называется Pairwise Transient Key (PTK). Для создания этого ключа используется предварительно согласованный ключ Pre-Shared Key (PSK) и еще несколько параметров:

  • SSID сети;
  • Authenticator Nounce (ANounce) — случайное число, генерируемое точкой доступа;
  • Supplicant Nounce (SNounce) — случайное число, генерируемое клиентским устройством;
  • MAC-адрес точки доступа;
  • MAC-адрес клиентского устройства Wi-Fi.

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

Как выглядит процесс создания PTK пошагово:

  • Пользователь вводит WPA-PSK пароль, а также SSID сети;
  • Данные проходят через функцию PBKDF2 (Password-Based Key Derivation Function), которая использует их для вычисления 256-битового общего ключа Pairwise Master Key (PMK);
  • PMK является важной частью PTK и используется для проверки контрольной суммы целостности сообщения (MIC) в одном из пакетов рукопожатия;
  • Если MIC совпадает, то предполагаемый пароль из словаря оказывается правильным;
  • Важно отметить, что PBKDF2 обеспечивает безопасное создание PMK, и в случае успешного взлома пароля из словаря, PTK может быть использован для дешифрования данных в зашифрованных Wi-Fi сетях. Поэтому для защиты от таких атак важно использовать сложные и уникальные пароли.

Говоря непосредственно об атаке Cracking the 4-way handshake, удобно разбить ее на 5 логических этапов:

  1. Постановка беспроводной сетевой карты в режим мониторинга: при помощи команды инструментов airmon-ng check kill && airmon-ng start wlan0 мы убиваем процессы, которые нам мешают:airmon-ng start wlan0
  2. Идентификация цели: запускаем сканирование целей при помощи wash –i wlan0чтобы увидеть беспроводные сети, которые находятся в нашем радиусе действия;
  1. Запуск перехвата сетевого трафика для выбранной сети осуществляется через airodump-ng –c 1 –bssid E4:18:6B:03:EC:0C –w capture wlan0:

, где

  • E4:18:6B:03:EC:0C — BSSID точки доступа;
  • CH 1 — канал, на котором работает точка доступа Wi-Fi;
  • WPAcrack файл в который запишется handshake;
  • mon0 — сетевой адаптер в режиме мониторинга.
  1. Отключение клиента от сети или ожидание, пока мы деаутентифицируем его через aireplay-ng -0 1 -a E4:18:6B:03:EC:0C -v EA:23:AB:8B:98:E1 wlan0
  1. Если деаутентификация пройдет успешно, клиент попытается повторно подключиться к сети Wi-Fi. Точка доступа (AP) и клиент начнут обмен специальными пакетами, включая 4-way handshake, содержащий информацию, необходимую для взлома пароля. Используя aircrack-ng –w /usr/share/wordlists/wifite.txt –b E4:18:6B:03:EC:0C capture-10.cap мы сможем последовательно проверить каждый пароль из словаря на соответствие захваченному 4-way handshake. Если aircrack-ng найдет соответствие, то это и будет пароль сети Wi-Fi.

WPS PIN Bruteforce

Еще одна потенциальная уязвимость в протоколе WPA2-PSK — возможность атак на систему защиты Wi-Fi Protected Setup (WPS). Такие атаки направлены на обнаружение проблем в процессе установления безопасного соединения между устройством и беспроводным маршрутизатором с использованием WPS. Цель исследования здесь — понимание того, как можно получить доступ к беспроводной сети в обход традиционных методов аутентификации.

Процесс организации атаки выглядит следующим образом:

  • Перевод беспроводной сетевой карты в режим мониторинга;
  • Запуск сканирования для выявления целевой сети с активированным WPS;
  • Атака на WPS PIN методом брутфорса (с использованием Reaver):

Команда reaver -i -b -vvприводит к соответствующему результату:

С тем же PIN при помощи reaver -i -b -vvмы можем провести аутентификацию в сети.

Здесь следует сделать небольшое отступление: процесс настройки WPS включает использование восьмизначного PIN, который может состоять только цифр от 0 до 9. На первый взгляд, 8-значный PIN может представлять собой 100 000 000 различных комбинаций (поскольку каждая из восьми позиций может содержать одну из десяти цифр).

Однако, фактическое количество уникальных комбинаций сокращается из-за особенностей валидации этого PIN в реальной реализации WPS. В частности, последний символ PIN-кода вычисляется как контрольная сумма от предыдущих семи символов. Таким образом, предпоследний символ остается единственным неизвестным значением, а остальные символы можно подобрать перебором. Кроме того, первые четыре символа и следующие три символа проверяются независимо друг от друга.

Из-за этой особенности, общее число действительных комбинаций, которые могут быть проверены при брутфорс-атаке на WPS PIN, сокращается всего до 11 000 возможных комбинаций, что делает эту атаку достаточно простой.

PMKID Dump

Pairwise Master Key Identifier Dump (PMKID) — это процесс получения и сохранения PMKID из беспроводной сети, работающей по протоколу WPA/WPA2. PMKID — это часть ключевой информации, используемой для установления безопасного соединения между клиентским устройством и точкой доступа. Этот процесс напоминает переключение между ячейками в сотовых сетях. Иногда он сказывается на стабильности соединения, так как каждый раз, когда клиент выходит из диапазона одной точки доступа и переходит к другой, происходит новое 4-стороннее рукопожатие. Для снижения задержек при таких переходах существует функция кэширования Pairwise Master Key (PMK).

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

Сама атака на PMKID требует доступа к беспроводной сети, а для ее осуществления нужен определенный инструментарий. Как выглядит атака:

  1. Переводим беспроводную сетевую карту в режим мониторинга;
  2. Сканируем сеть и идентифицируем цели;
  3. Извлекаем PMKID (с помощью hcxdumptool):

hcxdumptool –o --enable_status=1 –filterlist_ap= --filtermode=2

  1. Взламываем PMKID (с помощью (hcxpcaptool, Hashcat):
  • спомощью hcxpcaptool –zконвертируем ранее «сдампленный» хэш в Hashcat-readable format;
  • осуществляем взлом через hashcat -m 16800 --force –show

Разбор атак на WPA2-Enterprise

Атаки на системы WPA2-Enterprise нацелены на анализ уровня безопасности, предоставляемого серверами аутентификации и механизмами управления ключами в сложных корпоративных сетях. Важно отметить, что среди целей могут быть и физические атаки на сетевое оборудование.

WPA-Enterprise также известен как стандарт WPA-EAP или WPA-802.1X. Он использует протокол Extensible Authentication Protocol (EAP) для делегирования аутентификации клиентов беспроводной сети на сервер RADIUS. EAP предоставляет набор стандартизированных функций и правил для реализации конкретных методов аутентификации, известных как EAP-методы. Среди таких методов могут быть как аутентификация на основе сертификатов, так и на основе учетных данных. Вот несколько примеров EAP-методов:

  • EAP-TLS — метод является оригинальным стандартом EAP аутентификации и широко поддерживается, он позволяет аутентификацию только на основе сертификатов.
  • PEAP был разработан компаниями Microsoft, Cisco и RSA Security и использует туннельное шифрование TLS для передачи EAP-данных.
  • EAP-TTLS представляет собой расширение TLS для обеспечения EAP через TLS-туннель и также широко поддерживается в корпоративной среде, за исключением Microsoft.
  • LEAP был разработан Cisco до установления стандарта и не имеет нативной поддержки в продуктах Microsoft, в настоящее время считается устаревшим.
  • EAP-FAST был разработан Cisco как замена LEAP.

Самыми распространенными реализациями протокола EAP являются EAP-PEAP и EAP-TTLS. Поскольку с технической точки зрения они очень похожи друг на друга, стоит сосредоточиться, в первую очередь, на EAP-PEAP.PEAP использует сертификаты на стороне сервера для проверки подлинности сервера RADIUS. Почти все атаки на PEAP связаны с неправильной настройкой проверки сертификатов.

Рассмотрим основные виды атак на системы WPA2-Enterprise: Evil Twin (Stealing Credentials) и Online Bruteforce.

Evil Twin (Stealing Credentials)

Атака включает в себя создание поддельной точки доступа, которая имитирует целевой SSID, чтобы привлечь клиентов и заставить их выполнить аутентификацию во второй фазе с поддельным RADIUS-сервером. Таким образом мы можем попытаться захватить учетные данные в открытом виде или challenge-responseданные, используемые в процессе внутренней аутентификации. Следует отметить, что эта атака не сработает против клиентов, которые:

  • используют аутентификацию на основе сертификатов (например, EAP-TLS или PEAP с EAP-TLS), так как здесь отсутствуют учетные данные, которые можно украсть;
  • проверяют сертификат сервера во время первой фазы аутентификации.

Процесс организации атаки выглядит следующим образом:

  • Установка беспроводной сетевой карты в режим мониторинга;
  • Идентификация цели — сканирование сети и поиск клиентов, использующих целевую сеть;
  • Создание поддельной точки доступа (с использованием eaphammer):

Используем./eaphammer --cert-wizardдля того, чтобы сгенерировать self-signed сертификат, а затем создаем Evil Twin с интересующими нас параметрами ./eaphammer --bssid --essid --channel 2 --wpa 2 --auth peap --interface wlan0 –creds

  • Захват учетных данных RADIUS, включая данные challenge-response:

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

На этом этапе мы ожидаем, что хотя бы один сотрудник атакуемой корпоративной сети точно согласится с уведомлением из примера выше. Также часто встречаются устройства, настроенные на автоматическое принятие недействительных сертификатов. Если повезло, вы увидите в терминале имена пользователей и данные challenge-response:

  • Получение доступа к беспроводной сети:

используя команду asleap –C -R -Wмы получаем NT-хэш и пароль.

Дальнейшие действия для сбора учетных данных в чистом виде могут включать использование других методик Evil Twin, например EAP-downgrade или Captive Portal.

Online Bruteforce

Несмотря на то, что сети WPA-Enterprise считаются более безопасными, чем сети WPA-PSK, они нередко подвержены атакам онлайн-перебора паролей.

Процесс организации такой атаки выглядит следующим образом:

  1. Установка беспроводной сетевой карты в режим мониторинга;
  2. Идентификация цели — сканирование сети и поиск клиентов, использующих целевую сеть;
  3. Создание листинга с возможными именами пользователей и паролями, которые могут быть использованы для аутентификации — здесь могут помочь различные OSINT методы. Для осуществления этого шага я использовал air-hammer:

./air-hammer.py -i wlan0 -e -u -P -1

Поскольку учетные данные WPA-Enterprise часто представляют собой учетные данные пользователя домена, можно использовать обнаруженные учетные данные, чтобы получить доступ к дополнительным системам корпоративной сети.

Разбор атак на WPA3

В январе 2018 года Wi-Fi Alliance объявила о разработке WPA3, который должен был стать заменой WPA2, считавшегося уязвимым для Key Reinstallation Attack (KRACK-атак). Новый стандарт использовал 128-битное шифрование в режиме WPA3-Personal или 192-битное шифрование в режиме WPA3-Enterprise. Атаковать его сложнее из-за наличия современного протокола установки ключей (SAE) и безопасного рукопожатия Dragonfly Key Exchange. Другие важные функции безопасности WPA3 включают:

  • защиту клиентских фреймов MFP, которая предотвращает несанкционированное взаимодействие с внешними источниками;
  • непрерывную генерацию новых сессионных ключей при каждой новой коммуникации, предотвращающая расшифровку предыдущих сообщений — Perfect Forward Secrecy;
  • протокол для настройки устройств, позволяющий новым устройствам подключаться к сети с использованием QR-кодов — DPP.

Уязвимости WPA3

В 2019 году исследователи по безопасности Мэти Ванхофом (Mathy Vanhoef) и Эйал Ронен (Eyal Ronen) обнаружили недостатки в дизайне WPA3, которые можно разделить на две категории: downgrade-атаки и слабые моменты в Dragonfly handshake, используемом в WPA3:

  • Downgrade & Dictionary Attack против WPA3-Transition — атаки через злоупотребление обратной совместимостью WPA3, когда клиента заставляют подключиться к поддельной точке доступа WPA2 для захвата рукопожатия;
  • Security Group Downgrade — когда клиента принуждают выбирать слабые группы безопасности, путем отклонения его коммит-фреймов через rogue AP;
  • Timing-Based Side-Channel Attack — злоупотребление временем ответа точки доступа на коммит-фреймы при использовании групп безопасности MODP;
  • Cache-Based Side-Channel Attack — когда memory access patterns раскрывают информацию о пароле, если атакующая сторона контролирует приложение на устройстве жертвы;
  • DoS — абьюз коммит-фреймов, который вызывает большую нагрузку на процессор (CPU) либо приводит к дисконнекту клиента.

В опубликованном исследовательском документе можно найти более полную информацию о каждой из уязвимостей. Для их демонстрации были созданы PoC-скрипты, которые до сих пор активно используются исследователями в области информационной безопасности: Dragondrain, Dragontime, Dragonforce, Dragonslayer и другие.

WPA3-Transition Downgrade Attack

Хотя кажется, что найти подробные материалы об атаках на WPA3 в сети сложно, в рамках данного исследования мне удалось найти детальную статью о Downgrade-атаке на маршрутизатор с включенной функцией WPA3-Transition. Атака основана на технике Evil Twin: если клиент подключен к роутеру через WPA3 с включенной функцией WPA3-Transition, злоумышленник может создать поддельную точку доступа WPA2, заставить клиента подключиться к ней через WPA2, захватить рукопожатие и взломать пароль Wi-Fi сети. Рассмотрим, как устроена подобная атака на примерах из статьи:

На роутере с включенной обратной совместимостью:

Далее происходит подтверждение через airmon-ng:

К точке доступа подключается клиент, которого необходимо верифицировать:

Запускаем airodump-ng и создаем rogue AP через hostapd с определенной конфигурацией:

Клиенты начинают подключаться по фальшивой точке доступа (они не знают наш PSK), и мы получаем возможность захватить handshake:

Нам остается использовать aircrack-ng, чтобы увидеть пароль от WPA3-сети:

Стратегии защиты

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

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

  • Используйте последнюю версию WPA (WPA3);
  • Регулярно обновляйте прошивку на маршрутизаторах/точках доступа и клиентских устройствах сети;
  • Внедряйте сложные пароли;
  • Отключайте уязвимые функции (например, WPS и кэширование PMKID для WPA2, WPA3-Transition для WPA3);
  • Отключайте автоподключение на клиентских устройствах.

BY INTER_KILL.t.me