はじめに
無線LANの暗号化方式WEPのパスワード解析を行っていきます。
「ハッキング・ラボのつくりかた」p.533-542に沿った記事と成っています。
注意事項
記事で紹介されている行為を他人や団体、インフラなどの許可を得ずに行った場合、犯罪となる可能性が有ります。
あくまでも、記事の内容は情報セキュリティの学習です。読者様の所有・管理の機器、システムでのみ実行してください。
また、読者さまのシステムにトラブルが起きたとしても、私は責任を負いかねます。
WEPとIVの簡易説明
WEPの暗号化には、IVという補助情報から構成される暗号化キーとWEPキー(パスワード)を組み合わせて使用している。
同書p.535より
IVはパケットごとに異なるので、各パケットがユニークな鍵ストリームを持ちます。ストリーム暗号は共通鍵の一種であるため、送信者と受信者の両者がIVを知らなければなりません。そのため、IVは平文の形でパケットに格納されています。しかし、IVは24ビットと短いため、大量のパケットを収集すると、同じIVを持つ2つ以上のパケットが揃います。よって、大量のIVを集めることで、WEPの暗号化鍵、そしてWEPキーを特定できます。
なお、24ビットつまり2の24乗なら、16777216以上のパケットを集めないと、同じIVが重複しないはずだが、IVに使われている乱数は完全なものでなく、それより少ないパケット数でも重複する。これから行う解析は、IVを大量に集めて行う。
ハッキング(パスワード解析)
- WEPを使用しているAPを探す
iw dev
あるいはiwconfig wlan0
でmonitorモードに成っていることを確認する。
WEPのAPを探す。事前に、"test"というWEPのアクセスポイントを用意した。
airodump-ngで実行。同書ではairodumpとなっているが、おそらく誤記。
sudo airodump-ng wlan0
- 解析に必要なキャプチャを収集
mkdir cracking_wep_test
cd cracking_wep_test
sudo airodump-ng --channel <target_channel> --bssid <target_bssid> --write cracking_wep wlan0
--writeには、生成されるファイルの接頭語を指定する。
生成されるファイルは5つある。何回もキャプチャを繰り返すと、一つのフォルダに大量の生成されたファイルがあふれるので、プロジェクトごとにフォルダ分け(フォルダ名:接頭語+日時といったフォルダを作成しておいてから、そのフォルダ内で上記のコマンドを実行する)すると、分別されてわかりやすくなると思う。
- aircrack-ngによる解析
airodump-ngは実行したまま、新規に別の端末を立ち上げて、次のコマンドを実行する。
aircrack-ng cracking_wep_test-01.cap
解析がはじまる。パケット数が足りないと解析には失敗する。失敗したら、"Attack will be restarted every 5000 captured ivs."とあるとおり、5000ivs貯まるごとに再度解析を実行する。
下の画像では、20000ivsでは解析できなかった。。
airodump-ngを終了させてから、再度aircrack-ngを実行しても良い。
そうしたら、解析に成功した。
もちろん、"55555"という非常に単純なパスワードだからだ。
おわりに
次は、キー(パスワード)の一部が判明しているときのWEPのパスワード解析をやります。
参考にしたもの
「ハッキング・ラボのつくりかた」