はじめに
前回、MIMTfとBeEfを使用してのハッキングを予告しておりましたが、どうにも導入がうまくいかないので、飛ばすことにしました。試してみてうまくいくようでしたら、後日取り上げます。インストールまではうまくいったのですが、実際にarpspoof攻撃を実行しようとすると、エラーが発生しました。pipのパッケージに関するエラーでした。
無線LANの上でのパケットキャプチャやパスワードの解析を行っていきたいと思います。
「ハッキング・ラボのつくりかた」p.509-533を参考にして、KaliLinux2022.1上で、AP(アクセスポイント)スキャンと無線LANアダプタのモードの切り替えまでを実験していきます。
注意事項
記事で紹介されている行為を他人や団体、インフラなどの許可を得ずに行った場合、犯罪となる可能性が有ります。
あくまでも、記事の内容は情報セキュリティの学習です。読者様の所有・管理の機器、システムでのみ実行してください。
また、読者さまのシステムにトラブルが起きたとしても、私は責任を負いかねます。
managedモードとmonitorモード
- managedモード
自身あての通信のみをキャプチャして、そうでない通信はキャプチャしない。
キャプチャされるデータは、復号化されたデータとなる。
デフォルトはこれ。
- monitorモード
データの送受信を行わず、無線LANネットワークを飛び交うパケットを監視する。ゆえに、monitorモードの使用中は、monitorモードにしている無線LANアダプタを経由してインターネットは利用できない。別に無線LANアダプタや有線LANがあればインターネットが利用可能。
キャプチャされるデータは、暗号化されたままのデータ(MACヘッダ+データ部+FCS)となる。
他、入手可能な情報として、受信した電波の強さや伝送速度がある。
monitorモードは、高い負荷がかかる。そのため、パケットの取りこぼしや無線LANアダプタの故障につながるリスクがある。
monitorモードにできる無線LANアダプタを入手してから、以下の項目を実行してください。そのような無線LANアダプタはかなり限られているそうです。また、ドライバは各自で用意してください。私は、githubで適当に転がっているLinux用のドライバを使用しました。ここでは、私が使っている機器やそのドライバの詳細やKaliLinuxにドライバをインストール方法の記述は割愛します。**
読者の方が、ネットに適当に転がっているドライバを使用して、何かしらの損害があわれても、私は責任をとりません。また、他人が管理しているAPや電波にむやみにアクセスしないでください。電波法に触れるような機器の使用や改造も慎んでください。
無線LANの接続確認
USB接続の無線LANなら
lsusb
PCI接続の無線LANなら
lspci
を実行して、出力をたしかめる。該当するデバイス名があれば、無線LANアダプタが接続できている。該当するデバイス名がなければ、機器の故障が疑われる。
無線LANアダプタの状態を確認するには、次のコマンドを実行して、"wl"からはじまるインターフェース名(例・wlan0)が存在することを確認する。
ifconfig
また、無線LANの状態を確認するコマンドを実行する。
iwconfig wlan0
デフォルトでは、出力の「Mode」の値が"Managed"となっている。
同書p.518より
iwconfigでwlan0が表示されれば、そのデバイスが認識されています。
また、ifconfigコマンドでwlan0が表示されれば、そのデバイスがネットワーク的に有効になっています。
微妙な違いだが、この違いを認識しておく。
例えば、iwconfigで何かしら表示されて、ifconfigで何も表示されなければ、少なくともデバイスはOSに認識されていると言うことができる。どちらも表示がなければ、デバイスがまったくOSに認識されていない。
ドライバ名やチップセットの確認
sudo airmon-ng
AP(アクセスポイント)をスキャンする
iwlist wlan0 scan
//出力が大量にあって読みづらいので、grepしてもよい
iwlist wlan0 scan | grep ESSID
アクセスポイントが出力される。
monitorモードに切り替える
- airmon-ngコマンドを利用する
sudo airmon-ng check
//Monitorモード切り替えを妨害するプロセスを表示
sudo airmon-ng check kill
//そうしたプロセスをkillする
sudo airmon-ng start wlan0
//wlan0をMonitorモードに切り替え
iwconfig
iwconfig
の出力、「Mode」の値が"Monitor"であることを確認する。
- iwcofingコマンドを利用する
sudo ifconfig wlan0 down
//wlan0を落とす
sudo iwconfig wlan0 mode monitor
//wlan0をMonitorモードに切り替え
sudo ifconfig wlan0 up
//wlan0を立ち上げ
iwconfig
iwconfig
の出力、「Mode」の値が"Monitor"であることを確認する。
一度、wlan0を落としてから、モードをmonitorに切り替えて、再度wlan0を立ち上げる。
- iwコマンドを利用する
同書では触れられていないが、iw
、ip
コマンドでもiwcofig
、ifconfig
コマンドと同じことができると思い、同様の処理を遂行するコマンドを載せる。iwcofig
、ifconfig
コマンドは、いま現在では非推奨で、将来的に利用できなくなる可能性もあると思うので。
sudo ip link set wlan0 down
//wlan0を落とす
sudo iw wlan0 set monitor control
//wlan0をMonitorモードに切り替え
sudo ip link set wlan0 up
//wlan0を立ち上げ
sudo iw dev
sudo iw dev
の出力、「Mode」の値が、"Monitor"であることを確認する。
managedモードに切り替える
- airmon-ngコマンドを用いる
sudo airmon-ng stop wlan0
sudo systemctl restart NetworkManager
iwconfig
モニタリングをストップさせた後、NetworkManagerを再起動
iwconfig
の出力、「Mode」の値が"Managed"であることを確認する。
- iwconfigコマンドを用いる
sudo ifconfig wlan0 down
//wlan0を落とす
sudo iwconfig mode managed
//Managedモードに切り替え
sudo ifconfig wlan up
//wlan0を立ち上げ
iwconfig
iwconfig
の出力、「Mode」の値が"Managed"であることを確認する。
- iwコマンドを用いる
sudo ip link set wlan0 down
//wlan0を落とす
sudo iw wlan0 set type managed
//wlan0をManagedモードに切り替え
sudo ip link set wlan0 up
//wlan0を立ち上げ
sudo iw dev
sudo iw dev
の出力、「Mode」の値が"Managed"であることを確認する。
同書では、Monitorモードに切り替えると、インターフェースの名前がwlan0monのように変更される。 自身の環境では、インターフェース名はwlan0のままだった。動作には問題なかったので、このまま続ける。
airodump-ngでAP(アクセスポイント)をスキャンする
先程も AP(アクセスポイント)をスキャンしたが、今度はairodump-ng
コマンドでスキャンする。
sudo airodump-ng wlan0
ESSIDの"test","test11"は、WEPのハッキングのために用意したゲストSSIDである。
BSSIDは黒塗りで隠されている日常使いのESSIDと同一。
出力画面の項目については以下通り。
同書p.527より引用
カラム名 説明 BSSID APのMACアドレス PWR シグナルの強さ。単位はdBm。数値は大きいほうがよい。 #Data 通信されたデータの総数。 CH チャネル番号 ENC 暗号技術(OPN=暗号化なし、WEP、WPA、WPA2) CIPHER 暗号化方式 (WEP、CCMP=AES、TKIP) AUTH 認証プロトコル
PSK : WPA/WPA2の事前共有鍵方式
SKA : WEPの共有鍵方式
MGT : 認証サーバ方式
OPN : オープンシステム認証方式ESSID 無線LANのESSID。
PWRの単位dBmは、信号の強さを表すときに使う単位。一般的な携帯電話は27 dBm、IEEE 802.11b/gの実効等方輻射電力は20 dBm、一般的なノートパソコンの無線LANは15 dBmとなっている。
AUTHのMGTは、企業内LANで用いられることの多い認証方式。OPNは、特にどのデバイスからの接続も受け入れる。
ESSIDは、APの名前。
他、同書では説明されていないカラムの説明。
カラム名 | 説明 |
---|---|
Beacons | ビーコンの数。APポイントが自身の存在を知らせるための信号またはそれによって創出されるパケットを指す |
#/s | 過去10秒間の1秒あたりのデータパケット数 |
MB | APがサポートする最大速度 |
STATION | APに繋がれているクライアントのMACアドレス |
Rate | Stationの受信レート、送信レートの順で表示。ネットワークで QoS が有効な場合は、各レートの後に「e」と表示されます。 |
Lost | シーケンス番号に基づいた、過去10秒間に失われたデータパケットの数 |
Frames | クライアントから送られたフレーム・パケットの数。Packetsと表示されることも |
Notes | クライアントに関する追加情報 |
Probes | クライアントが現在接続されていない場合に、クライアントが接続しようとしているネットワーク |
おわりに
参考にしたもの
「ハッキング・ラボのつくりかた」(IPUSIRON著)