Wi-Fi сьогодні є майже в кожному домі, офісі чи громадському місці, але далеко не всі замислюються, наскільки захищеною є така мережа. У цій статті розглядаємо основи безпеки бездротових мереж, пояснюємо, як спеціалісти перевіряють Wi-Fi на вразливості та які підходи використовують під час тестування. Матеріал допоможе краще зрозуміти, як працює захист сучасних Wi-Fi мереж і чому правильна конфігурація має вирішальне значення.
З моменту появи Wi-Fi стандарти безпеки кілька разів змінювалися. Старі рішення поступово ламали, тому виробникам доводилося створювати нові механізми захисту. У результаті сформувалося кілька основних протоколів, які використовувалися в різні періоди.
WEP (Wired Equivalent Privacy) – один із найперших стандартів захисту Wi-Fi. На момент появи він виглядав достатньо надійним, але з часом дослідники знайшли в ньому багато слабких місць. Через це сьогодні WEP практично не застосовують.
WPA (Wi-Fi Protected Access) створили як тимчасову заміну WEP. У ньому змінили підхід до захисту мережі та покращили механізми автентифікації. З’явилися дві основні моделі використання: WPA-Personal для домашніх мереж і WPA-Enterprise для компаній
WPA2 став наступним етапом розвитку. Тут вже використовується шифрування AES, а також кілька додаткових механізмів захисту. Один із найважливіших – так зване 4-way handshake, яке відбувається під час підключення пристрою до мережі.
WPA3 – новіший стандарт, який поступово приходить на зміну WPA2. Він використовує сучасніші методи встановлення з’єднання та краще захищає мережу від атак перебору паролів.
Коли перевіряють безпеку Wi-Fi мережі, важливо діяти не хаотично, а за зрозумілою схемою. Це дозволяє послідовно перевірити мережу і побачити, де можуть бути слабкі місця. У процесі оцінки дивляться, які точки доступу видно зовні, чи можна перехопити сигнал і чи є місця, звідки потенційно можна спробувати атаку. Такий підхід також допомагає зрозуміти, чи відповідає мережа вимогам безпеки та внутрішнім правилам компанії.
Зазвичай перевірка проходить у кілька кроків:
Планування. Спочатку погоджують саму перевірку. Потрібно визначити межі тестування, зрозуміти, яку частину мережі можна досліджувати, і отримати дозвіл від клієнта. Часто підписують NDA – це звичайна практика, щоб уникнути будь-яких юридичних проблем.
Розвідка. Далі пентестер збирає інформацію про всі бездротові мережі поблизу. Перевіряються точки доступу, канали, рівень сигналу. Навіть якщо мережа прихована і не показує свій SSID, її все одно можна виявити. Також дивляться, з яких місць сигнал доступний – іноді мережу можна перехопити навіть за межами будівлі.
Атака. Коли загальна картина вже зрозуміла, перевіряють знайдені слабкі місця. Пентестер намагається використати їх так, як це зробив би реальний зловмисник. При цьому тест проводять обережно, щоб не порушити роботу мережі, але показати, наскільки вона насправді захищена.
Мережі з захистом WPA2-PSK досі використовуються дуже часто, тому вони регулярно стають мішенню для різних атак. Під час таких перевірок дослідники намагаються знайти слабкі місця в механізмах автентифікації та шифрування. Якщо пароль слабкий або мережа налаштована неправильно, це може значно спростити роботу зловмиснику. Однією з найвідоміших технік є атака на так зване 4-way handshake.
Цей метод пов’язаний із процесом встановлення захищеного з’єднання між пристроєм користувача та Wi-Fi-роутером. Коли пристрій підключається до мережі, відбувається обмін спеціальними повідомленнями – так зване «чотиристороннє рукостискання». Саме під час цього процесу сторони перевіряють пароль і створюють ключ, яким потім шифрується трафік.
Якщо атакувальнику вдається перехопити цей обмін, він може спробувати підібрати пароль офлайн – тобто вже без прямого доступу до мережі. Саме тому слабкі або короткі паролі значно підвищують ризик успішної атаки.
Дані проходять через функцію PBKDF2 (Password-Based Key Derivation Function), яка використовує їх для обчислення 256-бітового загального ключа Pairwise Master Key ( PMK );
PMK є важливою частиною PTK і використовується для перевірки контрольної суми цілісності повідомлення ( MIC ) в одному з пакетів рукостискання;
Якщо MIC збігається, то гаданий пароль зі словника виявляється правильним;
Важливо відзначити, що PBKDF2 забезпечує безпечне створення PMK, і у разі успішного злому пароля зі словника, PTK може бути використаний для дешифрування даних у зашифрованих Wi-Fi мережах. Тому для захисту від таких атак важливо використовувати складні та унікальні паролі.
Говорячи безпосередньо про атаку Cracking the 4-way handshake, зручно розбити її на 5 логічних етапів:
Постановка бездротової мережевої карти в режим моніторингу: за допомогою команди інструментів
airmon-ng check kill && airmon-ng start wlan0ми вбиваємо процеси, які нам заважають:airmon-ng start wlan0
Ідентифікація мети: запускаємо сканування цілей за допомогою
wash –i wlan0, щоб побачити бездротові мережі, які знаходяться в нашому радіусі дії;
Запуск перехоплення мережного трафіку для обраної мережі здійснюється через airodump-ng –c 1 –bssid E4:18:6B:03:EC:0C –w capture wlan0:
Де:
E4:18:6B:03:EC:0C – BSSID точки доступу;
CH 1 – канал, на якому працює точка доступу Wi-Fi;
WPAcrack файл у який запишеться handshake;
mon0 – мережевий адаптер у режимі моніторингу.
Відключення клієнта від мережі або очікування, поки ми деаутентифікуємо його черезaireplay-ng -0 1 -a E4:18:6B:03:EC:0C -v EA:23:AB:8B:98:E1 wlan0
Якщо деаутентифікація пройде успішно , клієнт спробує повторно підключитися до мережі Wi-Fi. Точка доступу (AP) та клієнт почнуть обмін спеціальними пакетами, включаючи 4-way handshake, що містить інформацію, необхідну для зламування пароля. Використовуючи aircrack-ng –w /usr/share/wordlists/wifite.txt –bE4:18:6B:03:EC:0C capture-10.cap, ми зможемо послідовно перевірити кожен пароль зі словника на відповідність захопленому 4-way handshake. Якщо aircrack-ng знайде відповідність, це і буде пароль мережі Wi-Fi.
Ще одна потенційна вразливість у протоколі WPA2-PSK – можливість атак на систему захисту Wi-Fi Protected Setup ( WPS ). Такі атаки спрямовані на виявлення проблем у процесі встановлення безпечного з’єднання між пристроєм та бездротовим маршрутизатором з використанням WPS. Мета дослідження тут – розуміння того, як можна отримати доступ до бездротової мережі в обхід традиційних методів автентифікації.
Процес організації атаки виглядає так:
Переведення бездротової мережевої картки у режим моніторингу;
Запуск сканування для виявлення цільової мережі з активованим WPS;
Атака на WPS PIN методом брутфорсу (з використанням Reaver):
Команда reaver -i -b -vv призводить до відповідного результату:
З тим же PIN reaver -i -b -vv ми можемо провести аутентифікацію в мережі.
Тут слід зробити невеликий відступ: процес налаштування WPS включає використання восьмизначного PIN, який може складатись лише цифр від 0 до 9. На перший погляд, 8-значний PIN може являти собою 100 000 000 різних комбінацій (оскільки кожна з восьми позицій може містити одну з десяти цифр).
Проте фактична кількість унікальних комбінацій скорочується через особливості валідації цього PIN у реальній реалізації WPS. Зокрема, останній символ PIN-коду обчислюється як контрольна сума попередніх семи символів. Отже, передостанній символ залишається єдиним невідомим значенням, інші символи можна підібрати перебором. Крім того, перші чотири символи та наступні три символи перевіряються незалежно один від одного.
Через цю особливість загальна кількість дійсних комбінацій, які можуть бути перевірені при брутфорс-атаці на WPS PIN, скорочується всього до 11 000 можливих комбінацій, що робить цю атаку досить простою.
Pairwise Master Key Identifier Dump ( PMKID ) – це процес отримання та збереження PMKID з бездротової мережі, що працює за протоколом WPA/WPA2. PMKID – це частина ключової інформації, яка використовується для встановлення безпечного з’єднання між клієнтським пристроєм та точкою доступу. Цей процес нагадує перемикання між осередками в стільникових мережах. Іноді він позначається на стабільності з’єднання, оскільки кожного разу, коли клієнт виходить з діапазону однієї точки доступу та переходить до іншої, відбувається нове 4-стороннє потиск рук. Для зниження затримок при таких переходах існує функція кешування Pairwise Master Key ( PMK ).
Багато маршрутизаторів кешують PMKID, щоб наступного разу клієнт міг повторно автентифікуватися без виконання рукостискання. Маршрутизатори з цією функцією включають PMKID кадру EAPOL. Тут вже можливі варіанти: наприклад, можна спробувати перехопити PMKID і запустити атаку методом підбору пароля для вгадування PMK, необхідного для аутентифікації в мережі.
Сама атака на PMKID вимагає доступу до бездротової мережі, а її здійснення потрібен певний інструментарій. Як виглядає атака:
Переводимо бездротову мережну картку у режим моніторингу;
Скануємо мережу та ідентифікуємо цілі;
Вилучаємо PMKID (за допомогою hcxdumptool ):
hcxdumptool –o --enable_status=1 –filterlist_ap= --filtermode=2
Зламуємо PMKID (за допомогою ( hcxpcaptool , Hashcat ):
за допомогою
hcxpcaptool –zконвертуємо раніше «здамплений» хеш у Hashcat-readable format;
здійснюємо злом через
hashcat -m 16800 --force –show
Атаки на системи WPA2-Enterprise націлені на аналіз рівня безпеки, що надається серверами автентифікації та механізмами керування ключами у складних корпоративних мережах. Серед цілей можуть бути і фізичні атаки на мережеве обладнання.
WPA-Enterprise також відомий як стандарт WPA-EAP або WPA-802.1X. Він використовує протокол Extensible Authentication Protocol (EAP) для делегування автентифікації клієнтів бездротової мережі на сервер RADIUS. EAP надає набір стандартизованих функцій та правил для реалізації конкретних методів автентифікації, відомих як методи EAP. Серед таких методів можуть бути як аутентифікація на основі сертифікатів, так і на основі облікових даних. Ось кілька прикладів EAP-методів:
EAP-TLS – метод є оригінальним стандартом EAP аутентифікації та широко підтримується, він дозволяє аутентифікацію лише на основі сертифікатів.
PEAP був розроблений компаніями Microsoft, Cisco та RSA Security і використовує тунельне шифрування TLS для передачі даних EAP.
EAP-TTLS є розширенням TLS для забезпечення EAP через TLS-тунель і також широко підтримується в корпоративному середовищі, за винятком Microsoft.
LEAP був розроблений Cisco до встановлення стандарту і не має нативної підтримки в продуктах Microsoft, що в даний час вважається застарілим.
EAP-FAST був розроблений Cisco як заміна LEAP.
Найпоширенішими реалізаціями протоколу EAP є EAP-PEAP та EAP-TTLS . Оскільки з технічної точки зору вони дуже схожі один на одного, варто зосередитись, насамперед, на EAP-PEAP.PEAP використовує сертифікати на стороні сервера для перевірки автентичності сервера RADIUS. Майже всі атаки на PEAP пов’язані з неправильним настроюванням перевірки сертифікатів.
Розглянемо основні види атак на системи WPA2-Enterprise: Evil Twin (Stealing Credentials) та Online Bruteforce.
Атака включає створення підробленої точки доступу, яка імітує цільовий SSID, щоб залучити клієнтів і змусити їх виконати аутентифікацію в другій фазі з підробленим RADIUS-сервером. Таким чином ми можемо спробувати захопити облікові дані у відкритому вигляді або challenge-responseдані, що використовуються в процесі внутрішньої аутентифікації. Слід зазначити, що ця атака не спрацює проти клієнтів, які:
використовують аутентифікацію на основі сертифікатів (наприклад, EAP-TLS або PEAP з EAP-TLS ), тому що тут відсутні облікові дані, які можна вкрасти;
перевіряють сертифікат сервера під час першої фази автентифікації.
Процес організації атаки виглядає так:
Встановлення бездротової мережі в режим моніторингу;
Ідентифікація цілі – сканування мережі та пошук клієнтів, які використовують цільову мережу;
Створення підробної точки доступу (з використанням eaphammer ):
Використовуємо для того, щоб згенерувати self-signed сертифікат, а потім створюємо Evil Twin з параметрами, що нас цікавлять.
./eaphammer --cert-wizard ./eaphammer --bssid --essid --channel 2 --wpa 2 --auth peap --interface wlan0 –creds
Захоплення облікових даних RADIUS, включаючи дані challenge-response:
клієнти почнуть відключатися від цільової мережі та підключатися до нашої точки доступу. Пристрої клієнтів, які зазнали атаки, які не налаштовані на відхилення недійсних сертифікатів, отримають повідомлення, подібне до наступного:
На цьому етапі ми очікуємо, що хоча б один співробітник корпоративної мережі, що атакується, точно погодиться з повідомленням з прикладу вище. Також часто зустрічаються пристрої, налаштовані автоматичне прийняття недійсних сертифікатів. Якщо пощастило, ви побачите в терміналі імена користувачів та дані challenge-response :
Доступ до бездротової мережі:
використовуючи команду asleap –C -R -W ми отримуємо NT-хеш та пароль.
Подальші дії для збирання облікових даних у чистому вигляді можуть включати використання інших методик Evil Twin, наприклад, EAP-downgrade або Captive Portal.
Незважаючи на те, що мережі WPA-Enterprise вважаються безпечнішими, ніж мережі WPA-PSK, вони нерідко піддаються атакам онлайн-перебору паролів.
Процес організації такої атаки виглядає так:
Встановлення бездротової мережі в режим моніторингу;
Ідентифікація цілі – сканування мережі та пошук клієнтів, які використовують цільову мережу;
Створення лістингу з можливими іменами користувачів та паролями, які можуть бути використані для аутентифікації, тут можуть допомогти різні OSINT методи. Для здійснення цього кроку використовуємо
air-hammer:
./air-hammer.py -i wlan0 -e -u -P -1
Оскільки облікові дані WPA-Enterprise часто є обліковими даними користувача домену, можна використовувати виявлені облікові дані, щоб отримати доступ до додаткових систем корпоративної мережі.
У січні 2018 року Wi-Fi Alliance оголосила про створення WPA3, який мав стати заміною WPA2, який вважався вразливим для Key Reinstallation Attack (KRACK-атак). Новий стандарт використовував 128-бітове шифрування в режимі WPA3-Personal або 192-бітове шифрування в режимі WPA3-Enterprise. Атакувати його складніше через наявність сучасного протоколу встановлення ключів ( SAE ) та безпечного рукостискання Dragonfly Key Exchange. Інші важливі функції безпеки WPA3 включають:
захист клієнтських кадрів MFP, що запобігає несанкціонованій взаємодії із зовнішніми джерелами;
безперервну генерацію нових сесійних ключів при кожній новій комунікації, що запобігає розшифровці попередніх повідомлень – Perfect Forward Secrecy ;
протокол для налаштування пристроїв, що дозволяє новим пристроям підключатися до мережі за допомогою QR-кодів – DPP.
У 2019 році дослідники з безпеки Меті Ванхофом (Mathy Vanhoef) та Ейал Ронен (Eyal Ronen) виявили недоліки в дизайні WPA3, які можна розділити на дві категорії: downgrade-атаки та слабкі моменти у Dragonfly handshake, що використовується у WPA3:
Downgrade & Dictionary Attack проти WPA3-Transition – атаки через зловживання зворотною сумісністю WPA3, коли клієнта змушують підключитися до підробленої точки доступу WPA2 для захоплення рукостискання;
Security Group Downgrade – коли клієнта змушують вибирати слабкі групи безпеки шляхом відхилення його коміт-фреймів через rogue AP;
Timing-Based Side-Channel Attack – зловживання часом відповіді точки доступу на комміт-фрейми при використанні груп безпеки MODP;
Cache-Based Side-Channel Attack – коли memory access patterns розкривають інформацію про паролі, якщо сторона, що атакує, контролює додаток на пристрої жертви;
DoS – аб’юз комміт-фреймів, який викликає велике навантаження на процесор (CPU) або призводить до дисконнект клієнта.
В опублікованому дослідницькому документі можна знайти більш повну інформацію про кожну вразливість. Для їх демонстрації були створені PoC-скрипти , які досі активно використовуються дослідниками в галузі інформаційної безпеки: Dragondrain, Dragontime, Dragonforce, Dragonslayer та інші.
Хоча здається, що знайти докладні матеріали про атаки на WPA3 у мережі складно, в рамках даного дослідження нам вдалося знайти детальну статтю про Downgrade-атаку на маршрутизатор із включеною функцією WPA3-Transition. Атака заснована на техніці Evil Twin: якщо клієнт підключений до роутера через WPA3 з увімкненою функцією WPA3-Transition, зловмисник може створити підроблену точку доступу WPA2, змусити клієнта підключитися до неї через WPA2, захопити рукостискання та зламати пароль Wi-Fi мережі. Розглянемо, як влаштовано подібну атаку на прикладах зі статті:
→ На роутері із включеною зворотною сумісністю:
→ Далі відбувається підтвердження черезairmon-ng:
→ До точки доступу підключається клієнт, якого необхідно верифікувати:
→ Запускаємо airodump-ngта створюємо rogue AP через hostapd з певною конфігурацією:
→ Клієнти починають підключатися фальшивою точкою доступу (вони не знають наш PSK), і ми отримуємо можливість захопити handshake:
→ Нам залишається використовувати aircrack-ng, щоб побачити пароль від WPA3-мережі:
На практиці безпека Wi-Fi у багатьох компаніях залишається на другому плані. Через це бездротові мережі часто стають одним із найпростіших шляхів для проникнення у внутрішню інфраструктуру. Саме тому під час пентестів їм приділяють окрему увагу. Регулярні перевірки допомагають вчасно помітити слабкі місця та закрити їх ще до того, як ними скористається хтось сторонній.
Щоб зменшити ризики, зазвичай дотримуються кількох базових правил безпеки. Вони досить прості, але на практиці саме ці речі найчастіше ігнорують.
Використовуйте сучасні стандарти захисту, бажано WPA3, якщо обладнання це підтримує.
Регулярно оновлюйте прошивку роутерів, точок доступу та інших пристроїв, які працюють у мережі.
Ставте складні паролі, які складно підібрати перебором.
Вимикайте небезпечні або застарілі функції, наприклад WPS чи деякі режими сумісності.
Відключайте автоматичне підключення до мереж на клієнтських пристроях, якщо воно не потрібне.
Навіть такі базові кроки можуть помітно підвищити рівень захисту бездротової мережі. Головне — не залишати ці налаштування без уваги.