これは、Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、または MAC OS オンライン エミュレーターなどの複数の無料オンライン ワークステーションの XNUMX つを使用して、OnWorks 無料ホスティング プロバイダーで実行できるコマンド pyrit です。
プログラム:
NAME
pyrit - GPGPU 駆動の WPA/WPA2-PSK キー クラッカー
SYNOPSIS
ピリット [オプション] command
DESCRIPTION
Pyrit は、メニーコアおよび GPGPU プラットフォームの計算能力を活用して、大規模な
データベース、時空間における WPA/WPA2-PSK 認証フェーズの一部を事前計算
トレード・オフ。 これは、世界で最も使用されているセキュリティ プロトコルの XNUMX つに対する強力な攻撃です。
このドキュメントでは、コマンドライン クライアントのすべての機能について説明します。 ピリット
提供します。 XNUMX つ以上 オプション をカスタマイズするためにコマンドラインで指定できます。 commandを選択します。
正確な動作 オプション に依存 command.
この記事の執筆時点では、Cowpatty は Debian では利用できません。 カウパティへの言及
それでも、そのコマンドは完全を期すために保存されます。
OPTIONS
Pyrit は次のオプションを認識します。
-b BSSID
BSSIDを指定します。 コマンドを特定のアクセスポイントに制限するために使用できます。
-e ESSID
ESSIDを指定します。 通常、コマンドはデータベース内のすべての ESSID を参照します。
オプションは省略されています。
-i ファイル内
読み取るファイル名を指定します。 特殊なファイル名「-」は次の目的で使用できます。 stdin.
ファイルは gzip 圧縮されている場合があります。その場合、名前は次で終わる必要があります。 .gz for
透明な減圧。
-o アウトファイル
書き込むファイル名を指定します。 特殊なファイル名「-」は次の目的で使用できます。 (Linuxで言うところのstdout).
で終わるファイル名 .gz 原因となる ピリット ファイルをその場で gzip 圧縮します。
-r キャプチャファイル
pcap 形式 (おそらく gzip 圧縮) のパケット キャプチャ ファイルを指定するか、
キャプチャ元のデバイス (例: 「wlan0」)。
-u URL ストレージデバイスの URL を次の形式で指定します。
driver://ユーザー名:パスワード@ホスト:ポート/データベース
Pyrit は、ファイルシステム、リモート Pyrit-Relay-Server、およびパッケージが存在する場合は、それを使用できます。
Python-sqlalchemy がインストールされており、ストレージとして SQL データベースが使用されます。 ドライバ ファイル:// 指し
Pyrit 独自のファイルシステムベースのストレージに、 http:// Pyrit-Relay-Server に接続します
他のすべての URL は直接に渡されます。 Python-sqlalchemy、 可能な場合は。 の
デフォルトのストレージ URL はキーで指定することもできます デフォルトストレージ in ピリット's
構成ファイル (を参照) ファイル 下)。
--オールハンドシェイク
コマンド 攻撃バッチ, 攻撃データベース, 攻撃_カウパティ と 攻撃パススルー
自動的に最高品質のシングル ハンドシェイクのみを使用します。 場合によっては
このハンドシェイクはキャプチャされたデータから不正に再構築された可能性があります。
攻撃を無駄にしてしまいます。 複数の EAPOL ハンドシェイクが再構築される場合
キャプチャファイルからのオプション --オールハンドシェイク すべてを攻撃するために使用される可能性があります
キャプチャされたデータからハンドシェイクを再構築可能。 コマンドの正確な動作
このオプションの影響を受けるものについては以下で説明します。
コマンド
分析します
XNUMX つ以上のパケット キャプチャ ファイル (pcap 形式、場合によっては gzip 圧縮) を解析します。
オプションで与えられる -r アクセスポイント、ステーション、EAPOLの検出を試みます。
握手。 例えば:
pyrit -r "test*.pcap" 分析
Pyrit は、アクセス ポイント、関連するステーション、および EAPOL ハンドシェイクのリストを表示します。
取得したデータから特定できる可能性があります。 握手は彼らの順序で表示されます
"品質":
こだわり: ハンドシェイクには、アクセス ポイントからのチャレンジが含まれます。
ステーションからの応答とアクセスポイントからの確認。
実行可能: ハンドシェイクには、ステーションからの応答と
アクセスポイントからの確認。 チャレンジは捕捉されませんでした。
バート: ハンドシェイクには、アクセス ポイントからのチャレンジと、
ステーションからの応答。 確認は取得されませんでした。
同じ品質のハンドシェイクは、パケットの近さによって順序付けされます。
握手を構成するのはお互いです。
攻撃バッチ
によって指定されたパケット キャプチャ ファイルで見つかった EAPOL ハンドシェイクを攻撃します。
オプション -r に保存されているペアワイズ マスター キーとパスワードを使用します。
データベース。 オプション -b と -e アクセスポイントを指定するために使用できます。
攻撃; 両方のオプションを省略すると、自動的に選択されます。 の
パスワードはオプションで指定されたファイル名に書き込まれます -o 指定されている場合。 ために
例:
pyrit -r test.pcap -e MyNetwork -b 00:de:ad:c0:de:00 \
-o MyNetworkPassword.txt 攻撃バッチ
以前に計算され、
データベースはそこから取得されます。 他のすべてのパスワードはそれらのパスワードに変換されます。
それぞれのペアワイズ マスター キーが作成され、後で再利用できるようにデータベースに追加されます。
ESSID は、必要に応じてデータベースに自動的に作成されます。
Pyrit は、再構築された EAPOL ハンドシェイクのリストを調べて、
オプション --オールハンドシェイク 供給されます。
攻撃_カウパティ
によって指定されたパケット キャプチャ ファイルで見つかった EAPOL ハンドシェイクを攻撃します。
オプション -r カウパティのようなファイルからペアワイズ マスター キーを使用する (例:
Cowpatty から「genpmk」によって生成される、または エクスポート_カウパティ 以下)によって与えられました
オプション -f。 オプション -b と -e アクセスポイントを指定するために使用できます
攻撃する; 両方のオプションを省略すると、自動的に選択されます。 の
パスワードはオプションで指定されたファイル名に書き込まれます -o 指定されている場合。
Cowpatty ファイルは gzip 圧縮されている場合があり、選択した ESSID と一致する必要があります。
例:
pyrit -r test.pcap -e MyOwnNetwork \
-i MyOwnNetwork.cow.gz -o - Attack_cowpatty
Pyrit 自身のデータベースは触られていません 攻撃_カウパティ.
Pyrit は、オプションの場合、すべての EAPOL ハンドシェイクを同時に攻撃します。
--オールハンドシェイク が供給されます。 これによりスループットが低下します (例: 33%
XNUMX 回の握手の場合は全体を通して)。
攻撃データベース
によって指定されたパケット キャプチャ ファイルで見つかった EAPOL ハンドシェイクを攻撃します。
オプション -r データベースに保存されているペアワイズ マスター キーを使用します。 オプション
-b と -e 攻撃するアクセスポイントを指定するために使用できます。 それは選ばれます
両方のオプションが省略された場合は自動的に実行されます。 パスワードは、
オプションで指定されたファイル名 -o 指定されている場合。 例えば:
pyrit -r test.pcap -e MyOtherNetwork 攻撃_db
以前に計算され、保存されているペアワイズ マスター キーのみ
データベース内で使用されるのは、 攻撃データベース.
Pyrit は、再構築された EAPOL ハンドシェイクのリストを調べて、
オプション --オールハンドシェイク 供給されます。
攻撃パススルー
によって指定されたパケット キャプチャ ファイルで見つかった EAPOL ハンドシェイクを攻撃します。
オプション -r オプションで指定されたファイルから読み取られたパスワードを使用する -i.
オプション -b と -e 攻撃するアクセスポイントを指定するために使用できます。 それ
両方のオプションが省略された場合は、自動的に選択されます。 パスワードが書いてある
オプションで指定したファイル名に -o 指定されている場合。 例えば:
pyrit -r test.pcap -b 00:de:ad:be:ef:00 \
-i Words.txt 攻撃パススルー
このコマンドは Pyrit のデータベースを回避するため、次の場合にのみ使用してください。
ストレージ容量が問題になります (LiveCD など)。 使用を検討する必要があります
攻撃バッチ さもないと。
Pyrit は、オプションの場合、すべての EAPOL ハンドシェイクを同時に攻撃します。
--オールハンドシェイク 供給されます。
バッチ
データベース内のすべてのパスワードをそれぞれのパスワードに変換し始めます。
マスターキーをペアにして結果をデータベースに保存します。 オプション -e
このコマンドを単一の ESSID に制限するために使用できます。 省略した場合、
すべての ESSID は、未定義の順序で次々に処理されます。 ために
例:
pyrit -e NETGEAR バッチ
オプション -o 結果が必要なファイル名を指定するために使用できます
さらに、cowpatty のバイナリ形式で書き込むこともできます。 オプション -e
次の場合、必須となり、ESSID がデータベースに自動的に作成されます。
必要。 以前に計算されたペアワイズ マスター キーと
データベースに保存されているデータは、それ以上の処理を行わずにそこからエクスポートされます。
Pyrit は、次の場合に停止して終了します。 IOエラー 指定されたファイルへの書き込み中に発生します
ファイル。 これにより、結果を他のものに直接パイプすることが非常に便利になります。
プログラムだけでなく、後で使用するために保存しておくこともできます。 例えば:
pyrit -e NETGEAR -o - バッチ | \
カウパティ -d - -r wpatestcapture.cap -s NETGEAR
ベンチマーク
ダミーを計算して、利用可能なハードウェアのピーク パフォーマンスを決定します。
結果。 例えば:
ピリットベンチマーク
チェックデータベース
データベース全体を解凍し、データの破損やエラーなどのエラーがないか確認します。
参照エラー。 この関数は計算結果の値をチェックしません。
(参照してください 確認する) 例えば:
pyrit check_db
作成_essid
新しい ESSID をデータベースに追加します。 単一の ESSID をオプションで指定できます。
-e。 ファイル (XNUMX 行に XNUMX つ) を指定することで、複数の ESSID を作成できます。
オプション -i。 既存の ESSID を再作成してもエラーは発生しません。
例:
pyrit -e NETGEAR create_essid
削除_essid
で指定されたESSIDを削除します。 -e データベースから。 これにはすべての結果が含まれます
特定の ESSID 用に保存されている可能性があります。 例えば:
pyrit -e NETGEAR delete_essid
評価する
使用可能なすべてのパスワード、すべての ESSID、およびそれぞれの結果をカウントします。
データベース。 例えば:
ピリット評価
エクスポート_パスワード
現在データベースに保存されているすべてのパスワードを新しいファイルに書き込みます
によって与えられた -o。 パスワードは XNUMX つの改行文字 (「\n」) で終了します。
既存のファイルは確認なしで上書きされます。 例えば:
pyrit -o myword.txt.gz エクスポート_パスワード
エクスポート_カウパティ
で指定された ESSID のすべての結果を書き込みます。 -e によって与えられたファイルに -o in
Cowpatty のバイナリ形式。 既存のファイルは何もせずに上書きされます
確認。 例えば:
pyrit -o NETGEAR.cow -e NETGEAR export_cowpatty
エクスポート_ハッシュデータベース
現在データベースに保存されているすべての結果を airolib-ng- ファイルに書き込みます。
によって提供されたデータベース -o。 次の場合、データベースはデフォルトのテーブル レイアウトで作成されます。
ファイルはまだ存在しません。 オプション -e エクスポートを制限するために使用できます
単一の ESSID に接続します。 例えば:
pyrit -o NETGEAR.db -e NETGEAR export_hashdb
インポートパスワード
によって与えられたファイルを読み取ります -i そして、XNUMX 行につき XNUMX つのパスワードをデータベースにインポートします。
パスワードには、次の文字を除くすべての文字 (NULL バイトを含む) を含めることができます。
終了の改行文字 (「\n」)。 不適切なパスワード
WPA-/WPA2-PSK で使用されるものは無視されます。 ピリットの保管庫 -
実装により、すべてのパスワードが一意であることが保証されます。
データベース全体。 例えば:
pyrit -i ダーティワード.txt インポートパスワード
import_unique_passwords
によって与えられたファイルを読み取ります -i そして、XNUMX 行につき XNUMX つのパスワードをデータベースにインポートします。
パスワードには、次の文字を除くすべての文字 (NULL バイトを含む) を含めることができます。
終了の改行文字 (「\n」)。 不適切なパスワード
WPA-/WPA2-PSK で使用されるものは無視されます。 このコマンドはチェックしません
ファイル内またはファイルとファイルの間に重複したパスワードがある場合
データベース。 データベースの破損を防ぐために、注意して使用する必要があります。
重複したパスワードで中毒になります。 ただし、このコマンドは非常に複雑になる可能性があります
より速い インポートパスワード 例えば:
pyrit -i Dirty_words.txt import_unique_passwords
list_cores
Pyrit が現在使用しているすべての利用可能なハードウェア モジュールのリストを表示します。 ために
例:
pyrit list_cores
list_essids
現在データベースに保存されているすべての ESSID のリストを表示します。 この機能は
より速い 評価する 計算された数を知る必要がない場合に備えて
結果。 例えば:
pyrit list_essids
パススルー
で指定されたファイルからパスワードを読み取ります -i そしてペアワイズマスターを計算します
によって与えられる ESSID のキー -e。 結果はファイルに書き込まれます
によって指定された -o Cowpatty のバイナリ形式であり、
後で使用するためのデータベース。 したがって、このコマンドは全体を回避します。
データベースであり、ストレージ容量に問題がある場合にのみ使用してください(例:
LiveCD で Pyrit を使用)。 の バッチ-コマンドはまったく同じものを提供します
としての機能 パススルー しかし、結果としてははるかに優れたパフォーマンスを実現できます
再計算する代わりにデータベースから読み取ることもできます。 例えば:
pyrit -i Dirty_words.txt.gz -e NETGEAR \
-o - パススルー | カウパティ -d - \
-r wpatestcapture.cap -s NETGEAR
リレー
XML-RPC 経由で別のストレージ デバイスを中継するサーバーを起動します。 他のピリット-
クライアントはサーバーをストレージデバイスとして使用できます。 これにより、次のことが可能になります
ネットワーク アクセスを提供しないストレージ ソースへのネットワーク ベースのアクセス
自分自身の(ような ファイル:// と sqlite://) または SQL データベースを背後に隠します。
ファイアウォールを使用し、複数のクライアントが Pyrit の RPC 経由でのみそのデータベースにアクセスできるようにします。
インターフェース。 この機能が動作するには、TCP ポート 17934 が開いている必要があります。 ために
たとえば、サーバー (データベースがある場所) 上では次のようになります。
pyrit -u sqlite://var/local/pyrit.db リレー
とクライアント (大きな GPU がある場所):
ピリット -u http://192.168.0.100:17934 バッチ
セルフテスト
約 60 秒間、広範なセルフテストを実行します。 このテストには以下が含まれます
スケジューリング メカニズム全体と、リストされているすべてのコア list_cores。 あなた
この機能を使用して、壊れたハードウェア モジュールや悪意のあるハードウェア モジュールを検出できます。
ネットワーククライアント。 例えば:
スピリット自己テスト
役立つ
ローカル コンピューティング ハードウェアへのアクセスを提供するサーバーを起動して、
他の Pyrit クライアント。 サーバーの IP アドレスをクライアントの IP アドレスに追加する必要があります。
構成ファイル (を参照) ファイル) の下のスペース区切りのリストとして
既知のクライアント。 クライアントの rpcサーバー-setting も「true」に設定する必要があります。
TCP および UDP ポート 17935 にアクセスできる必要があります。 たとえば、サーバー上で
(GPU がある場所):
ピリットサーブ
およびクライアント上 (サーバーの IP アドレスが追加されています) 既知のクライアント
と rpcサーバー は「true」に設定されています):
pyrit -r test.pcap -b 00:de:ad:be:ef:00 \
-i Words.txt 攻撃パススルー
ストリップ
オプションで指定された XNUMX つ以上のパケット キャプチャ ファイルを解析します -r、抽出のみ
EAPOL ハンドシェイク検出に必要なパケットを削除し、新しいパケットを書き込む
オプションで指定されたファイル名にダンプします -o。 オプション -e と -b することができます
特定のアクセスポイントをフィルタリングするために使用されます。 例えば:
pyrit -r "large_dumps_*.pcap" -e MyNetwork \
-o tiny_compressed_dump_MyNetwork.dump.gz ストリップ
ストリップライブ
オプションで指定されたパケット キャプチャ ファイルを解析します -r、パケットのみを抽出します
EAPOL ハンドシェイク検出に必要なファイルを削除し、新しいダンプを
オプションで指定したファイル -o。 このコマンドは次のコマンドとは異なります ストリップ キャプチャとして-
file には、ソケットやその他の疑似ファイルを含む任意の文字デバイスを指定できます。
それ 見ます ような pcap 形式のファイル。 ストリップライブ 関連するパケットをに書き込みます
によって与えられた新しいファイル -o 全文を読もうとするのではなく、到着したときに
まずキャプチャファイル。
pyrit -r /temp/kismet_dump -o small_dump.pcap ストリップライブ
確認する
データベースに保存されている結果の 10% をランダムに選択し、その結果を検証します。
再計算による値。 壊れていると思われる場合は、この機能が必要です
ハードウェアまたは悪意のあるネットワーククライアント。 例えば:
pyrit -e NETGEAR 検証
EXIT ステータス
If command 成功し、 ピリットのプロセス終了ステータスは 0 に設定されます。 それ以外の場合は 1 に設定され、
(通常は) エラー メッセージまたは Python トレースバックが stderr に書き込まれます。 以下
コマンドは、特定の場合にエラー状態を示すこともあります。
分析: 有効な EAPOL ハンドシェイクが少なくとも XNUMX つ検出されませんでした。
攻撃パススルー、 攻撃バッチ、 攻撃データベース と 攻撃_カウパティ: この
パスワードが見つかりませんでした。
確認する 少なくとも XNUMX つのワークユニットに無効な結果が含まれていました。
チェックデータベース データベース内のエラーが見つかりました (おそらく修正されました)。
onworks.net サービスを使用してオンラインで pyrit を使用する