Aircrack-ngを用いてWEPキーの解析を行った
何番煎じか分かりませんが,上記の通り実験を行ったのでそれについて書きます.
これはサイバーセキュリティの知識を深めるための実験であり,犯罪行為を唆すものではありません.実験する際は必ず自分が管理する機器を用いてください.自分のものではないネットワークに対しこのようなことを行うのは犯罪です.
実験環境
- 無線LANルータ(アクセスポイント)
- スマートフォン
- WLAN_TARGET_2.4Gに接続している
- YouTubeで動画を垂れ流している
- パソコン
- OSはArch linux
- Aircrack-ngがインストールされている
- このパソコンを用いてWEPキーの解析を行う
スマートフォンを危険なWi-Fiに繋いでYouTubeを観ているところで,そのパケットを傍受することでWi-Fiのパスワードを奪取する,という状況を想定します.以降の操作は全てパソコン上で行います.
簡単な図に表したのが以下.
手順
パソコンの無線LANアダプタをモニタモードにする
通常無線LANアダプタはアクセスポイントに接続するだけのものですが,モニタモードにすることで近くを飛んでいるあらゆるパケットを拾うようになります.
まず,他のプロセスがアダプタを使用しているとめんどくさいので全て停止します.端末を開きrootで以下を実行します.このコマンドに限らず,以降は全てrootで実行してください.
# airmon-ng check kill
次にiwconfig
でアダプタの名前を確認します.下の画像の場合はwlp4s0です.
アダプタの名前が分かったらairmon-ng start [アダプタ名]
でモニタモードにします.この場合airmon-ng start wlp4s0
を実行します.
# iwconfig # airmon-ng start wlp4s0
ターゲットを探す
モニタモードにできたところで,ターゲットとなるアクセスポイントを探します.
airodump-ng [アダプタ名]
を実行することで周囲のアクセスポイントを探知します.この実験の場合アダプタ名はwlp4s0monなので
# airodump-ng wlp4s0mon
です.これを実行すると下のようになります.
上から2行目,右端にWLAN_TARGET_2.4Gが見つかりました.ENCとCIPHERが共にWEPであることが確認できます.
ここで,アクセスポイントのMACアドレスとチャンネルを控えておきます.この場合MACアドレスは00:E0:4C:??:??:??,チャンネルは11です.
パケットをキャプチャする
アクセスポイントのデータが分かったので,そこから出てくるパケットを捉えることができるようになりました.
airodump-ng --channel [チャンネル] --bssid [アクセスポイントのMACアドレス] -w [ファイル名] [アダプタ名]
を実行することで,指定したアクセスポイントに関わるパケットを捉え,ファイルに保存することができます.実験では以下を実行します.
# airodump-ng --channel 11 --bssid 00:E0:4C:??:??:?? -w test wlp4s0mon
ここで捉えたパケットはカレントディレクトリのtest-01.capに保存されていきます.下図のSTATIONの下にある44:91:60:??:??:??は接続されているスマートフォンのMACアドレスです.
WEPキーを解析する
いよいよキーを解析していきます.
前の手順でパケットをキャプチャしている端末はしばらく放っておき,新しく端末を開きます.aircrack-ng [ファイル名]
を実行します.[ファイル名]にはパケットキャプチャしたファイルを,つまりこの実験ではtest-01.capを指定します.
# aircrack-ng test-01.cap
キャプチャできたパケットの量が少ないと失敗します.その場合,ある程度パケットが溜まった時点で自動的に再解析が始まります.つまり,アクセスポイントに接続しているクライアントが1つもない,あるいは接続していても通信量が少ない場合は解析できません.後者の場合は長い時間をかければ可能ですが.
しばらく待つと解析が成功します.
実験が終わったら,踏み台にされるのを防ぐため速やかにアクセスポイントは無効化しましょう.
まとめ
上記の手順を踏むことで,WEPキーは10分そこそこで破られてしまいました.
ここから分かる通り,WEPをセキュリティに用いることは大変危険です.何もしていないのとほぼ同じとさえ言えると思います.
もし使っている人がいるなら直ちにやめましょう.
何度でも言いますが,人のネットワークでこれを行うことは犯罪です.やってはいけません.