Часть 1. Тестируем безопасность WPA-Enterprise. Теория, Evil Twin (Stealing Credentials) + Bruteforce
Введение
Если вы захотите окунуться в мир пентеста Wi-Fi
-сетей и займетесь изучением вопроса, то столкнетесь с явным дисбалансом информации по тестированию WPA-PSK
и WPA-Enterprise
: для первой группы можно с легкостью найти множество статей и видео роликов, как 5-7 летней давности, так и весьма свежих (при том, что методы и инструменты фактически не изменились). Но куда интереснее разобраться с вопросом пентеста беспроводных корпоративных сетей, где с вероятностью 99% вы столкнетесь с WPA-Enterprise
. И вот тут информации уже в разы меньше.
Поэтому мы решили внести свою лепту и подготовили небольшой цикл статей по тестированию безопасности сетей WPA-Enterprise
. Мы не будем затрагивать базовые вещи и говорить о подходящих для тестирования Wi-Fi
адаптерах, объяснять суть мониторинга, деаутентификации и пр. И всё же, совсем без теории в контексте разговора о WPA-Enterprise
обойтись не удастся, придется немного потерпеть.
Данная статья представлена исключительно в образовательных целях. Red Team сообщество "GISCYBERTEAM" не несёт ответственности за любые последствия ее использования третьими лицами.
Немного теории
Итак, есть 2 стула основных способа организации беспроводных сетей:
WPA/WPA2-Personal
(Pre-Shared Key, PSK), далееWPA-Personal
. Метод предназначен для защиты беспроводных сетей с использованием предварительно согласованного пароля или общего ключаPSK
(Pre-Shared Key), который должны знать все устройства и пользователи, чтобы получить доступ к сети. Этот вариант часто используется для обеспечения безопасностиWi-Fi
для домашних сетей и небольших офисов (в т.ч. кафе и отелей).
WPA
/WPA2-Enterprise MGT
(Machine-Generated Token), далееWPA-Enterprise
– способ организации беспроводной сети, более подходящий для корпоративного использования. Принято считать, чтоWPA-Enterprise
является более безопасным методом.
Протокол 802.1x
(EAPOL) определяет методы отправки и приема запроса данных аутентификации и предполагает три роли в сети:
клиент
(supplicant) - пользователь или клиентское устройство, которое хочет пройти аутентификацию и получить доступ к сети;cервер аутентификации
(обычноRADIUS
) - фактический сервер, выполняющий аутентификацию;аутентификатор
(authenticator) — роутер/коммутатор, который соединяет множество клиентских устройств с сервером аутентификации и отключает/подключает клиентские устройства.
Есть несколько режимов работы 802.1x
, но самый распространенный и надежный следующий:
- Аутентификатор передает
EAP
-запрос на клиентское устройство, как только обнаруживает активное соединение. - Клиент отправляет
EAP
-ответ — пакет идентификации. Аутентификатор пересылает этот пакет на сервер аутентификации (RADIUS
). RADIUS
проверяет пакет и право доступа клиентского устройства по базе данных пользователя или другим признакам и затем отправляет на аутентификатор разрешение или запрет на подключение. Соответственно, аутентификатор разрешает или запрещает доступ в сеть.
EAP (расширяемый протокол аутентификации) – структура аутентификации, а не конкретный механизм аутентификации. Он предоставляет стандартизированный набор функций и правил, определяющих способ аутентификации, а конкретные детали оставляют на усмотрение отдельных реализаций, известных как методы EAP
.
PEAP (Protected Extensible Authentication Protocol) похож на протокол EAP
, но создает туннель TLS
для защиты связи. Тогда слабые протоколы аутентификации могут использоваться поверх EAP
, так как они будут защищены туннелем.
Среди EAP
-методов могут быть как аутентификация на основе сертификатов, так и на основе учетных данных. Вот несколько примеров EAP
-методов:
EAP-GTC
: является методомEAP
для поддержки использования аппаратных токенов и одноразовых паролей с помощьюEAP-PEAP
. Его реализация похожа наMSCHAPv2
, но не использует одноранговый вызов. Вместо этого пароли отправляются на точку доступа в открытом виде.EAP-MD-5
(Message Digest): Клиент отправляетMD5
-хэш пароля. Не рекомендуется: уязвимость к атакам по словарю, отсутствие аутентификации сервера и способа генерировать на сессию ключи проводной эквивалентной конфиденциальности (WEP
).EAP-TLS
(безопасность транспортного уровня): метод полагается на сертификаты на стороне клиента и сервера для выполнения аутентификации и может использоваться для динамической генерации пользовательских и сеансовыхWEP
-ключей для защиты последующих коммуникаций.EAP-TTLS
(Tunneled Transport Layer Security): Взаимная аутентификация клиента и сети через зашифрованный канал (или туннель), а также средство для получения динамических, пользовательских и сессионныхWEP
-ключей. В отличие отEAP-TLS
,EAP-TTLS
требует только сертификаты на стороне сервера (клиент будет использовать учетные данные).PEAP-MSCHAPv2
: Этот протокол также известен как простоPEAP
, поскольку он широко распространен. Это просто уязвимый запрос ответ с вызовомMSCHAPv2
поверхPEAP
(он защищен туннелемTLS
).PEAP-EAP-TLS
или простоPEAP-TLS
: очень похож наEAP-TLS
, но перед обменом сертификатами создаетсяTLS
-туннель.
Большинство методов требуют наличия сертификата сервера, выписанного удостоверяющим центром (CA
). При этом сам сертификат CA
должен присутствовать на устройстве клиента в группе доверенных (что нетрудно реализовать средствами групповой политики в Windows
).
Тестирование на безопасность
Принцип атак на WPA
/WPA2 Enterprise
основан на сочетании атак на WPA-PSK
и Rogue AP Evil Twin
. Злоумышленнику сначала придется восстановить идентификационную информацию целевой сети Wi-Fi
. Сертификат организации отправляется клиенту, чтобы доказать, что он действительно исходит от целевой компании. Злоумышленнику придется отключить клиента, чтобы последний снова подключился и мог во время повторного подключения получить подтверждение связи, которое по большей части будет содержать сертификат.
Затем злоумышленник может создать свой собственный сертификат, максимально имитируя информацию в захваченном сертификате, чтобы он был максимально достоверным (в принципе, можно упустить этот шаг, но тогда при создании поддельного сертификата придется придумывать значения полей). Затем он настроит свою несанкционированную точку доступа так, чтобы она имела те же конфигурации и была максимально приближена к легальной сети: SSID
, канал и поддерживаемые алгоритмы шифрования.
Когда жертва пытается подключиться к мошеннической точке доступа, учетные данные (имя пользователя и пароль в открытом виде или формате хэша NTLM
) будут захвачены. Злоумышленнику остается только взломать хеш в автономном режиме, чтобы восстановить пароль пользователя.
Характер атаки зависит от используемого протокола EAP
. Протоколы WPA-Enterprise
могут основываться либо на учетных данных (EAP-TTLS
, PEAP-MSCHAPv2
и др.), либо на основе сертификатов (EAP-TLS
).
Далее мы рассмотрим первый и, пожалуй, самый простой тип атаки на WPA-Enterprise
: Evil Twin (Stealing Credentials) + Bruteforce
. Следует отметить, что эта атака не сработает против клиентов, которые:
- используют аутентификацию на основе сертификатов (например,
EAP-TLS
илиPEAPсEAP-TLS
), так как здесь отсутствуют учетные данные, которые можно украсть; - проверяют сертификат сервера во время первой фазы аутентификации.
Evil Twin (Stealing Credentials) + Bruteforce
Атака включает в себя создание поддельной точки доступа, которая имитирует целевой SSID
, чтобы привлечь клиентов и заставить их выполнить аутентификацию с поддельным RADIUS
-сервером. Таким образом мы можем попытаться захватить учетные данные в открытом виде или, чаще всего, challenge-response
(вызов-ответ), используемый в процессе внутренней аутентификации.
Процесс организации атаки выглядит следующим образом:
- установка беспроводной сетевой карты в режим мониторинга;
- идентификация цели — сканирование сети и поиск клиентов, использующих целевую сеть;
- создание поддельной точки доступа.
Итак, устанавливаем наш Wi-Fi
адаптер в режим мониторинга:
sudo iw dev wlan2 set monitor none
Запускаем сканирование эфира в поисках интересующей нас сети (в нашем примере это сеть Guest
) и нахождения ее точек доступа:
sudo airodump-ng wlan2 --essid Guest
Обратите внимание на значение MGT
в поле AUTH
: именно оно подсказывает, что мы имеем дело с WPA-Enterprise
.
Также для сканирования можно использовать различные инструменты, например, встроенный в кали wifite
, который также покажет наличие (и количество) подключенных к сети клиентов:
Далее, создаем поддельную точку доступа. Для этого воспользуемся утилитой eaphammer
(ссылка: https://github.com/s0lst1c3/eaphammer).
Сначала необходимо создать самоподписанный сертификат:
sudo eaphammer --cert-wizard
В принципе, при заполнении можно указать любые данные, но лучше ввести осмысленные, т.к. это повысит шанс обмануть клиента.
Теперь можно запустить атаку Evil Twin
против точки доступа интересующей нас WPA-Enterprise
сети и попытаться захватить учетные данные EAP
:
sudo eaphammer --essid Guest --channel 1 --interface wlan2 --auth wpa-eap --creds
Клиенты начнут отключаться от целевой сети и подключаться к нашей поддельной точке доступа. Устройства клиентов, подвергшихся атаке, которые не настроены на отклонение недействительных сертификатов, получат сообщение, подобное следующему:
На этом этапе мы ожидаем, что хотя бы один сотрудник атакуемой корпоративной сети точно согласится с уведомлением из примера выше. Также встречаются устройства, настроенные на автоматическое принятие недействительных сертификатов.
Если нам повезет, мы увидим в терминале имена пользователей и данные challenge-response
:
Остается попытаться сбрутить полученный response
или хэш
:
asleap -C <challenge> -R <response> -W <wordlist>
hashcat -m 5500 -a 0 -w 3 <hashcat_NETNTLM> <wordlist>
Ну а если нам очень повезет, то мы получим пароль в открытом виде:
А почему так произошло и как можно попытаться получить креды в открытом виде – расскажем в следующей статье.
Бонус
Помимо инструмента eaphammer
для атаки Evil Twin (Stealing Credentials) + Bruteforce
также подойдет утилита airgeddon
(ссылка: https://github.com/v1s1t0r1sh3r3/airgeddon).
Из плюсов: интуитивно понятный интерфейс и подсказки во время выполнения атаки, отсутствие необходимости введения команд – достаточно выбрать соответствующий пункт меню.
Из минусов: Wi-Fi
-адаптер должен поддерживать режим виртуального интерфейса + по нашим наблюдениям, eaphammer
отрабатывает эффективнее.
Подробно останавливаться на описании действий мы не будем. Напомним лишь, что перед атакой от вас потребуется выбрать ваш Wi-Fi
-адаптер и перевести его в режим мониторинга (п. 2), а далее остается выбрать пункт «Меню Enterprise атак» (п. 10) и следовать порядку действий: провести поиск целей (п. 4).
Выбрать интересующую цель с клиентами.
Выбрать Smooth
или Noisy
режим для атаки Evil Twin
.
Создать самоподписанный сертификат (п. 5) или указать путь до уже созданного, «ответить» на вопросы утилиты (не переживайте, для каждого есть пояснение) и атака начнется.
В случае успеха, вы получите хэши для брута.
Заключение
В данной статье мы рассмотрели теоретические основы сетей WPA-Enterprise
и атаку Evil Twin (Stealing Credentials) + Bruteforce
. Мы надеемся, что рассмотренный материал поможет вам в вашей работе.
И помните: вся представленная в статье информация приводится исключительно в ознакомительных целях. Перед использованием приведенной информации настоятельно рекомендуется ознакомиться со статьей 272 УК РФ
.