=kthrtty/(+blog)

最近旅してないフルスタックサラリーマンジャーマネの旅行の記録

家に落ちているWiFiドングルをMonitorモードにして飛びかうIEEE802.11フレームを覗いてみる

なぜそれをするのか

仕事ではしょっちゅうWiFiをMonitorモードでパケットとって、WiFiの暗号化強度の調査やCrack可否の可能性を報告したりするのだが、以下の理由でちょろっとメモしておく。

  • MonitorモードになってくれるWiFiドングルばかりではない
  • Ubuntuで余計なことせずにすんなり認識してくれるのが良い --(別に、WiFiの無線チップの型番とVID:PIDが分かれば普通に動かせるが、そんな一手間をかけることがクソめんどい)
  • そういえば家に転がっているドングルってMonitorモードになるのかしら?
  • ついでにコマンドいつも忘れるからメモしておこう

何をするのか

単にWiFiドングルをUbuntuにぶっさして、モニターモードにしてWiresharkIEEE802.11フレームを見るというだけの話し。

どうするのか

挿す

うちに転がっていたのは以下。

  • PLANEX
    • VID:PID=2019:ab31
    • GW-450D
    • 11ac/n/a/g/b 433Mbps (え、ac使えるしこれ良い、仕事で使える)

挿しこんだ先は以下。

認識しているか見る

lsusbするとか、dmesg | grep usbする。

root@ubuntu:~# lsusb
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 006: ID 0e0f:0002 VMware, Inc. Virtual USB Hub
Bus 003 Device 004: ID 0e0f:0002 VMware, Inc. Virtual USB Hub
Bus 003 Device 020: ID 2019:ab31 PLANEX
Bus 003 Device 003: ID 0e0f:0002 VMware, Inc. Virtual USB Hub
Bus 003 Device 005: ID 0e0f:0003 VMware, Inc. Virtual Mouse
Bus 003 Device 002: ID 0e0f:0002 VMware, Inc. Virtual USB Hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 002: ID 0e0f:0002 VMware, Inc. Virtual USB Hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
root@ubuntu:~# dmesg | grep usb | tail -n20
[17209.410227] usb 3-2.1: Manufacturer: Planex
[17209.410228] usb 3-2.1: SerialNumber: 1.0
[17209.738459] usb 3-2.1: reset high-speed USB device number 18 using xhci_hcd
[17212.962750] usbcore: registered new interface driver mt76x0u
[17233.536497] usb 3-2.1: USB disconnect, device number 18
[17267.412914] usb 3-2.1: new high-speed USB device number 19 using xhci_hcd
[17267.461997] usb 3-2.1: New USB device found, idVendor=2019, idProduct=ab31, bcdDevice= 1.00
[17267.462004] usb 3-2.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[17267.462007] usb 3-2.1: Product: GW-450D
[17267.462009] usb 3-2.1: Manufacturer: Planex
[17267.462012] usb 3-2.1: SerialNumber: 1.0
[17267.761299] usb 3-2.1: reset high-speed USB device number 19 using xhci_hcd
[17413.322695] usb 3-2.1: USB disconnect, device number 19
[17887.080169] usb 3-2.1: new high-speed USB device number 20 using xhci_hcd
[17887.120467] usb 3-2.1: New USB device found, idVendor=2019, idProduct=ab31, bcdDevice= 1.00
[17887.120469] usb 3-2.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[17887.120470] usb 3-2.1: Product: GW-450D
[17887.120471] usb 3-2.1: Manufacturer: Planex
[17887.120472] usb 3-2.1: SerialNumber: 1.0
[17887.400854] usb 3-2.1: reset high-speed USB device number 20 using xhci_hcd

Monitorモードにする

素晴らしい。挿すだけで認識される。

root@ubuntu:~# ifconfig
・・・
wlxcce1d5197ee7: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        ether cc:e1:d5:19:7e:e7  txqueuelen 1000  (イーサネット)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

IFを停止して、Monitorモードに変更してから、再度有効化する。

root@ubuntu:~# ifconfig wlx0022cfe64854 down

Monitorモードに変更する。

root@ubuntu:~# iwconfig wlx0022cfe64854 mode monitor
root@ubuntu:~# iwconfig
ens33     no wireless extensions.

lo        no wireless extensions.

wlx0022cfe64854  IEEE 802.11  Mode:Monitor  Tx-Power=7 dBm   
          Retry short limit:7   RTS thr:off   Fragment thr:off
          Power Management:off

有効化する。

root@ubuntu:~# ifconfig wlx0022cfe64854 up
root@ubuntu:~# ifconfig
・・・
wlx0022cfe64854: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        unspec 00-22-CF-E6-48-54-30-3A-00-00-00-00-00-00-00-00  txqueuelen 1000  (不明なネット)
        RX packets 168  bytes 21521 (21.5 KB)
        RX errors 0  dropped 168  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

IEEE802.11フレームを見る

Wiresharkを起動して、「表示」>「無線ツールバー」として、 MonitorモードになっているIFを選択する。

f:id:kthrtty:20200607153347p:plain

IEEE802.11フレームが見えるので、WPA2の鍵交換の流れなどがモニタリングできるようになる。 通信しているチャネルが何なのかは別に特定する。

その他

Monitorモードにできるかどうかは無線用のプロセッサ次第。Atherosや、Realtekというキーワードで調べれば実績あるものがひっかる。

今回のPlanexではMedia Tek(MT)のmt7650というやつだった。

IntelWiFiもMonitorモードに遷移できたりするが、今回は割愛。

おしまい。