Не так давно совместно с Digital Security мы провели пентест своей корпоративной wi-fi-сети. Сегодня с коллегами расскажем, что может угрожать беспроводной сети, построенной на базе WPA2-Enterprise с аутентификацией по доменному аккаунту, и как от этого защититься.


Про WPA2-Enterprise


Прежде чем рассказывать про атаки и способы защиты от них, вспомним основные особенности стандарта WPA2-Enterprise.


Аутентификация. Для того чтобы подключиться к сети, клиент должен аутентифицироваться на ААА-сервере. Часто в качестве такового выступает RADIUS-сервер. Аутентификацию можно пройти с помощью доменного пароля, клиентского сертификата и пр. (EAP).


Шифрование. Организовано по алгоритму AES. Ключ шифрования динамический, индивидуальный для каждого клиента (802.1X), генерируется в момент аутентификации на RADIUS-сервере. Этот ключ может периодически обновляться по ходу работы без разрыва соединения.



Схема работы WPA2-Enterprise.


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


Рассмотрим подробнее процесс аутентификации на RADIUS-сервере:


  1. Клиент, желающий пройти аутентификацию, дает запрос на начало сеанса связи.
  2. В ответ на это вызываемая сторона (RADIUS-сервер) посылает произвольную, но всякий раз разную информацию (challenge) клиенту.
  3. Клиент добавляет к полученному запросу пароль и от этой строки вычисляет хэш.
  4. RADIUS-cервер проделывает с отправленным значением аналогичные действия и сравнивает результат. Если значения хэшей совпадают, то аутентификация считается успешной.
    Периодически RADIUS-сервер отправляет клиенту новый challenge, и процедура аутентификации повторяется снова.
    Такой механизм аутентификации называется “challenge–response” и происходит по одному из протоколов EAP – PEAP-MSCHAPv2.

От чего защищаемся


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


Подключение клиентов к ложной точке доступа. Зная имя сети SSID (ESSID, если сеть построена на нескольких точках доступа) и MAC-адрес точки доступа (BSSID), злоумышленник может развернуть нелегитимную точку доступа.


Чтобы увеличить свои шансы на успех, злоумышленники используют следующие нехитрые приемы:


  • нелегитимная точка доступа обладает более мощным сигналом, чем легитимная;
  • нелегитимная точка доступа развернута там, куда не доходит сигнал легитимных точек доступа, но где есть клиенты, которые обычно подключаются к этой сети.

Чтобы было куда подключить эту точку доступа, злоумышленник разворачивает свой RADIUS-сервер, к которому будет подключаться нелегетимная точка доступа. У этого RADIUS-сервера нет задачи аутентифицировать клиента и проверить, указал ли он правильный пароль. Главное – получить от клиента авторизационные данные, логин и ответ на предоставленный ложным Radius-сервером challenge. Их злоумышленник будет использовать для оффлайн подбора пароля и последующего подключения к целевой корпоративной беспроводной сети.


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


Например, для своих пентестов коллеги из Digital Security используют портативный бытовой роутер со встроенной батарейкой (типа этого). Перепрошивают с помощью OpenWRT и устанавливают кастомный пакет. На выходе получается точка доступа со встроенным RADIUS-сервером, которая может при необходимости прослушивать эфир и собирать данные. При желании можно и вовсе воспользоваться обычным телефоном.


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


Принудительная деаутентификация. Если клиент уже подключен к легитимной точке доступа, то его нужно как-то отключить от нее (принудительно деаутентифицировать), чтобы переподключить к ложной. Злоумышленник прослушивает эфир. Для этого он переводит свой wi-fi-адаптер в режим monitor-mode. Обычно для этого используют набор утилит aicrack-ng. С его же помощью злоумышленник начинает рассылать беспроводным клиентам сообщения о том, что легитимная точка доступа, к которой уже подключен клиент, отключается и уходит из эфира. Такой эффект достигается с помощью инъекции фреймов управления wi-fi (Management Frame), а именно: фреймов деассоциации и деаутентификации.


В результате клиент отключается от точки доступа и начинает искать новую точку доступа с таким же ESSID. В этой ситуации как раз пригождается точка доступа с более мощным сигналом. Клиентское устройство пытается к ней подключиться. Если клиент пройдет аутентификацию на ложном RADIUS-сервере, злоумышленник может захватить имя пользователя и аутентификационную MSCHAPv2-сессию.


Как защищаемся


Рассмотренные атаки можно предотвратить, если использовать следующие меры защиты:


Атака Мера
Подключение клиентов к ложной точке доступа мониторинг эфира для выявления фейковых точек доступа; аутентификация пользователей с использованием клиентских сертификатов
Принудительная деаутентификация клиента мониторинг эфира для выявления попыток принудительной деаутентификации клиентов беспроводных сетей; активация 802.11w (Protected Management Frames, PMF) на контроллере

Далее расскажем, как реализован каждый из способов защиты в нашем случае.


Мониторинг эфира и выявление ложных точек доступа. Организовать мониторинг эфира можно с помощью штатных средств точек доступа и контроллера WLAN. Далее речь пойдет об устройствах Cisco.
Для этого на точках доступа активируется механизм Off Channel Scanning, в котором он периодически сканирует эфир по всем каналам. В результате такого мониторинга он выявляет наименее загруженный канал и сторонние точки доступа (в терминологии Cisco – Rogue AP). Данные с точек доступа отправляются на контроллер, к которому они подключены.


На самом контроллере настраивается правило классификации сторонних точек доступа, согласно которому все посторонние точки доступа с SSID, эквивалентным нашему, считаются нелегитимными (malicious в терминологии Cisco). Подробно о настройке контроллера Cisco можете почитать в этой серии статей.



Так выглядит сообщение о найденной нелегитимной точке доступа в веб-интерфейсе контроллера.


681 Mon Apr 10 12:10:55 2017 Rogue AP: 14:2d:27:ef:f8:2b with Contained mode added to the Classified AP List.
682 Mon Apr 10 12:10:55 2017 Rogue AP 14:2d:27:ef:f8:2b is advertising our SSID. Auto containing as per WPS policy
Сообщения в логах контроллера при обнаружении нелегитимной точки доступа.


В системе мониторинга (в нашем случае это Nagios) настроен SNMP-опрос контроллера. При обнаружении нелегитимной точки доступа на экран мониторинга выводится сообщение, содержащее:


  • МАС-адрес нелегитимной точки доступа;
  • МАС-адрес точки доступа, которая ее обнаружила.

С помощью таблицы соответствия MAC-адреса точки доступа и ее месторасположения можно определить примерное расположение нелегитимной точки доступа.



Сообщение в системе мониторинга о том, что была зафиксирована нелегитимная точка доступа.


Мониторинг эфира на предмет попыток принудительной деаутентификации беспроводных клиентов. В рамках системы обнаружения вторжений (intrusion detection system, IDS) у контроллера Cisco есть штатный набор стандартных сигнатур, с помощью которых он может распознавать потенциально опасное поведение клиентов и соседских точек доступа. Сюда как раз относятся множественные попытки деаутентификации, аутентификации, ассоциации и пр.


Wed Apr 12 10:17:53 2017 IDS Signature attack detected. Signature Type: Standard, Name: Auth flood, Description: Authentication Request flood, Track: per-signature, Detecting AP Name: OST_Reception, Radio Type: 802.11b/g, Preced: 5, Hits: 500, Channel: 11, srcMac: 14:2d:27:ef:f8:2b
Сообщения о множественной аутентификации в логах контроллера Cisco


Рассматриваемый контроллер также имеет механизмы предотвращения вторжений (IPS). Например, при выявлении нелегитимной точки доступа можно противодействовать вторжению теми же средствами, которые используются и при атаках, – деаутентификацией и деассоциацией. Контроллер можно настроить так, что при появлении точки доступа с SSID, совпадающим с анонсируемым контроллером, будет запускаться механизм auto contain: точки доступа, фиксирующие сигнал нелегитимной точки доступа, начинают отправлять клиентам кадры деаутентификации от имени этой точки доступа. В результате клиенту становится очень сложно работать и передавать данные нелегитимной точке доступа.



Настройка автоматической деаутентификации клиентов, подключившихся к нелегитимной точке доступа, на контроллере Cisco.


Получать информацию от контроллера о событиях IDS можно двумя способами: отправка SNMP-трапов в систему мониторинга или парсинг журнала контроллера.


В систему мониторинга также приходит сообщение с МАС-адресом нелегитимной точки доступа и МАС-адрес легитимной точки доступа, которая ее обнаружила.


Для защиты от принудительной деаутентификации на контроллере активируется 802.11w (Protected Management Frames, PMF). Этот режим предотвращает атаки, направленные на принудительное отключение клиента от легитимной точки доступа и переподключение к нелегитимной. При использовании 802.11w фреймы Disassociation, Reassociation, Deauthentication подписываются ключом, известным только авторизованным клиентам и легитимным точкам доступа. В результате клиент может определить, получен данный фрейм от легитимной точки или нет.



Активация 802.11w PMF в веб-интерфейсе контроллера Cisco.


Аутентификация по пользовательским сертификатам. Суть метода заключается в том, что клиент аутентифицируется по пользовательскому сертификату, выписанному доверенным удостоверяющим центром. Этот сертификат помещается в пользовательского хранилище сертификатов каждого беспроводного устройства. При подключении сервер аутентификации (AAA-сервер) сверяет сертификат, предъявленный устройством, с установленными политиками.


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


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



Рассмотрим подробнее следующие составляющие этой схемы.


RADIUS-сервер. Принимает запросы от устройств на подключение беспроводных устройств (radius-clients).


Network Policy Server, NPS. Выполняет аутентификацию и проверку подлинности. Здесь же настраиваются условия подключения к беспроводной сети. Например:


  • запрос сертификата;
  • издатель сертификата;
  • расписание подключения.

Доменный сервер Active Directory (AD DS). Содержит базу с учетными записями пользователей и групп пользователей. Чтобы NPS мог получать данные о пользователях, необходимо зарегистрировать NPS на AD DS.


Active Directory Certificate services. Инфраструктура открытых ключей (Public Key Infrastructure, PKI).


  • Root-сервер. Корневой удостоверяющий центр. Здесь на основе закрытого ключа генерируется сертификат удостоверяющего центра. С помощью этого сертификата подписывается сертификат для промежуточного удостоверяющего центра.
    Обычно этот сертификат вместе с ключом экспортируют на флешку, прячут в подвал, в сейф, чтобы к нему не было никакого физического доступа для посторонних. Сам сервер отключают.


  • Subordinate-сервер. Промежуточный удостоверяющий центр. Здесь хранится сертификат промежуточного удостоверяющего центра. В дальнейшем здесь издаются клиентские сертификаты, которые подписываются промежуточным сертификатом. Средствами групповых политик Active Directory дает команду клиентским устройствам запросить сертификат для пользователя. Сертификат выпускается и попадает в пользовательское хранилище устройства.

Схема с subordinate-сервером выгодна тем, что при компрометации промежуточного сертификата корневой сертификат никак не будет затронут. В этом случае скомпрометированный сертификат просто отзывается через root-сервер, а subordinate-сервер удаляется.


На сегодня все, задавайте свои вопросы в комментариях.

Поделиться с друзьями
-->

Комментарии (2)


  1. ValdikSS
    28.04.2017 15:57
    +3

    В статье многие вещи упущены, создается впечатление, что протокол PEAP-MSCHAPv2 небезопасен, а EAP-TLS безопасен.

    На деле же, перехват MSCHAPv2-аутентификации возможен только в случае неправильной настройки клиентских устройств или использования небезопасных аутентификационных агентов (supplicant). Для PEAP-аутентификации TLS-сертификат на точке доступа должен быть в любом случае. Если клиентское устройство его не проверяет, то это не проблема протокола, а проблема устройства или его настроек. Windows по умолчанию не подключится к сети злоумышленника. Старые версии Android, если проверка сертификата была отключена, подключатся.

    В случае с Android и отключенной проверкой серверного сертификата, вас и EAP-TLS не защитит: злоумышленник перешлет клиентские аутентификационные данные точке доступа, получит симметричный ключ шифрования и сможет пользоваться сетью до первой смены ключей (обычно около часа).


    1. JRun
      28.04.2017 17:14
      +2

      Верно, перехват MSCHAPv2-аутентификации возможен в случае если пользователь подтвердил подключение к сети в появившемся диалоге с предупреждением. Такой алерт выводит большинство ОС и суппликантов, в случае невозможности валидации серверного сертификата.
      Но, к сожалению, далеко не все. Например, Android версий до 7, по умолчанию, в случае если не указан явно сертификат CA (а его нужно предварительно импортировать в систему), допускает установление TLS подключения даже если сервер предоставляет невалидный сертификат. Такая ошибка конфигурации очень легко допустима, так как настройка сводится к указанию логина и пароля, и все работает без «заморочек» с копированием и импортом сетрификатов. Что очень удобно в случае сценария с ложной точной доступа, учитывая относительно небольшой процент устройств обновляющихся до 7+ версий.
      Начиная с 7 версии, возможность отключить валидацию осталась, но перестала быть значением по умолчанию. И настройка подключения требует обязательно выбрать CA либо явно отключить проверку, что существенно снижает риск уязвимой к MITM конфигурации.

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