aircrack-ng による端末周辺の Wi-Fi 情報(SSID 等)の取得
aircrack-ng スイート(ツール群)に含まれる airmon-ng, airodump-ng コマンドにより、端末周辺に飛び交っている Wi-Fi アクセスポイントやクライアント等の情報を収集することができます。
aircrack-ng は様々なプラットフォームで動作するバイナリおよびソースコードが配布されていますが、Kali Linux にはディストリビューション時点で aircrack-ng が標準搭載されている ため、手動のインストールは不要です。
ネットワーク管理プロセスの停止
NetworkManager 等のネットワーク管理プロセスが立ち上がっていると airmon-ng の動作が阻害されることがあるため、airmon-ng を使うときにはこれらを停止しておく必要があります。
「airmon-ng check」コマンドにより airmon-ng へ影響を与える全プロセスを確認することができます。
# airmon-ng check Found 4 processes that could cause trouble. If airodump-ng, aireplay-ng or airtun-ng stops working after a short period of time, you may want to run 'airmon-ng check kill' PID Name 333 NetworkManager 436 wpa_supplicant 568 dhclient 1554 dhclient
いくつかのネットワーク管理プロセスが見つかりました。
これらはひとつひとつ kill コマンドで停止することもできますが、「airmon-ng check kill」コマンドにより一括停止させることもできるので大抵はこの機能を使うのが良いです。
# airmon-ng check kill Killing these processes: PID Name 436 wpa_supplicant 568 dhclient # airmon-ng check (何も表示されないことを確認)
ネットワークアダプタの確認
airmon-ng を実行する前に「iwconfig」コマンドによりネットワークアダプタの一覧を確認しておきます。
# iwconfig lo no wireless extensions. eth0 no wireless extensions. wlan0 IEEE 802.11 ESSID:off/any Mode:Managed Access Point: Not-Associated Tx-Power=15 dBm Retry short limit:7 RTS thr:off Fragment thr:off Encryption key:off Power Management:off
「wlan0」という名前の有効な Wi-Fi アダプタが見つかりました。今回はこのアダプタを用いて airmon-ng を実行します。
モニタモード (airmon-ng) の開始
airmon-ng は Wi-Fi のモニタ機能を提供します。「airmon-ng start <ネットワークアダプタ名>」でモニタモードを開始します。
# airmon-ng start wlan0 PHY Interface Driver Chipset phy0 wlan0 ath9k Qualcomm Atheros AR9285 ...... (mac80211 monitor mode vif enabled for [phy0]wlan0 on [phy0]wlan0mon) (mac80211 station mode vif disabled for [phy0]wlan0)
モニタモードの開始ができたら、再度「iwconfig」コマンドによりネットワークアダプタの一覧を見てみます。
# iwconfig wlan0mon IEEE 802.11 Mode:Monitor Frequency:2.457 GHz Tx-Power=15 dBm Retry short limit:7 RTS thr:off Fragment thr:off Power Management:off lo no wireless extensions. eth0 no wireless extensions.
「wlan0」というアダプタが消え、代わりに「wlan0mon」という新しいアダプタができたことが確認できます。
このアダプタを用いて今後 Wi-Fi 情報のモニタリングを行うことになります。
端末周辺の Wi-Fi 情報の表示
airmon-ng によって作成されたモニタ用アダプタ(今回のケースでは「wlan0mon」)を用いて、airodump-ng コマンドにより端末周辺の Wi-Fi 情報をリアルタイムにモニタリングした結果を表示できます。
以下は実行例です。
# airodump-ng wlan0mon CH 3 ][ Elapsed: 0 s ][ 2018-........... BSSID PWR Beacons #Data, #/s CH MB ENC CIPHER AUTH ESSID F4:...........:5C -58 2 0 0 13 54e. WPA2 CCMP PSK .... 36:...........:79 -66 3 0 0 6 54e. WPA2 CCMP PSK .... 00:...........:40 -60 3 0 0 1 54e OPN .... 34:...........:82 -40 4 0 0 11 54e WPA2 CCMP PSK AirPort BSSID STATION PWR Rate Lost Frames Probe (not associated) 86:...........:F5 -68 0 - 1 0 1 (not associated) B6:...........:D2 -41 0 - 1 1 2 (not associated) 08:...........:C8 -73 0 - 1 0 1 00:...........:20 C0:...........:4B -81 0 - 1e 0 2
※今回伏字にしていない AirPort という SSID は実験用に自分で用意したアクセスポイントです。
airodump-ng の表示は大きく分けて上段と下段に分かれています。下段が見えない場合はコンソールのサイズを縦に広げてみてください。
airodump-ng 上段(BSSID, PWR, Beacons, ..., ESSID)
検出されたアクセスポイント一覧が表示されます。
airodump-ng 下段(BSSID, STATION, ..., Probe)
検出されたクライアント一覧が表示されます。
airodump-ng の終了
Ctrl+C キーにより airodump-ng を終了します。
モニタモード (airmon-ng) の終了
「airmon-ng stop <モニタ用アダプタ名>」コマンドによりモニタモードを終了します。
# airmon-ng stop wlan0mon PHY Interface Driver Chipset phy0 wlan0mon ath9k Qualcomm Atheros AR9285 ...... (mac80211 station mode vif enabled on [phy0]wlan0) (mac80211 monitor mode vif disabled for [phy0]wlan0mon)
モニタモードを終了したら、「iwconfig」によりネットワークアダプタの確認をし直します。
root@laptop-kali:~# iwconfig lo no wireless extensions. eth0 no wireless extensions. wlan0 IEEE 802.11 ESSID:off/any Mode:Managed Access Point: Not-Associated Tx-Power=15 dBm Retry short limit:7 RTS thr:off Fragment thr:off Encryption key:off Power Management:off
「wlan0mon」が消え、「wlan0」が元通り表示されることが確認できます。
通常の Wi-Fi 利用を再開する際には、必要に応じて NetworkManager 等を起動し直してください。