Soft Как установить Pyrit в Kali Linux

Взламываем WPA/WPA2 пароли с помощью Pyrit

Знакомимся с техникой захвата рукопожатий и максимально оптимизируем процесс взлома паролей с помощью инструмента Kali Linux — Pyrit.

На сегодняшний день, захват рукопожатий (англ. handshake) — это единственный способ взлома WPA/WPA2 паролей. Сам метод представляет собой сильно модифицированный брутфорс (перебор паролей). Для тех, кто слабо знаком с темой и пока не понимает, о чём идёт речь, рекомендуем обратиться к статье «Захват рукопожатий в Kali Linux».

Почему выбор пал на Pyrit

Потому, что данный инструмент предоставляет все существующие на сегодня способы ускорения процесса взлома, а именно:

  • Применение видеокарт с целью подбора паролей (ощутимо повышает скорость перебора);
  • Использование таблиц с предварительно рассчитанными хэшами (увеличение скорости + возможность повторного использования одной и той же точки доступа, возможность перепробовать десятки рукопожатий от одной точки доступа за считанные секунды);
  • Грамотное составление словарей для взлома;

Для того, чтобы добиться от Pyrit максимальной производительности, вам нужно установить проприетарные драйвера для видео карты. Поэтапную инструкцию по установке требуемого ПО для видеокарт компании AMD можете найти здесь.

Приступаем к взлому

  • Цель — DANIELLE2015;
  • Наименование файла с уже захваченным рукопожатием — DANIELLE2015-01.cap;

Из словарей для взлома мы воспользуемся rockyou. Он хорошо подходит для обучения, а в дальнейшем, для совершения практических атак советую применять сгенерированные словари номеров телефонов и словари для конкретных ТД вида «имя_ТД + цифры», с длиной паролей не более 8 символов.

Теперь скопируем лучший файл словаря в корневой каталог.

Распаковываем полученный файл.

Теперь, так как длина WPA2 пароля находится в границах от 8 до 63 символов, отфильтруем результаты, сохранив данные в файле под именем newrockyou.txt.

Проверим, насколько мы сократили файл.

9606665 против 14344392 паролей. Неплохо. А теперь переименуем файл в wpa.lst.

Дальше создаём ESSID в базе данных Pyrit.

Примечание. Если в названии ТД есть пробел, (к примеру, “NetComm Wireless”), тогда ваша команда будет выглядеть следующим образом:

Следующим шагом будет импорт словаря паролей.

Создаём таблицы с предварительно рассчитанными хэшами.

Здесь следует быть осторожным и следить за температурой процессора и графической карты. Используйте дополнительное охлаждение, чтобы не повредить ваши комплектующие.
Итак, всё готово. Начинаем атаку методом взлома рукопожатий, используя сформированную ранее таблицу хэшей. Здесь проверяется самое лучшее рукопожатие.

В случае, если пароль не удалось получить методом лучшего рукопожатия, то пробуем функцию —all handshakes.

Использование данной команды займёт у вас всего несколько лишних секунд. Если же вам не хочется создавать базу данных, а хочется напрямую «копошиться» в файле словаря (что значительно медленнее), вы можете сделать следующее.

Если сравнить скорость метода лучшего рукопожатия со взломом без таблицы, то получается 6322696 PMKs (лучшее рукопожатие) против 17807 PMKs. Всё, взлом завершён. Не забудьте удалить ваш essid и сделать очистку, чтобы освободить место на жёстком диске.

Источник



Инструменты Kali Linux

Список инструментов для тестирования на проникновение и их описание

Pyrit

Взломщик ключей WPA/WPA2-PSK с использованием GPGPU (видеокарт).

Pyrit позволяет создавать массивные базы данных предварительно вычисленных данных. Эти данные рассчитываются для перехваченной в фазе аутентификации WPA/WPA2-PSK информации от конкретной точки доступа. В конечном счёте, эти базы данных используются для взлома пароля WPA/WPA2. При этом достигается хороший компромисс между занимаемым пространством и временем. Использование вычислительных мощностей многоядерных платформ, таких как ATI-Stream, Nvidia CUDA, OpenCL и VIA Padlock — это, несомненно, самая мощная атака в отношении самых популярных протоколов безопасности в мире.

Установленный пакет имеет базовую версию Pyrit, которая поддерживает MMX, SSE2 и VIA PADLOCK, которые обнаруживаются во время выполнения. Использование несвободных технологий Nvidia CUDA, ATI-Stream и OpenCL могут быть добавлены через расширения. Вы можете попробовать поискать их в репозитории по «pyrit-*».

Автор: Lukas Lueg

Справка по Pyrit

Руководство по Pyrit

ИМЯ

pyrit — взломщик WPA/WPA2-PSK ключей с использованием GPGPU

СИНОПСИС

ОПИСАНИЕ

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

ОПЦИИ

Pyrit распознаёт следующие опции:

-b BSSID

Указать BSSID. Можно использовать для ограничения действия команды на конкретную Точку Доступа.

-e ESSID

Указать ESSID. Команды обычно работают по всем ESSID в базе данных, если эта опция пропущена.

-i infile

Указать имя файла из которого читать; можно указать специальное имя "-" для использования стандартного ввода. Файл может быть сжат в gzip, в этом случае его имя должно оканчиваться на .gz для очевидности декомпрессии.

-o outfile

Указать имя файла для записи; если указана "-" можно указать специальное имя "-" для использования стандартного ввода. Имя файла, которое оканчивается на .gz, приведёт к тому, что pyrit на лету сожмёт этот файл в gzip.

-r capture-file

Указать файл с захваченными пакетами в формате pcap (можно сжатый в gzip) или устройство (например "wlan0") из которого захвачивать.

-u URL

Указать URL хранилища устройства в форме

Pyrit в качестве хранилища может использовать файловую систему, удалённый Pyrit-Relay-Server и, если установлен пакет python-sqlalchemy, базу данных SQL. Драйвер file:// отправляет в собственную файловую систему Pyrit, которая размещена на диске, http:// связывает с Pyrit-Relay-Server и все другие URL идут напрямую к python-sqlalchemy, если доступен. Устройство-URL по умолчанию могут быть также указаны ключём defaultstorage в конфигурационном файле pyrit (смотри ниже секцию ФАЙЛЫ).

—all-handshakes

Команды attack_batch, attack_db, attack_cowpatty и attack_passthrough автоматически используют только одно рукопожатие самого высокого качества. В некоторых случаях даже это рукопожатие может быть реконструировано неправильно из захваченных данных, это сведёт атаку на нет. В случае, если более чем одно EAPOL-рукопожатие реконструировано из файла захвата, опция —all-handshakes может использоваться для атаки на все реконструированные рукопожатия из захваченных данных. Точное поведение команд, которые затронуты этой опцией, описано ниже.

КОМАНДЫ

analyze

Парсить один или более файлов с захваченными пакетами (в формате pcap, возможна работа с сжатыми в gzip) переданными с опцией -r и попытаться определить Точку Доступа, Станции и EAPOL-хендшейки. Пример:

Pyrit показывает список Точек Доступа, связанных Станций и EAPOL-рукопожатия, которые удаётся идентифицировать из захваченных данных. Рукопожатия показываются в порядке их «качества»:

  • Good (хорошее): Это рукопожатие включает вызов от Точки доступа, ответ от Станции и подтверждение от Точки доступа.
  • Workable (рабочее): Рукопожатие включает ответ от станции и подтверждение от Точки доступа. Вызов не захвачен.
  • Bad (плохое): Это рукопожатие включает вызов от Точки Доступа и ответ от Станции. Подтверждение не было захвачено.
Читайте также:  Установка шведской стенки как установить шведскую стенку

Рукопожатия одинакового качества сортируются в порядке как близки пакеты, которые составляют рукопожатие, друг другу.

attack_batch

Атаковать EAPOL-рукопожатие, найденное в файле(файлах) с захваченными пакетами, которые передаются с опцией -r, используя Pairwise Master Keys (главные парные ключи) и пароли, сохранённые в базе данных. Могут использоваться опции -b и -e для указания Точки Доступа, которую атаковать; она выбирается автоматически, если пропущены обе опции. Пароль записывается в файл, который указан после опции -o, если она есть. Например:

Pairwise Master Keys, которые были перед этим рассчитаны и сохранены в базу данных, берутся оттуда; все другие пароли переводятся в их соответствующие Pairwise Master Keys и добавляются в эту базу данных для последующего повторного использования. Если нужно, ESSID создаются автоматически в базе данных.

Если используется опция —all-handshakes, Pyrit работает вниз по списку реконструированных EAPOL-рукопожатий.

attack_cowpatty

Атаковать EAPOL-рукопожатия в файле(файлах) захваченных пакетов, данных с опцией -r, используя Pairwise Master Keys из cowpatty-подобного файла (например, сгенерированного программой «genpmk» из пакета cowpatty или полученного с помощью команды export_cowpatty, которая описана ниже), данного с опцией -f. Могут использоваться опции -b и -e для указания Точки Доступа для атаки; она выбирается автоматически, если обе опции пропущены. Пароль записывается в файл, который указан после опции -o (если она есть). Файл cowpatty может быть сжат в архив gzip и должен соответствовать выбранной ESSID. Например:

Собственная база данынх Pyrit при attack_cowpatt не затрагивается.

Pyrit атакует все EAPOL-рукопожатия, если указана опция —all-handshakes. Это уменьшит пропускную способность (например, она будет составлять 33% от возможной в случае трёх рукопожатий).

attack_db

Атаковать EAPOL-рукопожатия, найденные в файле(файлах) захваченных пакетов, которые переданы опцией -r, используя при этом Pairwise Master Keys сохранённые в базе данных. Для указания конкретной Точки Доступа, которую нужно атаковать, можно использовать опции -b и -e; если опции пропущены, то она будет выбрана автоматически. Если указана опция -o, то в файл, имя которого следует после неё, будет записан пароль. Пример:

При attack_db используются только Pairwise Master Keys, которые были предварительно просчитаны и сохранены в базе данных.

Если указана опция —all-handshakes, то Pyrit работает вниз по списку реконструированных EAPOL-рукопожатий.

attack_passthrough

Атаковать EAPOL-рукопожатия, найденные в файле(файлах) захваченных пакетов, которые переданы опцией -r, используя пароли, прочитанные из файла следующего за опцией -i. Для указания конкретной Точки Доступа, которую нужно атаковать, можно использовать опции -b и -e; если опции пропущены, то она будет выбрана автоматически. Если указана опция -o, то в файл, имя которого следует после неё, будет записан пароль. Пример:

Эта команда обходит базу данных Pyrit и должна использоваться только если имеются проблемы с местом в хранилище (например, на LiveCD). Вместо неё используйте attack_batch.

Если указана опция —all-handshakes, то Pyrit работает вниз по списку реконструированных EAPOL-рукопожатий.

batch

Запускает перевод всех паролей в базе данных в их соответствующие Pairwise Master Keys (парные главные ключи) и сохраняет результаты в базу данных. Можно использовать опцию -e для ограничения применения этой команды только к одной ESSID; если эта опция пропущена, будут обработаны все ESSID одна за одной в неопределённом порядке. Например:

Можно использовать опцию -o для указания имени файла, в который дополнительно должны быть записаны результаты в формате cowpatty. Опция -e становится обязательной и если требуется автоматически создаётся ESSID в базе данных. Предварительно посчитанные Pairwise Master Keys и сохранённые в базе данных экспортируются оттуда без дальнейшей обработки.

Pyrit останавливается и выходит если возникает ошибка IOError при записи в конкретный файл. Это делает очень удобно передавать результат по трубе (|) в другие программы и при этом сохранять его для дальнейшего использования. Пример:

benchmark

Определяет пиковую производительность доступного железа путём вычисления фиктивных результатов. Например:

check_db

Распаковывает всю базу данных и проверяет на ошибки вроде искажения или ссылочные ошибки. Эта функция не проверяет значения посчитанных данных (смотри верификацию). Например:

create_essid

Добавляет новую ESSID в базу данных. Единичная ESSID может быть задана опцией -e. Множество ESSID могут быть созданы передачей файла (одна на строку) опцией -i. Повторное создание существующей ESSID не приведёт к ошибке. Пример:

delete_essid

Удалить ESSID переданную с опцией -e из базы данных. Включая все результаты, которые могли быть сохранены для конкретной ESSID. Например:

eval

Считает все доступные пароли, все ESSID и их соответствующие результаты в базе данных. Например:

export_passwords

Записывает все пароли, которые в настоящее время сохранены в базе данных, в новый файл, который указан после -o. Пароли разделяются одним символом новой строки ("\n"). Существующие файлы переписываются без подтверждения. Например:

export_cowpatty

Записывает все результаты для ESSID, которая указана после опции -e, в бинарный формат cowpatty, в файл указанный после опции -o. Пример:

export_hashdb

Все результаты, которые в данный момент сохранены в базе данных, записываются в airolib-ng-database, переданную с -o. Эта база данных создаётся с разметкой таблиц по умолчанию, если файл ещё не существует. Опция -e может использоваться для ограничения экспорта единичной ESSID. Пример:

import_passwords

Прочитать файл, переданный с -i и импортировать один пароль на строку в базу данных. Пароли могут содержать все символы, включая NULL-bytes) кроме завершающих символов новой строки ("\n"). Пароли, которые не подходят для использования с WPA-/WPA2-PSK игнорируются. Реализация хранения Pyrit гарантирует, что все пароли остаются уникальными во всей базе данных. Пример:

import_unique_passwords

Прочитать файл, переданный с -i и импортировать один пароль на строку в базу данных. Пароли могут содержать все символы, включая NULL-bytes) кроме завершающих символов новой строки ("\n"). Пароли, которые не подходят для использования с WPA-/WPA2-PSK игнорируются. Эта команда не проверяет пароли на дубликаты внутри файла о между файлом и базой данных; это должно использоваться с пониманием, что база данных может быть подпорчена наличием одинаковых паролей. Тем не менее, эта команда намного быстрее чем import_passwords. Пример:

Читайте также:  Какие двигатели устанавливались на автомобиль

list_cores

Показывает список всех доступных аппаратных модулей, которые Pyrit использует в данный момент Пример:

list_essids

Показывает список всех ESSID, которые в настоящее время сохранены в базе данных. Эта функция быстрее чем eval в случае если вам не нужно знать количество просчитанных результатов. Пример:

passthrough

Считывает пароли из файла, данного с -i и вычисляет их Pairwise Master Keys для ESSID, данной с -e. Результаты записываются в файл, который указан после -o в бинарном формате cowpatty и не сохраняются в базе данных для дальнейшего использования. Т.е. эта команда обходит необходимость иметь базу данных и должна использоваться только при проблемах с местом хранилища (например, при использовании Pyrit на LiveCD). Команда batch обеспечивает в точности такую же функциональность как passthrough, но может давать намного улучшенную производительность, поскольку результаты могут считываться из базы данных вместо повторного их расчёта. Например:

relay

Запускает сервер для ретрансляции другого устройства хранилища через XML-RPC; другой клиент Pyrit может использовать этот сервер как хранилище. Это позволяет ему иметь сетевой доступ к своим собственным (наподобие file:// и sqlite://) или скрытым за файерволом SQL базам данных и обеспечивает множественный доступ для клиентов к базе данных через RPC интерфейс Pyrit. Порт TCP 17934 должен быть открыт для работы этой функции. Например, на сервере (где база данных):

и клиент (где большой GPU):

selftest

Запускает обширную самодиагностику примерно на 60 секунд. Тест включает в себя механизм весь механизм планирования и все ядра, которые показаны по list_cores. Вы можете использовать эту функцию для выявления сломанных модулей оборудования или вредоносных сетевых клиентов. Пример:

serve

Запускает сервер, который обеспечивает доступ к локальному вычислительному оборудованию для помощи клиентам Pyrit. IP адрес сервера должен быть добавлен в конфигурационный файл клиентов (смотри секцию ФАЙЛЫ) в качестве разделённого пробелами списка в known_clients. Настройка rpc_server-setting у клиентов также должна быть 'true'. Порты TCP и UDP 17935 должны быть доступны. Например, на сервере (где есть GPU):

и на клиентах (IP адрес сервера был добавлен в known_clients и rpc_server установлен в 'true'):

strip

Парсит один или более файл захваченных пакетов, переданных с опцией -r, извлекает только пакеты, которые необходимы для выявления EAPOL-рукопожатия и записывает новый дамп в файл, переданный с опцией -o. Можно использовать опции -e и -b для фильтрации конкретных Точек Доступа. Пример:

stripLive

Парсит файл с захваченными пакетами, которые переданы опцией -r, извлекает только пакеты, которые необходимы для выявления EAPOL-рукопожатия и записывает новый дамп в файл, переданный опцией -o. Эта команда отличается от strip тем, что захваченный файл может быть символьным устройством, включая сокеты и другие псевдо-файлы, которые выглядят как файлы в формате pcap. stripLive записывает релеватные пакеты в новый файл, переданный опцией -o, по мере их пребывания вместо попытки вначале прочитать весь файл захвата.

verify

Произвольно выбирает 10% результатов, сохранённых в базе данных и проверяет их значение путём повторных вычислений. Вам нужна эта функция если вы подозреваете сломанное оборудование или вредоносных сетевых клиентов. Например:

СТАТУСЫ ВЫХОДА

Если команда успешна, статус выхода процесса pyrit устанавливается в ; в противном случае он устанавливается в 1 и (обычно) в стандартном выводе ошибок пишется сообщение ошибки или python-traceback. Следующие команды также в некоторых случаях показывают состояния ошибки:

  • analyze: Not at least one valid EAPOL-handshake could be detected.

(Не удалось обнаружить ни одного валидного EAPOL-рукопожатия)

  • attack_passthrough, attack_batch, attack_db and attack_cowpatty: The password could not be found.

(Пароль не был найден)

  • verify At least one workunit contained invalid results.

(по крайней мере одна единица работы содержит невалидные результаты)

  • check_db Errors in the database were found (and possibly fixed).

(Были найдены ошибки в базе данных (и, возможно, исправлены))

ФАЛЫ

Конфигурационный файл pyrit. Вы можете найти документированные примеры в /usr/share/doc/pyrit/examples/config.example.

Примеры запуска Pyrit

Создаём ESSID с именем DANIELLE2015 (-e DANIELLE2015) в базе данных Pyrit (create_essid)

Импортируем словарь из файла /root/wpa.lst (-i /root/wpa.lst) в Pyrit (import_passwords)

Атака на рукопожатие (handshake) в файле DANIELLE2015-01.cap (-r DANIELLE2015-01.cap) используя базу данных предварительно посчитанных хешей (attack_db)

Установка Pyrit

Программа предустановлена в Kali Linux.

Но установленная версия использует только центральный процессор для своих вычислений. Для использования Pyrit в Kali Linux с графической картой AMD нужно последовательно выполнить следующие инструкции:

  • Как установить драйвер AMD Catalyst 15.7 (ATI fglrx) на Kali Linux 2
  • Как установить AMD APP SDK в Kali Linux 2
  • Как установить CAL++ в Kali Linux 2
  • Как установить Pyrit в Kali Linux 2
  • Как установить oclHashcat в Kali Linux 2

Информация об установке в другие операционные системы будет добавлена позже.

Источник

Soft Как установить Pyrit в Kali Linux

Если модуль не установлен, то переходите к инструкции «Установка проприетарного драйвера AMD ATI fglrx».

Проверка установки AMD APP SDK
Проверяем, установлен ли AMD APP SDK. Если нет, то устанавливаем его по этой инструкции: «Как установить AMD APP SDK в Kali Linux?».

Проверка установки CAL++
Проверьте, установлена ли CAL++. Если нет, то следуйте этой инструкции по её установки «Как установить CAL++ в Kali Linux».

Почему Pyrit?
Pyrit позволяет создавать массивные базы данных, предварительно просчитывать часть фазы аутентификации IEEE 802.11 WPA/WPA2-PSK с компромиссными тратами времени и места. Использование вычислительной мощи многопроцессорных систем и других платформ, в том числе ATI-Stream, Nvidia CUDA, OpenCL и VIA Padlock, — это, на данный момент, наиболее мощный вектор атаки на наиболее используемые протоколы безопасности.

Устанавливаем Pyrit в Kali
Подготовка к установке

Удаление уже существующей установки pyrit

Если вы используете не свежую установку Kali (что не рекомендуется), возможно вам нужно выполнить следующую команду:

Загрузка pyrit

Установка Pyrit

Установка плагина CAL++

Редактирование setup.py

Будет несколько предупреждений, но, надеемся, не будет ошибок и всё установится.

Тестируем cpyrit

Список доступных ядер

Бенчмарк Pyrit

1575137809789.png

1575137924490.png

В первом бенчмарке работает только процессор — i7, с турбобустами и прочими свистоперделками. Во втором бенчмарке подключается видеокарта — результат превышает первый в более чем 8 раз! Фактически, всю производительность в подобного рода вычислениях определяет графический процессор.

и если можно пожалуйста мануал по компиляции драйверов tp-link tw7200 от awus036 , или носом ткните где поучить почитать )

Читайте также:  Установка дверного замка сириус

WebWare Team
Вторник на 05:06 ПП
Тут ошибка была в инструкции: две команды

Были написаны в одну строчку. Поэтому вторая не срабатывала, т.е. установки не было. Поэтому если у кого-то не получилось – просто проделайте всё ещё раз (начните с чистки).

Мы же ставим cpyrit_calpp прямо в этой инструкции. Если что-то не срабатывает, то проверьте, стоит ли у Вас драйвер, AMD APP SDK и CAL++:

Установка проприетарного драйвера AMD ATI fglrx
Как установить AMD APP SDK в Kali Linux?
Как установить CAL++ в Kali Linux?
У меня видеокарта от AMD, и я также проделал все эти шаги. У меня всё получилось: это мои бенчмарки, т.е. я получил прирост производительности примерно в восемь раз.

Что касается драйверов для беспроводных карт: неужели карты не работают «из коробки»? Вторая – так вообще знаменитая Alfa, которую все рекомендуют именно для пентестинга Wi-Fi.

Blackfenix38
Среда на 04:06 ДП
Извините если не сюда пишу , ну суть в том что у меня в городе продают только tp-link 7200-nd Вот он собран на чипе rt3070 , изначально под линукс тплинк сигнал занижен , вот пример ( win 8.1 дальность 2 этажа роутер , дом железо бетон сигнал -65 dbi linux -74 dbi , я пробывал разные мануалы по сборки дров на данный адаптер от альфы и единственный раз у меня получилось скампилирывать на linux mint 17 cinamon , смена страны данному адаптеру не помагает ( выход я понимаю есть ,смена антены ( например харченко ) но к сожелению хоти те смейтесь хотите нет у нас в городе нет в продаже разъемов rsma. Хотя очень странно потомучто провайдеры используют данные разъемы под радио точки nano stations m2. Пробывал антену dlink 12dbi увы сигнал стал получше на 2dbi ) ну всерогно вам спасибо за мануал каторого оченьсильно долго ждал ))) очень хотел проверить на сколько сильна она сила amd r9 280x , может и не потеме есть еще вопрос , )))) бэкап системы как лучше сделать ? Много мануалов , есть. Но не Все рабочие и много споров кто пишет tar кто rsynk. , не Когда бэкап нужен не был пока не научились попытки установки steam на 64 bit. Kali , раньше мануал классный был видео , а потом , таваришь ютюб удалил его )

svnsvnsvn
Понедельник на 03:09 ПП
Я снова застрял по Вашей инструкции, теперь уже на шаге:

Источник

Установка pyrit с github

Pyrit is old, is outdated and it’s still Python2 I am currently attempting to rewrite it from scratch, so thanks for all the stars but remember to keep an eye for Python3 version.

Pyrit allows you to create massive databases of pre-computed WPA/WPA2-PSK authentication phase in a space-time-tradeoff. By using the computational power of Multi-Core CPUs and other platforms through ATI-Stream,Nvidia CUDA and OpenCL, it is currently by far the most powerful attack against one of the world’s most used security-protocols.

WPA/WPA2-PSK is a subset of IEEE 802.11 WPA/WPA2 that skips the complex task of key distribution and client authentication by assigning every participating party the same pre shared key. This master key is derived from a password which the administrating user has to pre-configure e.g. on his laptop and the Access Point. When the laptop creates a connection to the Access Point, a new session key is derived from the master key to encrypt and authenticate following traffic. The «shortcut» of using a single master key instead of per-user keys eases deployment of WPA/WPA2-protected networks for home- and small-office-use at the cost of making the protocol vulnerable to brute-force-attacks against it’s key negotiation phase; it allows to ultimately reveal the password that protects the network. This vulnerability has to be considered exceptionally disastrous as the protocol allows much of the key derivation to be pre-computed, making simple brute-force-attacks even more alluring to the attacker. For more background see this article on the project’s blog (Outdated).

The author does not encourage or support using Pyrit for the infringement of peoples’ communication-privacy. The exploration and realization of the technology discussed here motivate as a purpose of their own; this is documented by the open development, strictly sourcecode-based distribution and ‘copyleft’-licensing.

Pyrit is free software — free as in freedom. Everyone can inspect, copy or modify it and share derived work under the GNU General Public License v3+. It compiles and executes on a wide variety of platforms including FreeBSD, MacOS X and Linux as operation-system and x86-, alpha-, arm-, hppa-, mips-, powerpc-, s390 and sparc-processors.

Attacking WPA/WPA2 by brute-force boils down to to computing Pairwise Master Keys as fast as possible. Every Pairwise Master Key is ‘worth’ exactly one megabyte of data getting pushed through PBKDF2-HMAC-SHA1. In turn, computing 10.000 PMKs per second is equivalent to hashing 9,8 gigabyte of data with SHA1 in one second.

These are examples of how multiple computational nodes can access a single storage server over various ways provided by Pyrit:

  • A single storage (e.g. a MySQL-server)
  • A local network that can access the storage-server directly and provide four computational nodes on various levels with only one node actually accessing the storage server itself.
  • Another, untrusted network can access the storage through Pyrit’s RPC-interface and provides three computional nodes, two of which actually access the RPC-interface.
  • Fixed #479 and #481
  • Pyrit CUDA now compiles in OSX with Toolkit 7.5
  • Added use_CUDA and use_OpenCL in config file
  • Improved cores listing and managing
  • limit_ncpus now disables all CPUs when set to value <= 0
  • Improve CCMP packet identification, thanks to yannayl

See CHANGELOG file for a better description.

Pyrit compiles and runs fine on Linux, MacOS X and BSD. I don’t care about Windows; drop me a line (read: patch) if you make Pyrit work without copying half of GNU . A guide for installing Pyrit on your system can be found in the wiki. There is also a Tutorial and a reference manual for the commandline-client.

Источник