Введение
Wi-Fi Protected Setup (WPS) — это стандарт сетевой безопасности, разработанный для ускорения и упрощения подключения между маршрутизатором и беспроводными устройствами. Однако существенный недостаток в его функции PIN-кода делает его уязвимым для атак методом перебора (brute-force attacks).
В этой лабораторной работе вы научитесь использовать эту уязвимость с помощью Reaver — инструмента, специально разработанного для этой цели. Вы пройдете весь процесс: от настройки беспроводного интерфейса и сканирования целей до запуска атаки и успешного восстановления парольной фразы WPA/WPA2. Этот практический опыт даст вам понимание распространенного вектора атак на Wi-Fi и важности соблюдения правил сетевой безопасности.
Для этой лабораторной работы мы будем использовать симулированную Wi-Fi среду, чтобы вы могли выполнять эти действия безопасно и легально.
Выбор целевого BSSID из результатов сканирования wash
На этом этапе вы подготовите ваш беспроводной интерфейс для мониторинга и выполните сканирование на наличие уязвимых сетей с поддержкой WPS. Первая задача — перевести вашу беспроводную карту в "режим мониторинга" (monitor mode), который позволяет ей захватывать весь Wi-Fi трафик в эфире, а не только трафик, предназначенный для вашего устройства. Для этого мы будем использовать airmon-ng. Затем мы используем wash для идентификации нашей цели.
Сначала запустим виртуальный беспроводной интерфейс wlan0 в режиме мониторинга. Это создаст новый интерфейс, обычно называемый wlan0mon.
sudo airmon-ng start wlan0
Вы должны увидеть вывод, подтверждающий, что режим мониторинга был включен. Теперь, когда ваш интерфейс находится в режиме мониторинга, вы можете использовать wash для сканирования ближайших точек доступа с поддержкой WPS.
sudo wash -i wlan0mon
Через несколько мгновений wash отобразит список сетей. Наша симулированная сеть называется TestAP.
BSSID Ch WPS Version WPS Locked ESSID
--------------------------------------------------------------------------------
XX:XX:XX:XX:XX:XX 6 1.0 No TestAP
Из этого вывода определите и скопируйте BSSID сети TestAP. BSSID — это уникальный аппаратный адрес точки доступа, и он вам понадобится для запуска атаки на следующем шаге.
Запуск атаки Reaver с использованием флагов -i и -b
На этом этапе вы запустите атаку Reaver на целевую точку доступа, которую вы определили. Reaver автоматизирует процесс перебора всех возможных комбинаций PIN-кодов WPS для поиска правильного.
Чтобы начать атаку, вам необходимо предоставить Reaver две основные части информации: интерфейс в режиме мониторинга и BSSID цели.
-i <interface>: Указывает интерфейс в режиме мониторинга (например,wlan0mon).-b <bssid>: Указывает BSSID целевой точки доступа.
Теперь выполните команду reaver. Замените <BSSID_FROM_WASH> на фактический BSSID, который вы скопировали на предыдущем шаге.
sudo reaver -i wlan0mon -b <BSSID_FROM_WASH>
После выполнения команды Reaver начнет работу. Вы увидите начальные сообщения о статусе по мере установления соединения с целевой точкой доступа.
[+] Reaver v1.6.5 WiFi Protected Setup Attack Tool
[+] Copyright (c) 2011, Tactical Network Solutions, Craig Heffner <cheffner@tacnetsol.com>
[+] Waiting for beacon from XX:XX:XX:XX:XX:XX
[+] Associated with TestAP (ESSID: TestAP)
Это означает, что атака началась. На следующем шаге мы добавим параметр, чтобы увидеть более подробный прогресс. Пока что вы можете остановить текущую команду, нажав Ctrl+C.
Добавление параметра -vv для подробного вывода и отслеживания прогресса
На этом этапе вы перезапустите атаку Reaver с флагом подробного вывода, чтобы получить более детальную информацию о ее прогрессе. По умолчанию вывод Reaver довольно минималистичен. Для обучения и устранения неполадок полезно видеть, что именно делает инструмент.
Reaver имеет флаг детализации -v и флаг двойной детализации -vv для еще большей подробности. Мы будем использовать -vv, чтобы видеть попытки ввода PIN-кода и другую транзакционную информацию.
Остановите предыдущую команду Reaver, если она все еще выполняется, нажав Ctrl+C. Теперь повторно выполните команду, добавив флаг -vv в конце. Не забудьте использовать тот же BSSID, что и раньше.
sudo reaver -i wlan0mon -b < BSSID_FROM_WASH > -vv
С включенным подробным выводом вы теперь увидите гораздо более подробный журнал атаки. Это включает сообщения M1-M7, которые являются частью обмена аутентификацией WPS, и конкретные тестируемые PIN-коды.
[+] Associated with TestAP (ESSID: TestAP)
[+] Trying pin "12345670"
[+] Sending EAPOL START request
[+] Received identity request
[+] Sending identity response
...
Этот подробный просмотр подтверждает, что Reaver активно тестирует PIN-коды против цели.
Наблюдение за попытками подбора PIN-кода и процентом выполнения
На этом этапе вы будете наблюдать за работой атаки Reaver. При включенном подробном выводе вы можете отслеживать прогресс в режиме реального времени.
По мере выполнения Reaver обращайте внимание на две ключевые части информации в выводе терминала:
- Попытки PIN-кода: Вы увидите строки вида
[+] Trying pin "XXXXXXXX". Это показывает точный PIN-код, который Reaver в данный момент тестирует. - Процент выполнения: Периодически Reaver будет обновлять свой прогресс строкой вида
[+] XX.XX% complete.
PIN-код WPS представляет собой 8-значное число, но Reaver взламывает его по частям. Сначала он перебирает первые четыре цифры, затем следующие три, а последняя цифра является контрольной суммой, которую можно вычислить. Такая конструкция значительно сокращает количество возможных вариантов со 100 000 000 до всего лишь 11 000, что делает атаку очень практичной.
В нашей симулированной среде атака завершится очень быстро, поскольку мы настроили точку доступа с известным PIN-кодом, который Reaver пробует на ранних этапах. В реальных условиях этот процесс может занять несколько часов.
Позвольте команде выполниться до завершения. На этом этапе вам не нужно вводить новые команды; просто наблюдайте за выводом.
Запись найденного WPS PIN-кода и WPA-парольной фразы при успехе
На этом этапе вы увидите успешный результат атаки Reaver и запишете восстановленные учетные данные.
Как только Reaver найдет правильный WPS PIN-код, он использует его для получения WPA/WPA2-парольной фразы из точки доступа. Атака затем остановится, и Reaver выведет восстановленные учетные данные на экран.
Успешный вывод будет выглядеть следующим образом:
[+] WPS PIN: '12345670'
[+] WPA PSK: 'labex_password'
[+] AP SSID: 'TestAP'
Поздравляем! Вы успешно выполнили атаку методом перебора WPS и восстановили учетные данные сети.
Для вашей записи сохраним эту информацию в файл с именем result.txt в вашем каталоге проекта. Выполните следующую команду, чтобы создать файл и сохранить учетные данные:
echo -e "WPS PIN: 12345670\nWPA Passphrase: labex_password" > ~/project/result.txt
Вы можете проверить содержимое файла с помощью команды cat:
cat ~/project/result.txt
Резюме
В этой лабораторной работе вы получили практический опыт распространенной атаки на Wi-Fi. Вы узнали об уязвимости в протоколе WPS и о том, как ее использовать с помощью инструмента Reaver в безопасной, симулированной среде.
Вы успешно выполнили следующие ключевые задачи:
- Перевели беспроводной интерфейс в режим мониторинга с помощью
airmon-ng. - Выполнили сканирование и идентифицировали уязвимую сеть с поддержкой WPS с помощью
wash. - Запустили атаку методом перебора с помощью
reaver, указав цель и интерфейс. - Использовали подробные флаги для детального отслеживания прогресса атаки.
- Успешно восстановили WPS PIN-код и WPA-парольную фразу.
Это упражнение подчеркивает важность надежных практик сетевой безопасности. Для защиты от такого типа атак настоятельно рекомендуется отключить функцию WPS на беспроводных маршрутизаторах.
