
キャプチャファイルからパケットをハッシュファイルに変換し、HashcatまたはJohn the Ripperで使用するための小さなツールセット。
キャプチャファイルからハッシュファイルにパケットを変換し、HashcatやJohn the Ripperで使用するための小さなツールセットです。
これらのツールはHashcatおよびJohn the Ripperと100%互換性があり、Hashcat公認です。
hcxtoolsの主な目的は、ハッシュを分析することで自社のWiFiネットワーク内の弱点を検出することです。 そのため、ダンプファイルをWPA-PBKDF2-PMKID+EAPOLハッシュファイルに変換することで、WLAN-KEYまたはPMKが暗号化されずに送信されたかどうかを確認できるようになります。 または、「未クリーン」のダンプファイル(pcapng、pcap、cap)をこちらにアップロードして、一般的なワードリストや弱いパスワード生成アルゴリズムを使用して、APまたはCLIENTが脆弱かどうかを確認できます。
Hashcatハッシュモードに対応: 4800、5500、2200x、16100、250x(非推奨)、1680x(非推奨)
John the Ripperハッシュモードに対応: WPAPSK-PMK、PBKDF2-HMAC-SHA1、chap、netntlm、tacacs-plus
gzip (.gz) 単一ファイル圧縮に対応
Hashcatモード22000の概要 - (https://hashcat.net/wiki/doku.php?id=cracking_wpawpa2)
Hashcatフォーラムのatomによる、PMKIDを使用したWPA/WPA2への新たな攻撃に関する古いが今でも適用可能な記事 - (https://hashcat.net/forum/thread-7717.html)
HashcatフォーラムのatomによるHashcatモード22000の記事 - (https://hashcat.net/forum/thread-10253.html)
非対応: Windows OS、macOS、Android、エミュレータ、ラッパー類!
WPA PSK関連のハッシュをクラックしません(PSKの回復にはHashcatまたはJtRを使用してください)。
WEPをクラックしません(代わりにaircrack-ngスイートを使用してください)。
WPSをクラックしません(代わりにReaverまたはBullyを使用してください)。
暗号化トラフィックを復号しません(tsharkまたはWiresharkを使用してください)。
hcxdumptool -> hcxpcapngtool -> hcxhashtool (追加で hcxpsktool/hcxeiutool) -> hashcat または JtR
ほとんどのディストリビューションでは、hcxtoolsはパッケージマネージャから利用できます。
最新のgitヘッドをコンパイルする場合は、ディストリビューションが最新バージョンに更新されていること、そしてすべてのヘッダファイルと依存関係がインストールされていることを確認してください!
git clone https://github.com/ZerBea/hcxtools.git
cd hcxtools
make -j $(nproc)
/usr/bin にインストール:
make install (スーパーユーザーとして実行)
または /usr/local/bin にインストール:
make install PREFIX=/usr/local (スーパーユーザーとして実行)
おそらく、皆さんにhcxdumptool/hcxtoolsを使うよう勧めると思われるかもしれません。しかし実際のところ、hcxdumptool/hcxtoolsは経験の浅いユーザーや初心者には推奨されません。 Linuxに一般的に詳しくない場合、または「要件」セクションで述べられている最低限の基礎知識を持っていない場合、hcxdumptool/hcxtoolsはお探しのものではないでしょう。 しかし、その知識があれば、このツールは魔法のようなことをしてくれます。
最新のgitヘッドをコンパイルする場合は、ディストリビューションが最新バージョンに更新されていることを確認してください!
| スクリプト | 説明 |
|---|---|
| piwritecard | SDカードをリストアするサンプルスクリプト |
| pireadcard | SDカードをバックアップするサンプルスクリプト |
| hcxgrep.py | 正規表現に基づいてm22000ハッシュ行/hccapx/pmkidファイルからレコードを抽出 |
ほとんどの出力ファイルは既存のファイルに追記されます(pcapng、pcap、capファイルを除く)。
非推奨のハッシュモード2500(2501)や16800(16801)ではなく、ハッシュモード22000(22001)を使用することを推奨します。
hcxtoolsは分析ツールとして設計されています。つまり、デフォルトですべてが変換され、不要な情報はフィルタリングする必要があります!
警告: ダンプファイルをマージしないでください!これにより、カスタムブロックによって割り当てられたハッシュ値が破壊されます!
ツールはNONCEエラー訂正を行いません!パケットロスが発生した場合、誤ったPTKが得られます。
このブランチは、HashcatおよびJohn the Ripperのリポジトリとかなり密接に同期しています。
WPA*02* ハッシュ行内の各EAPOLハッシュは、2つのハンドシェイクメッセージから構築されます。
1つのメッセージがEAPOLフレーム(検証対象のMICを含み、1つのノンスがすでにバイトオフセット17に埋め込まれています)を提供します。
もう1つのメッセージが、フレーム内に存在しない2番目のノンスを提供します。
これらを合わせることで、hashcatに必要なすべての情報(ANonce + SNonce + MIC + EAPOLフレーム)が提供されます。
完全な4ウェイハンドシェイクからハッシュを構築する際には、3つの独立した選択肢があります。
これにより、2 x 2 x 3 = 12の理論上の組み合わせが生まれます。
しかし、EAPOLフレームにはすでに1つのノンスがバイトオフセット17に埋め込まれています(M2/M4ではSNonce、M3ではANonce)。Hashcatはそれを自動的に抽出します。外部から提供する必要があるのはもう一方のノンスだけです。したがって、実際のモデルは次のようになります: 3つのEAPOLソース x 2つの外部ノンスソース = 6つのメッセージペア。
1つのハンドシェイクセッション内では、M1とM3は同じANonce値を保持し、M2とM4は同じSNonce値を保持します。外部ノンスがどのメッセージから来たかを入れ替えても、ノンス自体は変わりません。したがって、同じEAPOLソースを共有するメッセージペアの各ペアは、同一のハッシュを生成します。6つのペアは3つのユニークなハッシュ(EAPOLソースごとに1つ)に縮約されます。
行はEAPOLソース(ハッシュ1/2/3)ごとにグループ化されています。同じグループ内のペアは同一のクラック可能なハッシュを生成します。
ID列は形式 N{ノンスソース}E{eapolソース} を使用しています。例えば、N1E2は外部ノンスがM1から、EAPOLフレームがM2から来ていることを意味します。
「チャレンジ」とは、M1とM2のみが必要だったことを意味します。APはまだパスワードが正しいことを確認していません(M3は必要ありませんでした)。「認証済み」とは、M3またはM4が関与したことを意味し、これらは両側がMICを検証した後にのみ存在します。パスワードは送信され、検証されました。
IEEE 802.11i-2004 セクション8.5.3.4に従い、M4のKey Nonceは0であるべきです。ほとんどの実装は仕様に従い、それをゼロにします。一部は代わりにM2のSNonceを再利用します。ゼロになっている場合、メッセージペア0x01と0x05は、hashcatが両方のノンスを再構築できないため使用できません。実際には、ほとんどのキャプチャではハッシュ1とハッシュ2のみが得られます。
おそらく、皆さんにhcxdumptool/hcxtoolsを使うよう勧めると思われるかもしれません。しかし実際のところ、hcxdumptool/hcxtoolsは経験の浅いユーザーや初心者には推奨されません。
Linuxに一般的に詳しくない場合、または「要件」セクションで述べられている最低限の基礎知識を持っていない場合、hcxdumptool/hcxtoolsはお探しのものではないでしょう。 しかし、その知識があれば、hcxdumptool/hcxtoolsは魔法のようなことをしてくれます。
ツールキット全体(hcxdumptoolおよびhcxtools)は分析ツールキットとして設計されています。
https://www.kernel.org/doc/html/latest/
https://www.kernel.org/doc/html/latest/bpf/index.html
https://www.freecodecamp.org/news/the-linux-commands-handbook/
https://en.wikipedia.org/wiki/Wpa2
| ツール | 説明 |
|---|
| hcxpcapngtool | 生のキャプチャファイルをHashcatおよびJtRが読み取り可能な形式に変換するツール。 |
| hcxhashtool | ユーザー入力に基づいてHC22000ファイルからハッシュをフィルタリングするツール。 |
| hcxpmktool | PSKおよび/またはPMKを計算・検証するツール。 |
| hcxpottool | HashcatのpotファイルのASCII形式およびいくつかのUTF形式を処理するツール。 |
| hcxpsktool | ハッシュファイルまたはユーザー入力から弱いPSK候補を取得するツール。 |
| hcxeiutool | hcxpcapngtoolの -E -I -U 出力をHashcat+ルールまたはJtR+ルールで使用できるように準備するツール。 |
| hcxwltool | 混合ワードリストに基づいてHashcatおよびJtRの候補を計算するツール。 |
| hcxhash2cap | ハッシュファイル(PMKID&EAPOL、PMKID、EAPOL-hccapx、EAPOL-hccap、WPAPSK-john)をcapに変換するツール。 |
| wlancap2wpasec | 複数の(gzip圧縮された)pcapng、pcap、capファイルを https://wpa-sec.stanev.org にアップロードするツール。 |
| whoismac | ベンダー情報を表示したり、OUI参照リストをダウンロードしたりするツール。 |
| ID | ビット | 16進 | メッセージ | EAPOLのソース | 外部ノンス | ユニークハッシュ | 状態 |
|---|
| N1E2 | 000 | 0x00 | M1+M2 | M2 (MIC + SNonce) | M1 (ANonce) | ハッシュ1 | チャレンジ、デフォルト |
| N3E2 | 010 | 0x02 | M2+M3 | M2 (MIC + SNonce) | M3 (ANonce) | ハッシュ1 | 認証済み、デフォルト |
| N2E3 | 011 | 0x03 | M2+M3 | M3 (MIC + ANonce) | M2 (SNonce) | ハッシュ2 | 認証済み、--all |
| N4E3 | 100 | 0x04 | M3+M4 | M3 (MIC + ANonce) | M4 (SNonce) | ハッシュ2 | 認証済み、--all(非ゼロのM4ノンスが必要) |
| N1E4 | 001 | 0x01 | M1+M4 | M4 (MIC + SNonce) | M1 (ANonce) | ハッシュ3 | 認証済み、--all(非ゼロのM4ノンスが必要) |
| N3E4 | 101 | 0x05 | M3+M4 | M4 (MIC + SNonce) | M3 (ANonce) | ハッシュ3 | 認証済み、--all(非ゼロのM4ノンスが必要) |
| ビット | 16進 | 意味 |
|---|
| 3 | 0x08 | 予約済み |
| 4 | 0x10 | APなし攻撃(nonce-error-correctionsは不要) |
| 5 | 0x20 | LEルーター検出(nonce-error-correctionsはLEのみ必要) |
| 6 | 0x40 | BEルーター検出(nonce-error-correctionsはBEのみ必要) |
| 7 | 0x80 | Replaycount未チェック(nonce-error-correctionsが確実に必要) |