Атака на WPA-Enterprise и RADIUS (How to) Атака на WPA-Enterprise и RADIUS (How to). Вокруг WPA-Enterprise всегда была аура невскрываемости. Многие сетевые администраторы думают о нем , как о панацеи от всех проблем сетевой безопасности. В этой статье мы увидим что данное мнение далеко от истины. Мы рассмотрим как провести атаку на WPA-Enterprise используя инструменты BackTrack 5. Будут рассмотрены: 1. Создание и настройка фальшивого FreeRadius-WPE 2. Атака на PEAP (c Windows клиентами ) 3. Атака на EAP-TTLS I. Создание и настройка фальшивого FreeRadius-WPE Нам понадобиться свой («фальшивый») Radius сервер для того, чтобы организовать атаку на WPA- Enterprise. Наиболее широко используемый общедоступный Radius сервер - FreeRadius. Однако, настройка сервера дело не легкое и делать это для каждой атаки довольно утомительно. Поэтому будем использовать патч от Джошуа Райта (Joshua Wright), который позволит легко настроить сервер и провести атаки. Этот патч выпущен как FreeRadius-WPE (Wireless Pwnage Edition). Хорошая новость в том, что данный патч уже предустановлен в BT 5. Давайте теперь сначала настроим наш Radius сервер на BackTrack:. Поднимаем AP с FreeRadius-WPE Следуйте данным инструкциям, чтобы начать: 1. Присоединяем патчкордом один из портов LAN точки доступа к порту Ethernet на нашем ПК с BackTrack (в нашем случае это интерфейс - eth1). Поднимаем интерфейс получения IP-адресов и запускаем DHCP, как показано в следующем скриншоте (в консоле введем: dhclient3 eth1): 2. На точке доступа, в настройках безопасности выбираем «WPA-Enterprise». Затем в настройках «EAP (802.1x)» указываем IP-адрес RADIUS-сервера: 192.168.0.198. Это тот же самый IP-адрес, присвоенный нашему интерфейсу в шаге №1 . Парольной фразой(The RADIUS server Shared Secret ) для подключения к RADIUS серверу будет слово «test» , как показано в следующем скриншоте: 3. Теперь откроем новую консоль и идем в: /usr/local/etc/raddb. Здесь хранятся все конфиги от FreeRadius-WPE: 4. Откроем файл eap.conf, и найдем строчку «default_eap_type is set to peap». Оставляем ее как есть, (т.е. в режиме PEAP): 5. Откроем файл clients.conf. Это - файл, где мы определяем список клиентов, которые могут соединитесь с нашим RADIUS-сервером. Мы видим что для клиентов в диапазоне 192.168.0.0/16 секретное слово «test» . Это именно то , что мы использовали в шаге № 2: 6. Теперь наконец все готово для запуска RADIUS-сервера, пишем в консоле radiusd –s –X: 7. Как только RADIUS-сервер стартует , в консоле будет идти много сообщений отладки на экране, но в конечном счете мы увидим сообщение «Ready to process request!» (аналогично скриншоту). Отлично, установка завершена. Мы успешно настроили FreeRadius-WPE: Мы будем использовать его для наших экспериментов, про которые читайте далее. У FreeRadius-WPE есть куча настроек. Если интересно, можете ознакомиться с ними. Но что действительно важно, так это проверить различные конфигурационные файлы и как они все работают друг с другом (что займет какое-то время). II. Атака на PEAP Protected Extensible Authentication Protocol (PEAP) - самая популярная в использовании версия EAP. Поскольку данная технология EAP, встроена в Windows. У PEAP есть две версии: 1. PEAPv0 с EAP-MSCHAPv2 (самый популярный, поскольку у него есть поддержка на Windows), 2. PEAPv1 с EAP-GTC PEAP использует сертификат от сервера для проверки подлинности этого RADIUS сервера. Почти все атаки на PEAP используют неверные настройки проверки подлинности сертификата. В нашем эксперименте мы посмотрим, как взломать PEAP, когда у клиента выключена проверка подлинности сертификата. Взлом PEAP Если коротко: Мы создадим нашу связку из фальшивой точки доступа/фальшивого RADIUS сервера, используя FreeRadius-WPE. В нашем случае Enterprise клиент не использует проверку сертификата PEAP. Это позволит нам подсунуть наш собственный поддельный сертификат клиенту, который он с удовольствием примет. Как только это произойдет, внутренний протокол проверки подлинности MSCHAP-v2 скомпрометирован. Поскольку клиент использует наш поддельный сертификат , чтобы зашифровать данные, мы в состоянии легко восстановить: «username / challenge / response» (имя пользователя / запрос/ответ). MSCHAP-v2 может быть взломан с помощью атаки по словарю. Мы будем использовать программу Asleap, чтобы взломать пару «challenge / response», по нашему словарю. Подробности далее. Следуйте данным инструкциям, чтобы начать: 1. Наш RADIUS сервер запущен и готов к работе . Запускаем лог-файл FreeRadius-WPE и наблюдаем за ним (в консоле введем: tail /usr/local/var/log/radius/freeradius-server-wip.log -n 0 -f ): 2. У Windows есть родная поддержка PEAP. Давайте проверим, что проверка сертификата действительно выключена: 3. Клиент из-под Windows соединяется с точкой доступа “Wireless Lab”, для аутентификации PEAP: 4. Как только клиент соединяется с нашей точкой доступа, он должен ввести «Имя пользователя / Пароль». У нас это SecurityTube в качестве Имени пользователя и пароль: abcdefghi : 5. Как только клиент их ввел, мы в можем увидеть, что ответ MSCHAP-v2 появился в лог- файле (tial -f /usr/local/var/log/radius/freeradius-server-wip.log -n 0 ): 6. Мы теперь используем Asleap, в конссоле введем:asleap -C bG:f3:c2:a3:06:0c:94:f5 -R b0:c8:ic:06:lf:9d:c2:bc:35:7d:f2:5b:48:2a:99:53: S5:ie:04:54:98:ca:e4:f9 -W list , чтобы взломать ответ MSCHAP-v2 с использованием словаря (в кортом содержится «abcdefghi»). В итоге мы взломали пароль!: Возможны и другие варианты нападения на PEAP. Ошибки в конфигурации в PEAP могут быть самыми разными. Даже с разрешенной проверкой сертификата, если администратор не пропишет список разрешенных для подключения серверов, злоумышленник может получить реальный сертификат на другой домен от любого из официальных органов по сертификации. И он будет принят клиентом. Есть другие варианты этой атаки. Экспериментируйте с вариантами атаки на свой вкус.
часть 2 III. Атака на EAP-TTLS В EAP-Tunneled Transport Layer Security (EAP-TTLS), сервер идентифицирует себя через сертификат. Клиент так же может дополнительно использовать сертификат . К сожалению, протокол не имеет встроенной поддержки в Windows, и мы должны использовать утилиты от сторонних производителей. Есть несколько вариантов внутренней проверки подлинности протокола , которые мы можем использовать с EAP-TTLS. Самым распространенным снова является MSCHAP-v2. Так как Windows не имеет встроенной поддержки EAP-TTLS, мы будем использовать OS X для наших тестов. Следуйте данным инструкциям, чтобы начать: 1. EAP-TTLS также включен по умолчанию в eap.conf. Запускаем RADIUS сервер (команда: radiusd –s –X ) и его лог файл (команда: tail -f /usr/local/var/log/radius/freeradius-server-wpe.log -n 0): 2. Клиент присоединяется к нашей сети и вводит верительные Имя пользователя: SecurityTube и пароль: demo12345: 3. ответ MSCHAP-v2 (пара challenge / response) появился в лог- файле нашего RADIUS сервера: 4. Мы снова используем Asleap (asleap -C 9f:18:77:8f:4c:e2:c3:90 -R 12:ef:lG:7e:70:35:12:95:4a:51:8e:5f:f2:e5:5e:39: 5d:4a:ff:b7:41:87:14:76 -W list), чтобы взломать используемый пароль. Важно отметить, что любой словарь который Вы используете, должен содержать пароль, используемый пользователем: Пароль найден. Взлом EAP-TTLS почти идентичен PEAP. Как только клиент принимает наш поддельный сертификат, мы получаем в логе MSCHAP-v2 зашифрованный пароль (пару challenge / response). Поскольку MSCHAP-v2 подвержен атакам с подбором по словарю, мы используем Asleap, чтобы взломать пару challenge / response, по нашему словарю. Оргвыводы : Как видно из статьи EAP-PEAP и EAP-TTLS, использующие туннелирование обмена данными аутентификации, не так хорошо защищены, как кажется. Сети использующие EAP-TTLS и EAP-PEAP+MS-CHAPv2 для аутентификации, являются уязвимыми к атакам, основанным при установке нападающим фальшивой точки доступа, сопряженной с фальшивым RADIUS сервером. Взлом EAP-PEAP+MS-CHAPv2 возможен например при использовании DoS атак на RADIUS сервер и используем DoS для отрубания клиентов от настоящего RADIUS сервера и получения паролей с помощью связки фальшивая точка доступа/фальшивый RADIUS сервер. Копирайты: Для статьи были использованы материалы из книги Vivek Ramachandran «BackTrack 5 Wireless Penetration Testing Beginner's Guide» (книгу можно легко найти в сети).