Чому слід відключити WPS маршрутизатора - Open-Freax

Ця стаття була опублікована 28.04.2014
Це може бути вже не актуальним.

маршрутизатора

Я вагався назвати цю статтю "Як скористатися підключенням до Інтернету вашого сусіда", але, мабуть, мене б ударили по пальцях. Я також думав про те, "чому WPS відстій (l)", але це досить поганий смак в інформаційному жарті. 😀

Коротко. По суті, я поясни, що таке WPS (для Wi-Fi Protected Setup), як він працює, і як ми можемо «перевизначити» фізичний доступ до маршрутизатора для підключення до нього… і особливо для отримання ключа безпеки маршрутизатора розглянутий. Що повертає нас до заголовка статті: якщо це все так просто, ви можете його також вимкнути.

Як завжди, я спробую зробити це доступним для всіх, але не соромтеся запитувати пояснення через коментарі. Ми пішли, повісись кохана, вітряно.

Що таке WPS ?

Захищена настройка Wi-Fi - це функція деяких модемів/маршрутизаторів/ящиків, що дозволяє просто підключити свої пристрої до Wi-Fi. Тобто трохи більш «прагматично»: без набору 26 символів без хвоста або головою, щоб увійти в пристрій, або не змінивши цю важко запам’ятовується клавішу простим трюком, що перша атака за словником зламається за менший час, ніж потрібно для спорожнення університетського лекційного залу.

Але все ж ? Це сертифікація Wi-Fi Alliance, розпочата в січні 2007 року (так, вона починає діяти на сьогодні), яка пропонує кілька режимів обміну ключем безпеки, щоб полегшити життя хакерам. Існує 2 основних режими, внутрішньосмуговий (через IEEE 802.11/EAP, безпосередньо через оптовий Wi-Fi) та зовнішній (наприклад, через Ethernet/uPnP або NFC). Ми тут зацікавлені в діапазоні, оскільки він не вимагає фізичного доступу до маршрутизатора.

Тому ми працюємо над маршрутизатором. В основному є 3 сутності: "кандидат" (який не має конфігурації мережі Wi-Fi, до якої він бажає підключитися), "реєстратор" (який надає конфігурацію кандидату) і "точка доступу "(Те, що випромінює Wi-Fi, загальне для будь-якого маршрутизатора, незалежно від того, підтримує він WPS чи ні, за винятком того, що у випадку, коли маршрутизатор пропонує WPS, саме він передаватиме дані між 2 іншими частинами).

Як відбувається обмін ключами ?

Було розроблено декілька методів, які зустрічаються у стандарті. Деякі з них потрібні для сертифікації, інші - ні. Отже, ви фактично отримуєте пристрої, які мають сертифікат WPS, та інші, які пропонують WPS, не отримавши сертифікацію, оскільки один із обов’язкових методів не реалізований. Це трохи сук, але він такий. Сумнівні технічні характеристики, тому сумнівні реалізації ... 😉

Атака PIN-кодом

Це те, що нас цікавить, оскільки це залежить лише від точки доступу, і немає необхідності у фізичному контакті. І перш за все ... адже на відміну від SIM-карти ваших телефонів (яка блокується після 3 невдалих спроб), можна протестувати всі комбінації одну за одною, не скрипучи маршрутизатором. Так Так. Принаймні, стандарт не накладає блокування, навіть якщо деякі виробники вирішили застосувати таке (затримка коливається від декількох хвилин до інколи кількох годин, як це зробив Sagem для певних моделей Livebox, що продаються Orange).

Тому ми маємо PIN-код, що складається з 8 цифр. Маючи 10 можливостей для кожного з цих чисел (від 0 до 9), ми отримуємо 10 8 можливостей, тобто ... 100 000 000. Це непогано. Навіть якби ми намагалися кожні 2 секунди, все спробувало б трохи більше 6 років. Так, звичайно, ймовірність того, що правильний PIN-код буде останнім перевіреним, надзвичайно низька, але ви ніколи не знаєте. Маршрутизатор, з яким я "граю", дозволяє мені спробувати кожні 4 секунди або близько того, тому вам доведеться почекати 12 років до кінця цієї статті.

Цікавий факт: останнє число - ні. Дозвольте пояснити: це контрольна сума, що дозволяє перевірити інші 7. І ось, вибравши навмання 7 чисел і застосувавши до них розрахунки, наведені в стандарті, ми отримуємо останнє. Що зводиться до 10 000 000 можливостей. Ми наближаємось. Повільно.

Ще один цікавий факт: перевірка PIN-коду проводиться в 2 рази. Технічно ми відправляємо перші 4 цифри, маршрутизатор перевіряє, дає відповідь, і якщо це позитивно, кандидат відправляє останні 4 цифри. Потім стає можливим протестувати лише перші 4 (10 000 можливостей), після чого їх визначити, починати спочатку з останніх 4. Тобто ... всього 20 000 можливостей, у кращому випадку десяток годин.

Що якщо ми поєднаємо ці дві вади? Тоді ми маємо 10 000 можливостей для першої групи, потім 1000 для другої (оскільки ми можемо обчислити останню цифру). Це 11 000 можливостей, замість 100 000 000 на початку! Величезний, так? І як я вже говорив раніше, статистично правильний PIN-код не повинен бути останнім перевіреним ... За кілька годин його немає! 😉

Reaver, швейцарський армійський ніж, який чудово поєднується

Ми збираємось використовувати reaver-wps, невелику програму вільного програмного забезпечення в командному рядку, здатну тестувати різні комбінації по ходу, використовуючи 2 раніше згадані вади.

Він завантажується там, він легко компілюється (за винятком випадків, коли у вас є запліснявіла помилка, як я, врешті-решт, тому, що він зімкнувся на апострофі в моєму шляху доступу, словом, це була моя вина, я трохи монголізую ці дні, втомлює це all), під Linux, дуже мало залежностей (libpcap та libsqlite3), і просто ./configure, за яким слідує make && make install .

У цьому прикладі ми атакуємо маршрутизатор Belkin, який лежить у шухляді у мене вдома. Розроблений для готелів, коли я подорожую, він пропонує розетку Ethernet для підключення до стіни та виконує роль точки доступу Wi-Fi. Немає інтерфейсу конфігурації, немає можливості змінити ключ, коротше кажучи, не чудово. Але він пропонує WPS за допомогою PIN-коду, і саме це нас тут цікавить !

Дістаємо набір інструментів

Як часто у цьому випадку, ви повинні (мати змогу) перемкнути свою карту Wi-Fi у "режим монітора". Тому ви повинні мати сумісну картку (що не завжди буває) та драйвер, який також сумісний. За потреби можна виправити його драйвер під Linux.

У моєму випадку (драйвер Debian 7 + Atheros) все працює нестандартно, за умови, що у мене є інструменти для переведення карти в режим монітора: airmon-ng, який є частиною набору aircrack-ng. Відсутній у моїх сховищах розподілу, мені довелося складати його, ну нічого надто жорстокого. Одне натискання sudo airmon-ng check kill, а airmon-ng перевіряє, які процеси використовують карту Wi-Fi, і вбиває їх. Потім ми перемикаємо бажаний інтерфейс у режим моніторингу, в моєму випадку wlan0: sudo airmon-ng start wlan0. Якщо все піде добре, ви можете використати wlan0 для решти, або іноді (як я) mon0, який представляє ваш інтерфейс у режимі монітора.

Потім ми використовуємо інший інструмент, промивання, який може сканувати мережі в межах досяжності, щоб повідомити, які з них вразливі: sudo Wash -i mon0 -C -s .

Отже, варіанти:

  • -i
  • -C, щоб ігнорувати помилки
  • -s, щоб використовувати режим сканування
Мережі в межах досяжності, включаючи мою (перша в списку)

Ну ... коли все виглядає добре так, все, що вам потрібно зробити, - це кинути збір! 😀 Судореактор -i mon0 -b 08: xx: xx: xx: xx: 8E -v, і ви йдете.

Технічно аргументи такі:

  • -i
  • -b
  • -v мати повернення (багатослівне). -vv дозволяє реаверу бути ще більш балакучим 😉
Запуск реактора

Гаразд, окрім того, щоб випити кави ... і займатися своїми справами ... робити нічого. Це буде довго, у моєму випадку це зайняло трохи менше 7 годин ...

Це не могло бути швидше, але виробник ввів обмеження: після певної кількості збоїв маршрутизатор зависав протягом 5 хвилин, продовжуючи необхідний час. Ривер виявляє цю завал і чекає, це вже те. 😉

Між іншим зауважте, що наступне захоплення свідчить про те, що реалізація працює добре, починаючи з першої половини PIN-коду: !

Ми бачимо зміну PIN-коду та відповідного відсотка

Ви також бачите середній час на PIN-код, який раптово значно зріс ... через 5-хвилинних блокувань, які повертаються, коли ви рухаєтесь.

Тож після 7 годин терпіння ... УРА !

Завершено !

Це було трохи довго (і все ще ...), але не надто погано !

Ми закінчуємо з ...

рекомендація. Ну так: недолік, що впливає на певні точки доступу Wi-Fi, "загальнодоступний" інструмент для його використання. Не потрібно бути великим магом, щоб здогадатися, що розумні діти захочуть скористатися нагодою, щоб присісти сусідське з’єднання ADSL. Тому я нагадую вам (навіть якщо це не потрібно, ви дорослі), що незаконним є використання такого роду недоліків на матеріалах, які вам не належать, так само, як незаконним є використання Інтернет-з’єднання, яке не є ваш без згоди власника підписки (вашого сусіда, в даному випадку 😀). Не приходьте і не кажіть, що я відповідальний, якщо ви ввозите контрабанду в мережу, яка не ваша, і з вами що-небудь трапляється (від сусідського балу до термоядерної війни).

З огляду на це, ця стаття в основному була там, щоб ознайомити вас з вадою як такою та рекомендувати вимкнути (коли це можливо ...) функцію WPS на своїх пристроях.

Я знаю, що представлений інструмент, а також вразливість відносно старі (грудень 2011 р. Для виявлення вразливості та перша версія реактора, січень 2012 р. Для останньої версії, 1.4 на момент написання статті). Тільки воно може робити тільки добро, щоб нагадати всім, що воно існує, і що часто можна захиститися від нього. Мета полягала не в тому, щоб пояснити, як зв’язатись із сусідом (адже деякі мають кумедне бачення цього, я це знаю, я теж був молодим 😉), а викрити невтішну простоту, з якою, поки у нас мінімум необхідні навички (це справжня мета статті: надати їх вам), нам вдається націлити на недолік та відповідний інструмент для його використання.

Коротше кажучи: ви знаєте це давно, краще використовувати WPA2, ніж WPA або навіть WEP, які легко зламати. Але використання WPA2 на маршрутизаторі з увімкненим WPS означає ризик, що зловмисник швидко знайде ключ. Кілька годин - це зовсім нічого. Wi-Fi - як і всі інші: захистіть себе! 😉