
Утилита для офлайн-брутфорса Wi-Fi Protected Setup
Pixiewps — это инструмент, написанный на C, предназначенный для офлайн-перебора PIN-кода WPS, используя низкую или отсутствующую энтропию некоторых программных реализаций, так называемая "атака pixie-dust", открытая Домиником Бонгардом летом 2014 года. Он предназначен только для образовательных целей.
В отличие от традиционной онлайн-атаки перебором, реализованной в таких инструментах, как Reaver или Bully, которые направлены на восстановление PIN-кода за несколько часов, этот метод может получить PIN всего за секунды или минуты, в зависимости от цели, если она уязвима.

Начиная с версии 1.4, он также может восстанавливать WPA-PSK из полного пассивного захвата (M1–M7) для некоторых устройств (в настоящее время только некоторые устройства, которые работают с --mode 3).

Всё началось как проект сообщества, более подробную информацию можно найти здесь:
Вы также можете посетить вики.
apt-get -y install build-essential
OpenSSL также был повторно добавлен как опциональный для достижения более высокой скорости. Смотрите раздел Сборка.
Загрузка
git clone https://github.com/wiire/pixiewps
или
wget https://github.com/wiire/pixiewps/archive/master.zip && unzip master.zip
Сборка
cd pixiewps*/
make
Опционально, вы можете выполнить make OPENSSL=1 для использования более быстрых функций SHA-256 из OpenSSL.
Установка
sudo make install
Usage: pixiewps <arguments>
Required arguments:
-e, --pke : Enrollee public key
-r, --pkr : Registrar public key
-s, --e-hash1 : Enrollee hash 1
-z, --e-hash2 : Enrollee hash 2
-a, --authkey : Authentication session key
-n, --e-nonce : Enrollee nonce
Optional arguments:
-m, --r-nonce : Registrar nonce
-b, --e-bssid : Enrollee BSSID
-v, --verbosity : Verbosity level 1-3, 1 is quietest [3]
-o, --output : Write output to file
-j, --jobs : Number of parallel threads to use [Auto]
-h : Display this usage screen
--help : Verbose help and more usage examples
-V, --version : Display version
--mode N[,... N] : Mode selection, comma separated [Auto]
--start [mm/]yyyy : Starting date (only mode 3) [+1 day]
--end [mm/]yyyy : Ending date (only mode 3) [-1 day]
-f, --force : Bruteforce full range (only mode 3)
Miscellaneous arguments:
-7, --m7-enc : Recover encrypted settings from M7 (only mode 3)
-5, --m5-enc : Recover secret nonce from M5 (only mode 3)
Самый распространённый пример использования:
pixiewps --pke ... --pkr ... --e-hash1 ... --e-hash2 ... --authkey ... --e-nonce ...
который требует модифицированную версию Reaver или Bully, которая выводит Authentication Session key (--authkey, -a). Рекомендуемая версия — reaver-wps-fork-t6x.
Программа также имеет man-страницу и подробный экран справки (--help) с дополнительными примерами.
Эта функция была введена ещё в Reaver 1.3. Она работает путём выбора закрытого ключа = 1, что приводит к открытому ключу --pkr = 2. Это ускоряет процесс взлома, так как точка доступа должна выполнять меньше вычислений для расчёта общего секрета Диффи-Хеллмана, который затем используется для получения сессионных ключей, шифрующих текущую транзакцию. Pixiewps может использовать эту функцию, чтобы пользователю не нужно было вводить --pkr (он всегда равен 2) и опционально вычислять сессионные ключи, такие как --authkey, если указаны дополнительные аргументы --r-nonce и --bssid.
Оказывается, некоторые маршрутизаторы имеют ошибки и работают некорректно с этой функцией. Некоторые даже не могут проверить правильный PIN-код, и транзакция завершается ошибкой после M4. По этой причине эта функция устарела и никогда не должна использоваться в Reaver.
Эта опция требует атрибут encrypted settings, найденный в M7, когда Регистратор подтвердил знание PIN-кода, и точка доступа (Регистрант) отправляет свою текущую конфигурацию сети.
Эта функция может использоваться для взлома WPA-PSK (и PIN-кода WPS) из пассивного захвата пакетов (например, перехвата сессии PBC).
Эта опция используется только для режима 3. При использовании pixiewps начинает перебор с текущего времени и возвращается до 0. Концептуально это идентично использованию только --end 01/1970 (или --start 01/1970, так как они взаимозаменяемы).
Пустой PIN, обозначаемый <empty>, можно проверить с помощью -p "" в Reaver 1.6.1 и новее. Это происходит из-за неправильной настройки метода PIN на некоторых точках доступа, где переменная PIN установлена в NULL (или пустую строку).

Pixiewps можно скомпилировать для большого разнообразия платформ. В Windows его можно скомпилировать с помощью MinGW. Убедитесь, что установлена поддержка pthread.
Начиная с версии 1.4.1 он включён в официальные репозитории OpenWrt и LEDE.
Нумерация версий имеет вид 1.x.y, где x обычно обозначает мажорный выпуск, а y — минорный выпуск, обычно исправление ошибок или другие небольшие изменения. Каждый мажорный выпуск начинается с y = 0 и должен считаться нестабильным в первые часы после публикации, даже если не указано иное.
Список изменений между одним выпуском и предыдущим см. в CHANGELOG.
:', '-', ' ' или без разделителяWPS pin и WPA-PSK, обозначаются [+] или [-] в случае неудачи0 при успешной попыткеС самого первого выпуска pixiewps значительно улучшился, но сложно отслеживать каждое устройство на рынке. Мы решили добавить автоматическое сообщение, указывающее на то, что мы заинтересованы в параметрах устройства, протестированного пользователем.
kcdtv, rofl0r и binarymaster за помощь и тестированиеsoxrok2212, datahead, t6_x, aanarchyy и сообществу Kali LinuxPixiewps основан на работе Доминика Бонгарда (@Reversity):