Статей о взломе Wi-Fi в Интернете достаточно много, но большинство из них касаются режима работы WEP/WPA(2)-Personal, в котором необходимо перехватить процедуру «рукопожатия» клиента и Wi-Fi-точки. Во многих корпоративных Wi-Fi-сетях используется режим безопасности WPA2-Enterprise, с аутентификацией по логину и паролю — как наименее затратный способ. При этом аутентификация осуществляется с помощью RADIUS-сервера.
ОС клиента устанавливает соединение с RADIUS-сервером, используя шифрование при помощи TLS, а проверка подлинности в основном происходит при помощи протокола MS-CHAPv2.
Для тестирования на проникновение в такой сети мы можем создать поддельную Wi-Fi-точку с RADIUS-сервером — и получить логин, запрос и ответ, которые использует MS-CHAPv2. Этого достаточно для дальнейшего брутфорса пароля.
Нам необходимы Kali Linux и карточка, поддерживающая работу в режиме Access Point, что можно проверить при помощи команды iw list, нас интересует строка:
Еще год назад нужно было проделать множество манипуляций для того, чтобы подделать такую точку доступа с возможностью получения учетных данных. Необходимо было пропатчить, собрать и правильно настроить определенные версии hostapd и FreeRADIUS. В августе 2014 года появился набор инструментов Mana Toolkit, позволяющий автоматизировать множество векторов атак на беспроводные клиенты.
Поскольку использовать ноутбук не всегда удобно, будем использовать более компактный вариант — телефон. Кроме того, можно использовать Raspberry Pi + FruityWifi. WiFi Pineapple, к сожалению, не поддерживает Mana.
Запускаем Kali
Подключаем Wi-Fi-карточку через USB-OTG-кабель. Запускаем приложение NetHunter.
Первое, что необходимо сделать, — определить интерфейс подключенной Wi-Fi-карточки. Для этого в меню выбираем Kali Launcher и запускаем Wifite.
В нашем случае это интерфейс wlan1.
В меню выбираем MANA Evil Access Point.
Настраиваем точку:
Отключаем karma (enable_karma=0), указываем буфер, в который будут направляться полученные логины и хеши (ennode).
В нашем распоряжении комплект из пяти скриптов, которые запускают, помимо точки доступа, дополнительные утилиты для осуществления MITM-атак. Нас интересует скрипт mana-noupstream-eap, который предназначен для точек с аутентификацией 802.1x.
По умолчанию скрипт пытается «сбрутить» полученный хеш, подключить клиент и провести MITM-атаку. Поскольку взлом хешей на телефоне — не самая лучшая идея, комментируем ненужные строки, добавляем команду, которая будет записывать перехваченные данные в файл на флешке, — и запускаем Mana.
Как только Wi-Fi-клиент окажется достаточно близко к нашей точке доступа, он попробует аутентифицироваться на ней. Хорошее место для засады — у входа в офис или бизнес-центр, время — начало или конец рабочего дня, когда потенциальные жертвы минуют проходную.
Останавливаем Mana и проверяем, что же мы поймали.
Формат полученных данных: Protocol | Login | Challenge | Response
Теперь можно в спокойной обстановке на нормальном компьютере взламывать полученные хеши.
В этом нам помогут:
— Asleap (используется в оригинальном скрипте),
— John the Ripper (требуется слегка модифицировать полученные хеши:
Полученные учетные записи можно использовать для дальнейшего проникновения в корпоративную сеть через Wi-Fi или VPN, а также для получения доступа к корпоративной почте.
Как оказалось, перехватить хеши пользователей можно не всегда. Настольные ОС (Windows, MacOS, Linux), а также пользователи iOS защищены лучше всего. При первичном подключении ОС спрашивает, доверяете ли вы сертификату, который используется RADIUS-сервером в данной Wi-Fi-сети. При подмене легитимной точки доступа ОС спросит про доверие к новому сертификату, который использует RADIUS-сервер. Это произойдет даже при использовании сертификата, выданного доверенным центром сертификации (Thawte, Verisign).
При использовании устройств на базе Android сертификат по умолчанию не проверяется, но существует возможность указать корневой сертификат, который может использоваться в данной Wi-Fi-сети.
Устройства на основе Windows Phone по умолчанию проверяют сертификат. Также доступны опции проверки сертификата сервера:
Резюмируя все сказанное, эксперты Positive Technologies рекомендуют следующие меры безопасности:
Автор: Дмитрий Трифонов, исследовательский центр Positive Technologies
ОС клиента устанавливает соединение с RADIUS-сервером, используя шифрование при помощи TLS, а проверка подлинности в основном происходит при помощи протокола MS-CHAPv2.
Для тестирования на проникновение в такой сети мы можем создать поддельную Wi-Fi-точку с RADIUS-сервером — и получить логин, запрос и ответ, которые использует MS-CHAPv2. Этого достаточно для дальнейшего брутфорса пароля.
Нам необходимы Kali Linux и карточка, поддерживающая работу в режиме Access Point, что можно проверить при помощи команды iw list, нас интересует строка:
* #{ AP, mesh point } <= 8,
Еще год назад нужно было проделать множество манипуляций для того, чтобы подделать такую точку доступа с возможностью получения учетных данных. Необходимо было пропатчить, собрать и правильно настроить определенные версии hostapd и FreeRADIUS. В августе 2014 года появился набор инструментов Mana Toolkit, позволяющий автоматизировать множество векторов атак на беспроводные клиенты.
Поскольку использовать ноутбук не всегда удобно, будем использовать более компактный вариант — телефон. Кроме того, можно использовать Raspberry Pi + FruityWifi. WiFi Pineapple, к сожалению, не поддерживает Mana.
Запускаем Kali
Подключаем Wi-Fi-карточку через USB-OTG-кабель. Запускаем приложение NetHunter.
Первое, что необходимо сделать, — определить интерфейс подключенной Wi-Fi-карточки. Для этого в меню выбираем Kali Launcher и запускаем Wifite.
В нашем случае это интерфейс wlan1.
В меню выбираем MANA Evil Access Point.
Настраиваем точку:
- интерфейс, определенный на предыдущем шаге (interface),
- SSID взламываемой Wi-Fi-сети (ssid)
- использование протокола аутентификации 802.1x(ieee8021x=1),
- опции wpa(wpa) (0 = без WPA/WPA2; 1 = WPA; 2 = IEEE 802.11i/RSN (WPA2); 3 = WPA и WPA2),
- список принимаемых алгоритмов управления ключами (wpa_key_mgmt=WPA-EAP),
- набор принимаемых алгоритмов шифрования (wpa_pairwise),
Отключаем karma (enable_karma=0), указываем буфер, в который будут направляться полученные логины и хеши (ennode).
В нашем распоряжении комплект из пяти скриптов, которые запускают, помимо точки доступа, дополнительные утилиты для осуществления MITM-атак. Нас интересует скрипт mana-noupstream-eap, который предназначен для точек с аутентификацией 802.1x.
По умолчанию скрипт пытается «сбрутить» полученный хеш, подключить клиент и провести MITM-атаку. Поскольку взлом хешей на телефоне — не самая лучшая идея, комментируем ненужные строки, добавляем команду, которая будет записывать перехваченные данные в файл на флешке, — и запускаем Mana.
Как только Wi-Fi-клиент окажется достаточно близко к нашей точке доступа, он попробует аутентифицироваться на ней. Хорошее место для засады — у входа в офис или бизнес-центр, время — начало или конец рабочего дня, когда потенциальные жертвы минуют проходную.
Останавливаем Mana и проверяем, что же мы поймали.
Формат полученных данных: Protocol | Login | Challenge | Response
Теперь можно в спокойной обстановке на нормальном компьютере взламывать полученные хеши.
В этом нам помогут:
— Asleap (используется в оригинальном скрипте),
— John the Ripper (требуется слегка модифицировать полученные хеши:
cat HASHES.txt | sed 's/://g' | sed 's/\([^|]*\)|\([^|]*\)|\([^|]*\)|\([^|]*\)/\2:$NETNTLM$\3$\4/' > john-HASHES.txt
)Полученные учетные записи можно использовать для дальнейшего проникновения в корпоративную сеть через Wi-Fi или VPN, а также для получения доступа к корпоративной почте.
Как оказалось, перехватить хеши пользователей можно не всегда. Настольные ОС (Windows, MacOS, Linux), а также пользователи iOS защищены лучше всего. При первичном подключении ОС спрашивает, доверяете ли вы сертификату, который используется RADIUS-сервером в данной Wi-Fi-сети. При подмене легитимной точки доступа ОС спросит про доверие к новому сертификату, который использует RADIUS-сервер. Это произойдет даже при использовании сертификата, выданного доверенным центром сертификации (Thawte, Verisign).
При использовании устройств на базе Android сертификат по умолчанию не проверяется, но существует возможность указать корневой сертификат, который может использоваться в данной Wi-Fi-сети.
Устройства на основе Windows Phone по умолчанию проверяют сертификат. Также доступны опции проверки сертификата сервера:
- нет;
- всегда спрашивать;
- центр сертификации.
Резюмируя все сказанное, эксперты Positive Technologies рекомендуют следующие меры безопасности:
- пользователям — проверять сертификаты при подключении не только к интернет-банку, но и к корпоративному Wi-Fi;
- пользователям Android — установить корневой сертификат, который используется в корпоративной сети;
- администраторам — перейти на использование аутентификации на основе сертификатов (или не удивляться, если перед входом в офис периодически будут появляться люди с телефоном и антенной).
Автор: Дмитрий Трифонов, исследовательский центр Positive Technologies