
Pixiewps はC言語で書かれたツールで、一部のソフトウェア実装における低エントロピーまたはエントロピー欠如を利用してWPS PINをオフラインでブルートフォースするためのものです。これは、2014年夏にDominique Bongardによって発見された、いわゆる「ピクシーダスト攻撃」です。教育目的のみを意図しています。
ReaverやBullyなどのツールで実装されている従来のオンラインブルートフォース攻撃(PINを数時間で回復することを目的とする)とは対照的に、この方法は、ターゲットによっては、脆弱な場合、わずか数秒または数分でPINを取得できます。

バージョン1.4以降では、一部のデバイス(現在は--mode 3で動作する一部のデバイスのみ)に対して、完全なパッシブキャプチャ(M1からM7)からWPA-PSKを回復することもできます。

すべてはコミュニティのプロジェクトとして始まりました。詳細はこちらをご覧ください:
wikiもご覧ください。
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を実行すると、より高速なOpenSSL SHA-256関数を使用できます。
インストール
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 ...
これには、Authentication Session key(--authkey、-a)を出力する修正版のReaverまたはBullyが必要です。推奨バージョンはreaver-wps-fork-t6xです。
プログラムにはマニュアルページと、より多くの例を含む詳細なヘルプ画面(--help)もあります。
この機能はReaver 1.3で導入されました。秘密鍵を1に設定することで機能し、その結果、公開鍵--pkrは2になります。これにより、APはDiffie-Hellman共有秘密を計算するための計算量が減り、クラッキングプロセスが高速化されます。この共有秘密は後で現在のトランザクションを暗号化するセッションキーの導出に使用されます。Pixiewpsはこの機能を活用できるため、ユーザーは--pkrを入力する必要がなく(常に2)、追加の引数(--r-nonceと--bssid)が指定されていれば、オプションで--authkeyなどのセッションキーも計算できます。
一部のルーターにはバグがあり、この機能が正しく動作しないことが判明しています。正しいPINを検証できず、M4以降でトランザクションが失敗するものもあります。そのため、この機能は非推奨であり、Reaverでは絶対に使用すべきではありません。
このオプションは、レジストラがPINの知識を証明したときにM7に含まれるencrypted settings属性を必要とし、アクセスポイント(エンロリー)が現在のネットワーク設定を送信するものです。
この機能は、パッシブパケットキャプチャ(例:PBCセッションのスニッフィング)からWPA-PSK(およびWPS PIN)をクラックするために使用できます。
このオプションはモード3でのみ使用されます。使用すると、pixiewpsは現在の時刻からブルートフォースを開始し、0までさかのぼります。概念的には、--end 01/1970のみを使用する(または--start 01/1970、これらは交換可能です)のと同じです。
<empty>で示される空のPINは、Reaver 1.6.1以降で-p ""を使用してテストできます。これは、一部のアクセスポイントでPIN変数がNULL(または空文字列)に設定されているPINメソッドの設定ミスに起因します。

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 Linuxコミュニティに感謝します。PixiewpsはDominique Bongard(@Reversity)の研究に基づいています: