Часть 2. Тестируем безопасность WPA-Enterprise: Downgrade attack
Введение
В прошлой статье по WPA-Enterprise
мы рассмотрели атаку Evil Twin
(Stealing Credentials) + Bruteforce
и в одном из примеров смогли получить учетные данные пользователя в открытом виде. В этой статье мы расскажем как это могло произойти и как мы можем попытаться повторить успех через Downgrade attack
.
Данная статья представлена исключительно в образовательных целях. Red Team сообщество "GISCYBERTEAM" не несёт ответственности за любые последствия ее использования третьими лицами.
И снова теория
Напомним, что протокол 802.1x
(EAPOL
), по которому происходит аутентификация в WPA-Enterprise
, определяет методы отправки и приема запроса данных аутентификации. Также стоит напомнить, что самым распространенным режимом работы 802.1x
является следующий:
- Аутентификатор передает
EAP
-запрос на клиентское устройство, как только обнаруживает активное соединение. - Клиент отправляет
EAP
-ответ — пакет идентификации. Аутентификатор пересылает этот пакет на сервер аутентификации (RADIUS
). RADIUS
проверяет пакет и право доступа клиентского устройства по базе данных пользователя или другим признакам и затем отправляет на аутентификатор разрешение или запрет на подключение.
Так вот, чтобы снизить вероятность возникновения проблем несовместимости устройств, возникающих в результате неудачных попыток согласования, как запрашивающие устройства, так и серверы аутентификации обычно настраиваются на поддержку различных методов EAP
.
Однако не все методы EAP
одинаковы (например, PAP
будет передавать пароль в открытом виде, MSCHAPv2
будет использовать запрос/ответ...).
Поскольку согласование метода EAP
инициируется точкой доступа, в качестве которой может выступать устройство злоумышленника (Evil Twin
), можно обманом заставить клиентов использовать слабый протокол аутентификации (например, GTC
). Фактически, в то время как законные точки доступа предлагают методы EAP
от самого сильного до самого слабого, точка доступа «злого двойника» может предлагать методы EAP
от самого слабого до самого сильного.
Основной вид атаки на WPA-Enterprise
является Evil Twin
. И здесь стоит обратить внимание на мобильные устройства клиентов, так как при их наличии вероятность успешности атаки сильно повышается. И вот по каким причинам:
- в отличии от десктопа, роуминг мобильных устройств настроен достаточно агрессивно и завязан на уровне сигнала точек. Десктопы в этом плане намного спокойнее и самостоятельно (т.е. без действия пользователя) не будут бросаться на точку с более сильным сигналом (даже если точка будет стоять вплотную с устройством). Если принудительно отключить десктоп от сети, благодаря стандарту 802.11k он подключится к соседней легитимной точке, а не к нашей. В отличии от них, мобильные устройства постоянно ищут точки с лучшим сигналом, так как очевидно, что это устройства, которые всегда перемещаются (в отличии от ноутбуков);
- мобильные устройства способны работать по протоколу
EAP-GTC
, а это именно то, что нужно для атаки Downgrade. Более того, для этого даже не надо отключать мобильные устройства от точек доступа. Достаточно просто пройти мимо с включенной Evil Twin. Смартфоны сами набросятся на сильный сигнал (см предыдущий пункт).
Варианты проведения атаки
Инструментом для проведения данной атаки является уже известный вам eaphammer
. Утилита предлагает несколько подходов к проведению Downgrade атаки
:
Сбалансированный подход (самый эффективный)
При использовании eaphammer
поведение по умолчанию заключается в использовании сбалансированного подхода к снижению уровня EAP
. Он предлагает следующие последовательности методов EAP
во время процесса согласования EAP
:
- Phase 1 (outer authentication)
PEAP
,TTLS
,TLS
,FAST
- # Phase 2 (inner authentication)
GTC
,MSCHAPV2
,TTLS-MSCHAPV2
,TTLS
,TTLS-CHAP
,TTLS-PAP
,TTLS-MSCHAP
,MD5
Eaphammer
сначала пытается снизить уровень до GTC
, а затем сразу переходит к более надежным методам EAP
, если попытка не удается. Этот сбалансированный подход разработан для максимизации воздействия при минимизации риска долгих согласований EAP
.
Чтобы выполнить эту атаку, запустите eaphammer
с флагом --negotiate balanced
:
sudo eaphammer --interface wlan1 --negotiate balanced --auth wpa-eap --essid <SSID_corporate_wifi> --creds
Альтернативно, опустите флаг --negotiate
:
sudo eaphammer --interface wlan1 --auth wpa-eap --essid <SSID_corporate_wifi> --creds
Полное понижение версии EAP (с самого сильного до самого слабого)
sudo eaphammer -i wlan1 --channel <channel_number> --auth wpa-eap --essid <SSID_corporate_wifi> --negotiate weakest --creds
В этом случае eaphammer
предлагает методы EAP
в следующем порядке:
- # Phase 1 (outer authentication)
PEAP
,TTLS
,TLS
,FAST
- # Phase 2 (inner authentication)
GTC
,TTLS-PAP
,MD5
,TTLS-CHAP
,TTLS-MSCHAP
,MSCHAPV2
,TTLS-MSCHAPV2
,TTLS
Предупреждение: более вероятно увеличение времени согласованияEAP
(низкая вероятность успехаPAP
,MD5
,CHAP
), что может снизить эффективность атаки.
Подход, оптимизированный по скорости (от самого сильного к самому слабому)
sudo eaphammer -i wlan1 --channel <channel_number> --auth wpa-eap --essid <SSID_corporate_wifi> --negotiate speed --creds
В этом случае eaphammer
предлагает методы EAP
, которые с наибольшей вероятностью будут успешными в первую очередь:
- # Phase 1 (outer authentication)
PEAP
,TTLS
,TLS
,FAST
- Phase 2 (inner authentication)
MSCHAPV2
,TTLS-MSCHAPV2
,TTLS
,TTLS-CHAP
,GTC
,TTLS-PAP
,TTLS-MSCHAP
,MD5
Используйте этот режим, если у вас возникли проблемы с завершением процесса аутентификации EAP
клиентами в режиме по умолчанию.
Явная атака на понижение версии GTC
Чтобы выполнить реализацию перехода на более раннюю версию GTC
, используйте флаг --negotiate gtc-downgrade
:
sudo eaphammer --interface wlan1 --negotiate gtc-downgrade --auth wpa-eap --essid <SSID_corporate_wifi> --creds
Это даст указание eaphammer
предлагать следующие последовательности методов EAP
во время согласования EAP
:
Ручное управление согласованием EAP:
Чтобы вручную контролировать, какие методы EAP
используются eaphammer
, а также порядок, в котором они предлагаются клиенту, используйте флаг --negotiate manual
в сочетании с флагами --phase-1-methods
и --phase-2-methods
:
sudo eaphammer --interface wlan1 --negotiate manual --phase-1-methods PEAP,TTLS --phase-2-methods MSCHAPV2,GTC,TTLS-MSCHAP --auth wpa-eap --essid <SSID_corporate_wifi> --creds
Ручное управление процессом согласования EAP
полезно в ситуациях, когда необходимо имитировать поведение точки доступа, чтобы избежать обнаружения.
Рекомендуемая методология атаки
В сценариях, где скрытность не имеет значения, используйте --negotiate gtc-downgrade
флаг, чтобы начать атаку, а затем выполнить второй раунд атак, используя флаг --negotiate speed
.
Если вы заботитесь о том, чтобы вас не поймали, и уверены, что Заказчик отслеживает подобные атаки, используйте флаг --negotiate manual
для имитации порядка загрузки метода EAP
целевой точки доступа.
Примечание: ДляWindows
иAndroid
, когда мы настраиваем соискателя дляPEAP
, мы должны выбрать, какой протокол аутентификации будет использоваться. Фактически,Windows
даже не поддерживаетGTC
. Поэтому дляAndroid
иWindows
атака на понижение версииGTC
невозможна, поскольку заявитель отклонит методGTC
, полученный от сервераRADIUS
.
Совсем другая история с Apple iOS
. Apple предпочла простоту графического интерфейса безопасности. В результате запрашивающая сторона 802.1x
не имеет возможности выбрать метод аутентификации. На самом деле, о PEAP
даже не упоминается. Графический интерфейс просто отображает поля имени пользователя и пароля.
Однако на самом деле соискатель поддерживает как MSCHAPV2
, так и GTC
. Заявитель предпочтет MSCHAPV2 GTC
, если оба варианта представлены сервером RADIUS
. Однако если мы удалим поддержку MSCHAPV2
с RADIUS
-сервера, соискатель с радостью переключается на GTC
и передает сохраненные учетные данные в открытом виде.
И еще: как и в случае с атакой Evil Twin
(Stealing Credentials) + Bruteforce
, данная атака не сработает против клиентов, которые:
• используют аутентификацию на основе сертификатов (например, EAP-TLS
или PEAP
с EAP-TLS
), так как здесь отсутствуют учетные данные, которые можно украсть;
• проверяют сертификат сервера во время первой фазы аутентификации.
Практика
Процесс организации атаки выглядит следующим образом:
- Установка беспроводной сетевой карты в режим мониторинга;
- Идентификация цели — сканирование и поиск целевой сети;
- Создание поддельной точки доступа и запуск
Downgrade
атаки.
Итак, устанавливаем наш WiFi
-адаптер в режим мониторинга:
sudo iw dev wlan2 set monitor none
Запускаем сканирование эфира в поисках интересующей нас сети (в нашем примере это сеть Guest
):
sudo airodump-ng wlan2 --essid Guest
Создаем поддельную точку доступа и запускаем Downgrade
атаку. В данном примере мы выбираем подход полного понижения версии EAP
(флаг --negotiate gtc-downgrade
) и даже не утруждаем себя выбором конкретного канала:
Впрочем, данный подход не всегда срабатывает и мы можем получить такую картину:
В этом случае стоит «поиграться» с флагом --negotiate
и установить, например, значение balanced
, чтобы попробовать поймать хэш и попытаться его сбрутить. Хотя при определенных обстоятельствах для получения доступа к корпоративной сети этого и не потребуется. Но об этом в нашей следующей статье.
Заключение
В данной статье мы рассмотрели Downgrade attack
на сети WPA-Enterprise
. Мы надеемся, что рассмотренный материал поможет вам в вашей работе.
И помните: вся представленная в статье информация приводится исключительно в ознакомительных целях. Перед использованием приведенной информации настоятельно рекомендуется ознакомиться со статьей 272 УК РФ
.