
Известный предварительно вычисленный взломщик WPA, перенесённый из Google.
Pyrit старый, устаревший и всё ещё на Python2. В настоящее время я пытаюсь переписать его с нуля, так что спасибо за все звёзды, но не забывайте следить за версией для Python3.

Pyrit позволяет создавать массивные базы данных предварительно вычисленных фаз аутентификации WPA/WPA2-PSK в рамках пространственно-временного компромисса. Используя вычислительную мощность многоядерных процессоров и других платформ через ATI-Stream, Nvidia CUDA и OpenCL, в настоящее время это самая мощная атака на один из самых используемых протоколов безопасности в мире.
WPA/WPA2-PSK является подмножеством IEEE 802.11 WPA/WPA2, которое пропускает сложную задачу распределения ключей и аутентификации клиентов, назначая каждому участнику один и тот же предварительно общий ключ. Этот мастер-ключ получается из пароля, который администратор должен предварительно настроить, например, на своём ноутбуке и точке доступа. Когда ноутбук устанавливает соединение с точкой доступа, из мастер-ключа выводится новый сеансовый ключ для шифрования и аутентификации последующего трафика. «Ярлык» использования одного мастер-ключа вместо ключей на пользователя упрощает развёртывание сетей, защищённых WPA/WPA2, для домашнего и малого офисного использования ценой того, что протокол становится уязвимым для атак грубой силы на этапе согласования ключей; это позволяет в конечном счёте раскрыть пароль, защищающий сеть. Эту уязвимость следует считать исключительно разрушительной, поскольку протокол позволяет предварительно вычислить большую часть вывода ключа, что делает простые атаки грубой силы ещё более привлекательными для злоумышленника. Для получения дополнительной информации см. эту статью в блоге проекта (Устарело).
Автор не поощряет и не поддерживает использование Pyrit для нарушения конфиденциальности общения людей. Исследование и реализация обсуждаемых здесь технологий мотивированы как самостоятельная цель; это подтверждается открытой разработкой, строгим распространением исходного кода и лицензированием «copyleft».
Pyrit — это свободное программное обеспечение (свободное как свобода). Каждый может просматривать, копировать или изменять его, а также распространять производные работы на условиях GNU General Public License v3+. Он компилируется и выполняется на различных платформах, включая FreeBSD, MacOS X и Linux в качестве операционных систем, а также процессоры x86, alpha, arm, hppa, mips, powerpc, s390 и sparc.
Атака на WPA/WPA2 методом грубой силы сводится к максимально быстрому вычислению парных мастер-ключей (Pairwise Master Keys). Каждый парный мастер-ключ «стоит» ровно одного мегабайта данных, пропущенных через PBKDF2-HMAC-SHA1. В свою очередь, вычисление 10 000 PMK в секунду эквивалентно хешированию 9,8 гигабайт данных с помощью SHA1 за одну секунду.
Вот примеры того, как несколько вычислительных узлов могут получить доступ к одному серверу хранения различными способами, предоставляемыми Pyrit:
См. файл CHANGELOG для более подробного описания.
Pyrit компилируется и работает на Linux, MacOS X и BSD. Windows меня не волнует; напишите мне (читай: патч), если заставите Pyrit работать без копирования половины GNU... Руководство по установке Pyrit на вашу систему можно найти в вики. Также есть Учебник и справочное руководство для клиента командной строки.
Возможно, вы захотите прочитать эту запись в вики, если заинтересованы в портировании Pyrit на новую аппаратную платформу. Для вклада или сообщений об ошибках создайте Issue.