Источник https://xss.pro
Автор evdo
Рисунок 1 – Структура кадра Beacon
Поскольку кадры Beacon не имеют защиты, они могут быть подделаны со стороны третьих лиц. Используемая версия протокола шифрования содержится в специальном поле RSNE кадра. Чтобы защитить сеть от манипуляции версией протокола шифрования в этих условиях, в четырехэтапной процедуре обмена ключами («рукопожатии») WPA2 со стороны AP предусмотрена процедура проверки поля RSNE на предмет его изменения. При обнаружении модификации поля обмен ключами со стороны AP прерывается.
Вместе с тем для проведения эффективной атаки по словарю в отношении протокола WPA2 атакующему достаточно перехватить только одно сообщение рукопожатия [3]. Перехват сообщения не требует специальных условий, атакующему необходимо только знать SSID целевой сети и находиться достаточно близко к клиентскому устройству.
На основе вышеуказанной информации создадим класс BeaconGenerator, алгоритм работы которого состоит в следующем:
1. Инициализация параметров исполнения - аргументов командной строки:
Рисунок 2 — Содержимое пакета Beacon от реальной AP.
Рисунок 3 — Содержимое поддельного пакета Beacon.
Рисунок 4 — Использование скрипта beacon_generator.py в режиме непрерывного излучения пакетов.
2.1.2 Программная реализация атаки на переходный режим работы WPA3 «Transition Mode» на языке Python.
Атаку на переходный режим работы WPA3 «Transition Mode» реализуем согласно следующему алгоритму:
1. Подготовительный этап
Проверка наличия прав root, требуемых для управления сетевыми интерфейсами; проверка наличия и состояния сетевых интерфейсов, валидация зависимостей.
Функции:
2. Сканирование беспроводных сетей
30-секундный захват трафика во всех диапазонах (2.4/5 GHz) с сохранением полученных результатов в отдельную директорию для последующего анализа.
3. Анализ AP на наличие уязвимого режима работы
Анализ pcap-файла на предмет поиска сетей с одновременной поддержкой SAE и PSK, исключение AP с обязательной защитой MFP из рассмотрения. Определение параметров уязвимых сетей (канал, BSSID, SSID).
4. Поиск активных клиентов
Целевой захват трафика при помощи фильтрации по BSSID и каналу уязвимой AP, сохранение и обработка полученных результатов в формате CSV, формирование списка клиентов или определение факта их отсутствия.
Функции:
5. Подготовка поддельной точки доступа
Выбор оптимального канала излучения, создание соответствующей конфигурации запуска утилиты hostapd-mana с учетом SSID целевой сети и необходимости захвата handshake.
Функции:
6. Запуск атаки
Одновременный запуск утилиты hostapd-mana в указанной конфигурации и метода воздействия на STA посредством класса BeaconGenerator (метод CSA) в формате параллельных процессов. Инструкции CSA содержат указание на частотный канал поддельной точки доступа hostapd-mana.
Функции:
7. Сохранение результатов
Ожидание сообщения о захвате handshake в выводе утилиты hostapd-mana, автоматическое завершение выполнения с сохранением результатов в файле формата HCCAPX для последующей обработки утилитой hashcat, восстановление состояния сетевых интерфейсов.
Исходный код скрипта прилагается в файле wpa3_downgrade.py.
На рисунке 5 представлен процесс запуска атаки, поиска уязвимых сетей и их клиентов.
На рисунке 6 - пример успешной атаки в отношении тестовой сети.
Рисунок 5 — Обнаружение уязвимых сетей и их клиентов.
Рисунок 6 — Перехват хендшейка от уязвимого устройства.
3. Экспериментальная проверка атаки
Команда для запуска атаки:
В результате экспериментов установлено следующее.
1. В точке доступа Huawei WS7100 выбор режима WPA3 «Transition Mode» является единственно возможной опцией (защита MFP - “Опционально”), включение строгого режима WPA3 и настройка защиты MFP не предусмотрены. Таким образом, все точки доступа данной модели формируют уязвимый тип сети.
2. В результате использования механизма CSA в качестве инструмента деаутентификации удалось отключить все клиентские устройства от точек доступа из настоящего исследования. Указанные устройства следуют инструкциям CSA практически сразу же после запуска атаки, что заставляет их отключиться от целевой AP по причине отсутствия ее сигнала на новом частотном канале.
Таким образом определено, что реализация атаки «dos-beacon-csa» из пакета Wi-Fi Framework предыдущего исследования [6] имеет низкую эффективность по причине упрощенного функционала, а не наличия защиты клиентских устройств от данного типа воздействия.
Дополнительная проверка применения предусмотренного стандартом метода CSA в качестве инструмента деаутентификации в отношении сетей WPA2, WPA3, в том числе с активным режимом MFP в режиме «Required» также подтвердила эффективность метода.
3. Возможность взаимодействия клиентского устройства с поддельной точкой доступа по правилам поля RSNE, отличного от легитимного, определяется прошивкой устройства и формирует его стойкость к уязвимости.
Устройство Honor V8 Pro не предпринимало попыток подключения к поддельной AP в отличие от устройств iPhone 12, Samsung Galaxy S22 и Xiaomi Poco X3 Pro, в отношении которых атака завершилась успешно.
Разработан алгоритм атаки, описаны основные этапы его реализации.
Автор evdo
Автоматизация атаки на переходный режим WPA3
В 2018 году Wi-Fi Альянс анонсировал новый стандарт WPA3, который призван заменить устаревший стандарт безопасности Wi-Fi WPA2. Предполагалось, что WPA3 сделает взлом сетевого пароля практически невозможным. Однако, уже в апреле 2019 года исследователь Mathy Vanhoef из Нью-Йоркского университета Абу-Даби совместно с коллегами, ранее в 2017 году опубликовавшими атаки KRACK [1] (Key Reinstallation Attack) против WPA2, выпустили пять новых уязвимостей WPA3 под общим названием Dragonblood [2].
Рассмотрим первую из них – атаку на переходный режим работы WPA3 «Transition Mode».
Рассмотрим первую из них – атаку на переходный режим работы WPA3 «Transition Mode».
1. Введение
1.1 Кадры Beacon
1.1 Кадры Beacon
Процесс подключения к сети клиентского устройства (STA) начинается с обнаружения доступных сетей. Каждая точка доступа (AP) периодически транслирует кадры Beacon, содержащие информацию о сети, включая ее имя – SSID. Получая эти кадры, STA может находить окружающие сети.
Рисунок 1 – Структура кадра Beacon
Поскольку кадры Beacon не имеют защиты, они могут быть подделаны со стороны третьих лиц. Используемая версия протокола шифрования содержится в специальном поле RSNE кадра. Чтобы защитить сеть от манипуляции версией протокола шифрования в этих условиях, в четырехэтапной процедуре обмена ключами («рукопожатии») WPA2 со стороны AP предусмотрена процедура проверки поля RSNE на предмет его изменения. При обнаружении модификации поля обмен ключами со стороны AP прерывается.
Вместе с тем для проведения эффективной атаки по словарю в отношении протокола WPA2 атакующему достаточно перехватить только одно сообщение рукопожатия [3]. Перехват сообщения не требует специальных условий, атакующему необходимо только знать SSID целевой сети и находиться достаточно близко к клиентскому устройству.
1.2 Переходный режим работы WPA3 «Transition Mode»
Для обеспечения совместимости со старыми клиентскими устройствами в спецификации WPA3 предусмотрен переходный режим работы («Transition Mode»).
Таблица 1
Параметр | WPA2 | WPA3 Transition Mode | WPA3-SAE |
| Защита от словарных атак | Нет | Нет (уязвимость) | Да |
| Совместимость с legacy | Нет | Да | Нет |
| Режим MFP | Опционально | Опционально | Обязательно |
Данный режим обеспечивает возможность подключения STA в разных режимах (WPA3-SAE или WPA2) с одним и тем же паролем. При этом устройства, поддерживающие WPA3 и MFP, используют WPA3 и обязательно MFP. Устройства, поддерживающие только WPA2, могут подключаться, используя WPA2 (без MFP).
Защита кадров управления (MFP), также называемая защищёнными кадрами управления Wi-Fi (PMF), описана в стандарте IEEE 802.11w и включена в версию редакции IEEE 802.11-2020 [5]. Стандарт предоставляет механизмы защиты кадров управления, включая конфиденциальность данных, целостность, подлинность источника и защиту от повторного воспроизведения. Стороны, внедрившие стандарт, могут указать требования по опциональному или обязательному использованию MFP. Когда клиент требует поддержки MFP, то он устанавливает соединение только с соответствующими точками доступа и наоборот.
Для реализации атаки на переходный режим работы WPA3 «Transition Mode» необходимо, чтобы защита MFP атакуемой AP находилась в режиме опционального использования или была отключена.
Защита кадров управления (MFP), также называемая защищёнными кадрами управления Wi-Fi (PMF), описана в стандарте IEEE 802.11w и включена в версию редакции IEEE 802.11-2020 [5]. Стандарт предоставляет механизмы защиты кадров управления, включая конфиденциальность данных, целостность, подлинность источника и защиту от повторного воспроизведения. Стороны, внедрившие стандарт, могут указать требования по опциональному или обязательному использованию MFP. Когда клиент требует поддержки MFP, то он устанавливает соединение только с соответствующими точками доступа и наоборот.
Для реализации атаки на переходный режим работы WPA3 «Transition Mode» необходимо, чтобы защита MFP атакуемой AP находилась в режиме опционального использования или была отключена.
2. Алгоритм атаки на переходный режим работы WPA3 «Transition Mode»
Алгоритм атаки состоит из следующих основных этапов:
1. Сканирование атакующим радиоэфира на предмет обнаружения уязвимых сетей. В Beacon кадрах таких сетей (поле RSNE) заявлена одновременная поддержка режимов WPA2 и WPA3, а защита MFP установлена в режим опционального использования или отключена.
2. Сканирование частотных каналов уязвимых сетей на предмет наличия подключенных клиентов, в отношении которых производятся дальнейшие манипуляции.
3. Создание поддельной точки доступа на отдельном частотном канале, излучение кадров Beacon от имени реальной AP (SSID), в которых сообщается о поддержке режима только WPA2.
4. Излучение специальных пакетов для принудительного отключения клиентских устройств с целью переподключения к поддельной точке доступа.
5. Подделка и направление клиентскому устройству в ответ на попытку его подключения первого сообщения четырехэтапного рукопожатия WPA2, содержащего параметр ANonce.
6. Получение от клиентского устройства ответного (второго) сообщения рукопожатия, содержащего параметры SNonce, MIC, RSNE.
7. Использование параметра MIC в качестве «oracle» для подбора пароля например, при помощи утилиты hashcat [4]. Термин «oracle» означает, что решение задачи успешной верификации параметра MIC позволяет определить правильный PSK.
1. Сканирование атакующим радиоэфира на предмет обнаружения уязвимых сетей. В Beacon кадрах таких сетей (поле RSNE) заявлена одновременная поддержка режимов WPA2 и WPA3, а защита MFP установлена в режим опционального использования или отключена.
2. Сканирование частотных каналов уязвимых сетей на предмет наличия подключенных клиентов, в отношении которых производятся дальнейшие манипуляции.
3. Создание поддельной точки доступа на отдельном частотном канале, излучение кадров Beacon от имени реальной AP (SSID), в которых сообщается о поддержке режима только WPA2.
4. Излучение специальных пакетов для принудительного отключения клиентских устройств с целью переподключения к поддельной точке доступа.
5. Подделка и направление клиентскому устройству в ответ на попытку его подключения первого сообщения четырехэтапного рукопожатия WPA2, содержащего параметр ANonce.
6. Получение от клиентского устройства ответного (второго) сообщения рукопожатия, содержащего параметры SNonce, MIC, RSNE.
7. Использование параметра MIC в качестве «oracle» для подбора пароля например, при помощи утилиты hashcat [4]. Термин «oracle» означает, что решение задачи успешной верификации параметра MIC позволяет определить правильный PSK.
2.1 Автоматизация этапов атаки
Для автоматизации атаки на переходный режим работы WPA3 «Transition Mode» используем язык программирования Python.
Этапы №1 и №2 алгоритма атаки реализуем при помощи утилиты airodump-ng и последующего анализа полученных pcap-файлов.
Этапы №№3, 5, 6 автоматизируем при помощи утилиты hostapd-mana, параметры запуска которой будем формировать динамически исходя из режимов работы реальной AP.
Этап №4 (принудительное отключение клиентских устройств) возможно реализовать различными методами.
Использование «классического» подхода — излучение пакетов деаутентификации от имени AP — является эффективным, но широко известным и легко детектируемым со стороны систем IDS методом.
Если рассматривать задачу отключения клиентских устройств не только в контексте рассматриваемой атаки, а с точки зрения реализации этого воздействия в том числе в отношении устройств WPA3 в режиме MFP, то в качестве перспективного и универсального метода воздействия на STA целесообразно рассматривать эксплуатацию механизма CSA (Channel Switch Announcement).
Данный метод реализуем в виде класса в отдельном файле, что позволит применять его при проведении других атак в качестве самостоятельного инструмента.
Этапы №1 и №2 алгоритма атаки реализуем при помощи утилиты airodump-ng и последующего анализа полученных pcap-файлов.
Этапы №№3, 5, 6 автоматизируем при помощи утилиты hostapd-mana, параметры запуска которой будем формировать динамически исходя из режимов работы реальной AP.
Этап №4 (принудительное отключение клиентских устройств) возможно реализовать различными методами.
Использование «классического» подхода — излучение пакетов деаутентификации от имени AP — является эффективным, но широко известным и легко детектируемым со стороны систем IDS методом.
Если рассматривать задачу отключения клиентских устройств не только в контексте рассматриваемой атаки, а с точки зрения реализации этого воздействия в том числе в отношении устройств WPA3 в режиме MFP, то в качестве перспективного и универсального метода воздействия на STA целесообразно рассматривать эксплуатацию механизма CSA (Channel Switch Announcement).
Данный метод реализуем в виде класса в отдельном файле, что позволит применять его при проведении других атак в качестве самостоятельного инструмента.
2.1.1 Реализация этапа №4 алгоритма атаки при помощи механизма CSA
Сообщение о смене канала (CSA) – это информационный элемент (IE), который включается в кадры типа Beacon, Probe Response и Action, чтобы оповестить клиентов о намерении точки доступа сменить частотный канал. Кадры типа Beacon и Probe Response не подлежат защите в режиме MFP, что формирует потенциал для их подделки в целях различных атак.
Включение IE CSA в кадры типа Beacon
Наиболее распространенным вариантом доставки информации CSA до клиентских устройств является включение IE в кадры типа Beacon.
Процедура уведомления о смене канала организована таким образом, чтобы предоставить STA время подготовиться к смене канала, завершить текущую передачу данных и минимизировать прерывание связи.
Согласно п. 10.3.4 стандарта [5], алгоритм уведомления о смене канала следующий:
1. AP принимает решение о смене канала и начинает включать информационный элемент «Channel Switch Announcement» (ID 37) или «Extended Channel Switch Announcement» (ID 60) в кадры типа Beacon. В указанных IE присутствует поле «Channel Switch Count» и его значение указывает, через сколько последующих Beacon-кадров произойдет фактическое переключение канала. С каждым отправленным кадром AP уменьшает значение поля «Channel Switch Count» на единицу.
2. Ассоциированные STA, распознают кадр Beacon с CSA IE, понимают, что AP готовится к смене канала и начинают отслеживать значение счетчика.
3. В CSA IE также есть поле «Channel Switch Mode».
Если оно установлено в «1», это сигнализирует клиентским устройствам, что они должны прекратить передачу данных на текущем канале, когда счетчик достигнет небольшого значения (обычно «1» или «0», в зависимости от реализации и интерпретации стандарта), чтобы избежать помех во время перехода.
4. Когда счётчик достигает значения «0», AP отправляет последний кадр Beacon, содержащий CSA IE со значением параметра «Channel Switch Count», равным «0». Сразу после отправки этого кадра AP переключается на новый канал, указанный в CSA IE.
5. STA, получившие последний кадр Beacon, также переключаются и ожидают кадры Beacon от AP на новом канале.
Основное ограничение стандартного поля CSA IE (п. 9.4.2.16 стандарта [5]) заключается в том, что оно может содержать только номер канала. Этого достаточно для узких каналов (20 МГц), но недостаточно для указания полной конфигурации более широких каналов (40 МГц, 80 МГц, 160 МГц), которые используют вторичные каналы и сегменты частот.
Для решения этой задачи используем поле Extended CSA IE указанной структуры (п. 9.4.2.20 стандарта [5]).
Процедура уведомления о смене канала организована таким образом, чтобы предоставить STA время подготовиться к смене канала, завершить текущую передачу данных и минимизировать прерывание связи.
Согласно п. 10.3.4 стандарта [5], алгоритм уведомления о смене канала следующий:
1. AP принимает решение о смене канала и начинает включать информационный элемент «Channel Switch Announcement» (ID 37) или «Extended Channel Switch Announcement» (ID 60) в кадры типа Beacon. В указанных IE присутствует поле «Channel Switch Count» и его значение указывает, через сколько последующих Beacon-кадров произойдет фактическое переключение канала. С каждым отправленным кадром AP уменьшает значение поля «Channel Switch Count» на единицу.
2. Ассоциированные STA, распознают кадр Beacon с CSA IE, понимают, что AP готовится к смене канала и начинают отслеживать значение счетчика.
3. В CSA IE также есть поле «Channel Switch Mode».
Если оно установлено в «1», это сигнализирует клиентским устройствам, что они должны прекратить передачу данных на текущем канале, когда счетчик достигнет небольшого значения (обычно «1» или «0», в зависимости от реализации и интерпретации стандарта), чтобы избежать помех во время перехода.
4. Когда счётчик достигает значения «0», AP отправляет последний кадр Beacon, содержащий CSA IE со значением параметра «Channel Switch Count», равным «0». Сразу после отправки этого кадра AP переключается на новый канал, указанный в CSA IE.
5. STA, получившие последний кадр Beacon, также переключаются и ожидают кадры Beacon от AP на новом канале.
Основное ограничение стандартного поля CSA IE (п. 9.4.2.16 стандарта [5]) заключается в том, что оно может содержать только номер канала. Этого достаточно для узких каналов (20 МГц), но недостаточно для указания полной конфигурации более широких каналов (40 МГц, 80 МГц, 160 МГц), которые используют вторичные каналы и сегменты частот.
Для решения этой задачи используем поле Extended CSA IE указанной структуры (п. 9.4.2.20 стандарта [5]).
Код:
# Структура Extended CSA IE
extended_csa_ie = struct.pack("<BBBBBB",
60, # ID элемента
4, # Длина
1, # Режим (0: широкий канал; 1: узкий)
11, # Новый канал
1, # Счётчик переключения
0 # Режим работы (0: нормальный)
)
Включение IE CSA в кадры типа Probe Response
Информационные элементы CSA IE и Extended CSA IE могут быть включены не только в кадры Beacon, но и в кадры Probe Response. Основная цель – уведомить неассоциированные станции, которые ищут сеть (отправляя запрос Probe Request) о предстоящей смена канала AP.
В этом случае алгоритм уведомления о смене канала следующий:
1. Как и в случае с кадрами Beacon, AP принимает решение о смене канала и начинает включать информационный элемент «Channel Switch Announcement» (или «Extended Channel Switch Announcement») в кадры типа Beacon с убывающим счетчиком.
2. STA, желающая найти доступные сети, отправляет кадры Probe Request (либо широковещательные, либо адресованные имени конкретной сети SSID).
3. AP, получившая Probe Request, отвечает на него кадром Probe Response, в который включает IE CSA с актуальным значением счетчика.
4. STA получает Probe Response от AP, обрабатывает IE CSA и извлекает информацию о новом канале, режиме переключения и оставшемся счетчике.
5. Таким образом STA получает информацию о смене канала AP заранее, до процесса ассоциации с ней.
В этом случае алгоритм уведомления о смене канала следующий:
1. Как и в случае с кадрами Beacon, AP принимает решение о смене канала и начинает включать информационный элемент «Channel Switch Announcement» (или «Extended Channel Switch Announcement») в кадры типа Beacon с убывающим счетчиком.
2. STA, желающая найти доступные сети, отправляет кадры Probe Request (либо широковещательные, либо адресованные имени конкретной сети SSID).
3. AP, получившая Probe Request, отвечает на него кадром Probe Response, в который включает IE CSA с актуальным значением счетчика.
4. STA получает Probe Response от AP, обрабатывает IE CSA и извлекает информацию о новом канале, режиме переключения и оставшемся счетчике.
5. Таким образом STA получает информацию о смене канала AP заранее, до процесса ассоциации с ней.
Реализация метода воздействия
На основе вышеуказанной информации создадим класс BeaconGenerator, алгоритм работы которого состоит в следующем:
1. Инициализация параметров исполнения - аргументов командной строки:
Код:
python script.py -i wlan0mon -c 6 -t 11 -b aa:bb:cc:dd:ee:ff
2. Сниффинг целевой точки доступа: настройка интерфейса на частотный канал AP, перехват пакета Beacon от целевой AP, извлечение параметров Beacon interval, Sequence number и основных информационных элементов [0, 1, 5, 7, 42, 48, 11, 59, 45, 61, 127, 191, 192, 195, 244, 221].
3. Синхронизация с легитимной AP (расчет времени следующего кадра Beacon, корректировка значения поля Sequence number).
4. Формирование поддельных пакетов типа Beacon и Probe Response (при указании MAC-адреса клиентского устройства в качестве аргумента) на основе извлеченной из кадра Beacon информации с добавлением информационных элементов CSA IE и Extended CSA IE согласно стандарту и аргументам командной строки.
5. Непрерывная отправка поддельных кадров (или заданного количества) синхронно с реальной AP и с одновременным динамическим уменьшением значения счетчика CSA.
Исходный код класса BeaconGenerator прилагается в файле beacon_generator.py.
На рисунках 2 и 3 представлено содержимое реального и поддельного пакетов Beacon; на рисунке 4 — пример запуска beacon_generator.py в отношении тестовой сети.
3. Синхронизация с легитимной AP (расчет времени следующего кадра Beacon, корректировка значения поля Sequence number).
4. Формирование поддельных пакетов типа Beacon и Probe Response (при указании MAC-адреса клиентского устройства в качестве аргумента) на основе извлеченной из кадра Beacon информации с добавлением информационных элементов CSA IE и Extended CSA IE согласно стандарту и аргументам командной строки.
5. Непрерывная отправка поддельных кадров (или заданного количества) синхронно с реальной AP и с одновременным динамическим уменьшением значения счетчика CSA.
Исходный код класса BeaconGenerator прилагается в файле beacon_generator.py.
На рисунках 2 и 3 представлено содержимое реального и поддельного пакетов Beacon; на рисунке 4 — пример запуска beacon_generator.py в отношении тестовой сети.
Рисунок 2 — Содержимое пакета Beacon от реальной AP.
Рисунок 3 — Содержимое поддельного пакета Beacon.
Рисунок 4 — Использование скрипта beacon_generator.py в режиме непрерывного излучения пакетов.
2.1.2 Программная реализация атаки на переходный режим работы WPA3 «Transition Mode» на языке Python.
Атаку на переходный режим работы WPA3 «Transition Mode» реализуем согласно следующему алгоритму:
1. Подготовительный этап
Проверка наличия прав root, требуемых для управления сетевыми интерфейсами; проверка наличия и состояния сетевых интерфейсов, валидация зависимостей.
Функции:
Код:
verify_root_privileges()
check_required_utilities()
validate_network_interface()
check_interface_monitor_mode()
2. Сканирование беспроводных сетей
30-секундный захват трафика во всех диапазонах (2.4/5 GHz) с сохранением полученных результатов в отдельную директорию для последующего анализа.
Код:
execute_wireless_scan(monitor_interface, output_folder)
3. Анализ AP на наличие уязвимого режима работы
Анализ pcap-файла на предмет поиска сетей с одновременной поддержкой SAE и PSK, исключение AP с обязательной защитой MFP из рассмотрения. Определение параметров уязвимых сетей (канал, BSSID, SSID).
Код:
process_capture_file(pcap_file_path) decode_rsn_security_details()
4. Поиск активных клиентов
Целевой захват трафика при помощи фильтрации по BSSID и каналу уязвимой AP, сохранение и обработка полученных результатов в формате CSV, формирование списка клиентов или определение факта их отсутствия.
Функции:
Код:
capture_connected_stations()
analyze_station_capture_files()
5. Подготовка поддельной точки доступа
Выбор оптимального канала излучения, создание соответствующей конфигурации запуска утилиты hostapd-mana с учетом SSID целевой сети и необходимости захвата handshake.
Функции:
Код:
generate_hostapd_config()
select_alternate_channel()
6. Запуск атаки
Одновременный запуск утилиты hostapd-mana в указанной конфигурации и метода воздействия на STA посредством класса BeaconGenerator (метод CSA) в формате параллельных процессов. Инструкции CSA содержат указание на частотный канал поддельной точки доступа hostapd-mana.
Функции:
Код:
initiate_attack_sequence()
BeaconGenerator().transmit()
7. Сохранение результатов
Ожидание сообщения о захвате handshake в выводе утилиты hostapd-mana, автоматическое завершение выполнения с сохранением результатов в файле формата HCCAPX для последующей обработки утилитой hashcat, восстановление состояния сетевых интерфейсов.
Исходный код скрипта прилагается в файле wpa3_downgrade.py.
На рисунке 5 представлен процесс запуска атаки, поиска уязвимых сетей и их клиентов.
На рисунке 6 - пример успешной атаки в отношении тестовой сети.
Рисунок 5 — Обнаружение уязвимых сетей и их клиентов.
Рисунок 6 — Перехват хендшейка от уязвимого устройства.
3. Экспериментальная проверка атаки
Для работы скриптов со стороны атакующего требуется ОС Linux (протестирован на Kali Linux 2025.1) и две сетевые Wi-Fi карты, одна из которых поддерживает режим мониторинга («monitor mode»).
Для экспериментальной проверки используем тестовый стенд, состоящий из следующего оборудования:
– точка доступа TP-Link AX73 (версия прошивки 1.0.1);
– точка доступа Huawei WS7200 (версия прошивки 10.0.5.15);
– точка доступа Huawei WS7100 (версия прошивки 2.0.15);
– точка доступа Keenetic KN-1011 (версия прошивки 3.6.3);
– клиентские устройства iPhone 12 (iOs 18.5), Samsung Galaxy S22 (Android 15), Xiaomi Poco X3 Pro (Android 13), Honor V8 Pro (Magic OS 8.1)
– Wi-Fi адаптер для инъекции пакетов EDUP AX3000.
Переведем адаптер EDUP AX3000 в режим мониторинга:
Для экспериментальной проверки используем тестовый стенд, состоящий из следующего оборудования:
– точка доступа TP-Link AX73 (версия прошивки 1.0.1);
– точка доступа Huawei WS7200 (версия прошивки 10.0.5.15);
– точка доступа Huawei WS7100 (версия прошивки 2.0.15);
– точка доступа Keenetic KN-1011 (версия прошивки 3.6.3);
– клиентские устройства iPhone 12 (iOs 18.5), Samsung Galaxy S22 (Android 15), Xiaomi Poco X3 Pro (Android 13), Honor V8 Pro (Magic OS 8.1)
– Wi-Fi адаптер для инъекции пакетов EDUP AX3000.
Переведем адаптер EDUP AX3000 в режим мониторинга:
Код:
sudo ifconfig wlxe**********d down
sudo iwconfig wlxe**********d mode monitor
sudo ifconfig wlxe**********d up
Команда для запуска атаки:
Код:
sudo python3 wpa3_downgrade.py -m wlxe**********d -r wlxe**********c
В результате экспериментов установлено следующее.
1. В точке доступа Huawei WS7100 выбор режима WPA3 «Transition Mode» является единственно возможной опцией (защита MFP - “Опционально”), включение строгого режима WPA3 и настройка защиты MFP не предусмотрены. Таким образом, все точки доступа данной модели формируют уязвимый тип сети.
2. В результате использования механизма CSA в качестве инструмента деаутентификации удалось отключить все клиентские устройства от точек доступа из настоящего исследования. Указанные устройства следуют инструкциям CSA практически сразу же после запуска атаки, что заставляет их отключиться от целевой AP по причине отсутствия ее сигнала на новом частотном канале.
Таким образом определено, что реализация атаки «dos-beacon-csa» из пакета Wi-Fi Framework предыдущего исследования [6] имеет низкую эффективность по причине упрощенного функционала, а не наличия защиты клиентских устройств от данного типа воздействия.
Дополнительная проверка применения предусмотренного стандартом метода CSA в качестве инструмента деаутентификации в отношении сетей WPA2, WPA3, в том числе с активным режимом MFP в режиме «Required» также подтвердила эффективность метода.
3. Возможность взаимодействия клиентского устройства с поддельной точкой доступа по правилам поля RSNE, отличного от легитимного, определяется прошивкой устройства и формирует его стойкость к уязвимости.
Устройство Honor V8 Pro не предпринимало попыток подключения к поддельной AP в отличие от устройств iPhone 12, Samsung Galaxy S22 и Xiaomi Poco X3 Pro, в отношении которых атака завершилась успешно.
ЗАКЛЮЧЕНИЕ
В ходе работы создан автоматизированный вариант атаки на переходный режим работы WPA3 «Transition Mode» с использованием языка Python.Разработан алгоритм атаки, описаны основные этапы его реализации.
В качестве метода воздействия на клиентские устройства предложена эксплуатация механизма CSA, реализованная на языке Python в формате отдельного класса для удобства использования.
В результате экспериментальной проверки автоматизированного варианта атаки подтверждена ее актуальность в отношении всех устройств тестового стенда, за исключением клиентского устройства Honor V8 Pro под управлением ОС Magic OS 8.1.СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
[1] Mathy Vanhoef. Key Reinstallation Attacks: Forcing Nonce Reuse in WPA2.
URL: https://papers.mathyvanhoef.com/ccs2017.pdf
[2] Mathy Vanhoef. Dragonblood: Analyzing the Dragonfly Handshake of WPA3
and EAP-pwd.
URL: https://papers.mathyvanhoef.com/dragonblood.pdfURL: https://papers.mathyvanhoef.com/ccs2017.pdf
[2] Mathy Vanhoef. Dragonblood: Analyzing the Dragonfly Handshake of WPA3
and EAP-pwd.
[3] Robert Moskowitz. 2003. Weakness in Passphrase Choice in WPA Interface.
URL: https://wifinetnews.com/archives/2003/11/weakness_in_passphrase_choice_in_wpa_interface.html[4] Hashcat utility.
URL: https://hashcat.net/hashcat/[5] IEEE Std 802.11. 2020.
[6] Evdo. Уязвимости CVE-2019-16275 и CVE-2019-9496 в реализации пакета Wi-Fi Framework.
URL: https://xss.pro/threads/136305/[6] Evdo. Уязвимости CVE-2019-16275 и CVE-2019-9496 в реализации пакета Wi-Fi Framework.
Вложения
Последнее редактирование модератором: