У статті розповідається про злом WPA2-Enterprise з аутентифікація через RADIUS-сервер.
Статей про злом 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, нас цікавить рядок:
Підключаємо 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.
Як тільки 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 рекомендують такі заходи безпеки: