WPA2-PSK (AES) の PSK 解析

// WEPについては、最近人気の AP はどの程度安全なのか - waraiotok0’s note の末尾を。

 

解析に利用できるツールはメジャーなところは、、、こんなところ? 今回は伝統的(?)な aircrack-ng で検証しました。

  • aircrack-ng : 最もオーソドックス、WPAのハンドシェイクのパケットを入手後に辞書と合わせてつど計算しながら頑張る
  • coWPAtty, pyrit : あらかじめ SSID と辞書からレインボーテーブルを作るので、SSID がわかっている場合は高速
  • reaver : WPSの解析にも対応、WPA2-PSK は辞書不要(時間がかかるっぽい)
  • HashCat (oclHashcat) : GPU対応、高速

 

基本的な流れは、こんな感じです。

  1. 対象とするアクセスポイントをモニタ
  2. 接続中の端末を強制的に disconnect してWPAの4ハンドシェイクのパケットを入手 (または、誰かがつなぐまで待っても良い)
  3. 辞書と頑張って突合する

 

辞書はここの辞書を使用。集録は 1,430万強ですが、一部がマルチバイト(?)で認識されず、ツール上での認識は 9,822,769 となりました。

 

一般的なものは割と網羅されている。 > password を含むものや、キー配列、watashi(私)のような日本語も

f:id:waraiotok0:20170829131206j:plain

 

周囲の無線LANをモニタしてターゲットの SSID を確認後に、そのアクセスポイントと接続端末間の通信のパケットをキャプチャしながらハンドシェイクを待つ。通常は目立たないようにパッシブの方が良いが、アクティブで disconnect してしまうのもあり。

f:id:waraiotok0:20170829131230j:plain

 

ハンドシェイクのパケットさえ入手できていれば、解析は現場から離れていても、オフラインであっても可能。 あとはひたすらヒットすることを祈る。

f:id:waraiotok0:20170829131313j:plain

 

運よくヒットすれば、こんな感じ。 この検証では 34 分ほど(辞書の73%まで進んだあたり)でヒット。

f:id:waraiotok0:20170829131330j:plain 

ちなみに、もう少し絞ることができるのならば、必要なものだけを辞書から引っ張りだしておいて、高速でヒットさせることはできるが、、、、 あまりないか。

 

以下の検証は辞書から Pa または pa で始まるパスワードだけを抜き出した list.txt で解析。明らかにデータサイズも小さいし、そりゃ高速ですわ。

f:id:waraiotok0:20170829131356j:plain

 

以上、備忘録。

 

BRs,