Аутентифікація з загальним ключем

Аутентифікація з загальним ключем

Механізм аутентифікації із загальним ключем засновано на наявності загальною (що розділяється) секретної інформації (секретного ключа), відомої тільки точки доступу і клієнта. Передбачається, що і клієнт, і точка доступу заздалегідь отримали загальний секретний ключ. Аутентифікація з загальним ключем використовує механізм безпеки WEP. Під час аутентифікації із загальним ключем обмін повідомленнями між клієнтом і точкою доступу відбувається наступним чином:

  1. Клієнт посилає точки доступу запит на аутентифікацію
  2. Точка доступу посилає підтвердження, яке містить блок даних (відкритий текст), створений генератором псевдовипадкових чисел WEP.
  3. Клієнт шифрує отриманий блок за допомогою секретного ключа WEP і посилає шифротекст назад точки доступу
  4. Точка доступу розшифровує шифротекст і виробляє порівняння з відкритим текстом. Якщо значення збігаються, то точка доступу посилає клієнту підтвердження з'єднання, в іншому випадку - відмова.

Після проведеної аутентифікації і з'єднання клієнт і точка доступу використовують секретний ключ для шифрування потоку даних. Тут варто відзначити цікаву деталь, яка може збити з пантелику необізнаного. Справа в тому, що сама ідея аутентифікації із загальним ключем ніяк не залежить від алгоритму WEP. Ми ж маємо на увазі суто приватний випадок такої аутентифікації, яка спирається на особливості WEP -шифрування. Але тут і криється вся сіль: саме WEP має ті вадами, які дозволяють атакуючому обійти аутентифікацію. Зловмиснику досить лише зафіксувати момент аутентифікації будь-якого клієнта з точкою доступу і витягнути дані, що передаються при рукостисканні.

Додатково зазначимо, що WEP офіційно застарів. Його не можна застосовувати в якості механізму інформаційної безпеки.

Зауваження. У цьому параграфі все експерименти будемо проводити на точці доступу D-LINK DPN-R5402 (Version 1.0.21), яка підтримує режим WEP-шифрування.

Для демонстрації атаки діятимемо по кроках:

  • Задаємо SSID для D-LINK DPN-R5402:

Аутентифікація з загальним ключем

  • Встановлюємо WEP-шифрування, вибираємо режим аутентифікації із загальним ключем, встановлюємо рівень шифрування в 128 біт, генеруємо і вибираємо відкритий ключ (наприклад, під номером 3):

Аутентифікація з загальним ключем

Зверніть увагу, що ми вибрали рівень шифрування в 128 біт. Це означає, що ключова послідовність буде складатися з 26-ти шістнадцятирічних цифр. Якщо вибрати рівень шифрування в 64 біта, то ключова послідовність буде складатися з 10-ти шістнадцятирічних цифр. Також зверніть увагу, що автоматичний генератор ключів створив 4 ключа, з яких необхідно вибрати один. Саме він і буде тим самим розділяються ключем, відомим тільки точки доступу і клієнтської станції.

  • Тепер клієнтської станції треба повідомити розділяється ключ. Нагадаємо, що в нашому випадку на клієнтській машині коштує сімка. Прямуємо по шляху: Win → Control Panel → Network and Sharing Center → Set up a new connection or network → Manually connect to a wireless network. Задаємо параметри, як показано на слайді:

Аутентифікація з загальним ключем

Аутентифікація з загальним ключем

  • Треба вказати, що використовується аутентифікація на основі загального ключа (Shared), а також вказати номер ключа (Key Index):

Аутентифікація з загальним ключем

  • Тепер можна підключатися до точки доступу Wireless Lab:

Аутентифікація з загальним ключем

Якщо з'єднання буде обмеженим (limited access), спробуйте перезавантажити точку доступу.

  • Тепер займемося безпосередньо обходом аутентифікації на основі розділяється ключа. Нацькуємо сниффер airodump-ng на експериментальну точку доступу і будемо журналіровать процес сканування ефіру в файл file.log:

$ Sudo airodump-ng -c 7 --bssid 34: 08: 04: 90: 37: dc -w file.log mon0

  • У процесі сканування ефіру ми можемо почекати першого з'єднати клієнта, а можемо шляхом деаутентіфікаціі ризикнути ініціювати чийсь реконнект. Так чи інакше, як тільки клієнт аутентифицирующей з точкою доступу, airodump-ng автоматично перехоплює дані рукостискання. Як тільки це відбувається, поле AUTH відзначається значенням SKA. Тобто сниффер фіксує той факт, що WEP-алгоритм використовує аутентифікацію на основі загального ключа (S hared K ey A uthentication):

Аутентифікація з загальним ключем

$ Sudo aireplay-ng -1 0 -y file.log-01-34-08-04-90-DC.xor -e "Wireless Lab" -a 34: 08: 04: 90: 37: dc -h 00: 11: 22: 33: 44: 55 mon0

Аутентифікація з загальним ключем

Судячи з повідомлень aireplay-ng. ми успішно обійшли аутентифікацію і з'єдналися з точкою доступу.

Використовуючи Wireshark. розберіть самостійно процес аутентифікації і з'єднання атакуючої машини з точкою доступу.

Будь-яка точка доступу має деякий максимальний ліміт підключаються клієнтів. Можна написати нескладний скрипт-обгортку над aireplay-ng. який зазначеним способом буде багаторазово з'єднувати фейковий клієнти з атакується точкою доступу, поки лічильник максимального кількість підключаються станцій не досягне своєї межі. При цьому легітимні клієнти з'єднатися з точкою доступу вже не зможуть. Це називається атакою на відмову в обслуговуванні (Denial of Service).

Схожі статті