この記事では、あくまでWEPの危険性を周知するために、許可されたWi-Fiルーターに対して攻撃を行います。他人のWi-Fiに対して許可なく攻撃を行うことは違法です。
はじめに
Wi-Fiの暗号化方式としてWEPを使用することが危険なのは周知の事実だとは思いますが、試したことがなかったので、今回WEPの危険性を実感するために自分で用意したWi-Fiルーターに対して攻撃をすることにしました。
環境構築
Wi-Fiルーターの用意
被攻撃ルーターとして使ってない古いWi-Fiルーターを使いました。暗号化方式をWEP64に変更し、Keyをhello
に設定しました。
aircrack-ng
のインストール
Linuxを使う場合は下記の記事などが参考になると思います。
僕も最初はWSL上のKali-linuxでやろうとしたのですが、WSLからホストマシンのWi-Fiアダプタにアクセスできないとのことでしたので、Macを使ってやることにしました。
Windowsでも良かったのですが、MacだとHomebrewを使って簡単にaircrack-ng
をインストールできそうだったので、Macを使うことにしました。下記のようにして、インストールできます。
brew install aircrack-ng
airport
コマンドのパス設定
Linuxの場合はairmon-ng
を使うようですが、Macで使うことができないようなので、代わりにairport
コマンドを使うことにしました。
airport
コマンドはデフォルトでmacに入ってはいるもののパスが通っていないので、実行時にフルパスを指定する必要があるとのことでした。毎回フルパスを入力するのはめんどくさいので、環境変数PATHにパスを追加し、airport
コマンドを使えるようにしました。もちろん、パスを永続化させたいなら、~/zshrc
などに追記してください。
export PATH="/System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources:$PATH"
exec $SHELL -l
攻撃
攻撃対象のチャンネルを特定する
以下を実行すると、近くを飛んでいるWi-Fiの一覧を取得できるので、攻撃対象のSSIDから、被攻撃ルーターのチャンネルを特定してください。
% sudo airport -s
Password:
SSID BSSID RSSI CHANNEL HT CC SECURITY (auth/unicast/group)
チャンネル上の通信をキャプチャする
次にチャンネル上の通信をキャプチャします。環境によってはen0
ではなく、en1
かもしれません。macOSがVenturaの場合、「システム設定」 > 「一般」 > 「情報」 > 「システムレポート」 > 「ネットワーク」 > 「Wi-Fi」 > 「インターフェイス」に書いてあります。
sudo airport en0 sniff <チャンネル番号>
被攻撃ルーター上で通信を流す
通信をキャプチャするにしても肝心の通信がされていなければキャプチャできませんから、被攻撃ルーターのWi-Fiになんかの機器を接続して通信を行います。大量のパケットをキャプチャすることでWEPをクラックすることができるので、僕はiPadを繋げて、2時間ほどYoutubeを流しっぱなしにして放置しました。
Keyを割り出す
ある程度通信をしたら「Ctrl + C」でキャプチャを中止すると、キャプチャされたデータが保存されたファイル(.cap
拡張子)が作成されるのでそのパスを使って以下のように実行すると、Keyとして設定したhello
を割り出すことができました。
% aircrack-ng /tmp/airportSniffzg5v7C.cap
KEY FOUND! [ *** ] (ASCII: hello )
さいごに
簡単にWEPを使ったWi-FiのKeyを得ることができました。WEPではなく、WPA3とかを使うようにしましょう!