flaskで作った簡易Webサイトでcookieを盗聴したい
wiresharkでcookieを盗聴して、MITMを成功させたい
ということでパケットキャプチャの日でした。
というか、ほぼこれしかできていない
とりあえず、ひたすらやったこと
■WiresharkでWPAの鍵設定
Preference→Protocol→IEEE802.11
・「Enable decryption」にチェック
・「Decryption keys」をEdit
・key-typeを「wpa-pwd」を選択し、下記のように入力
「pass:SSID」
これでいけるらしい
てか若干いけてた
■パケットの取得
・Kali Linux側でwlan0にあたるものを選択
もちろんモニター状態
・自分の無線ルーター以外のパケットも大量に取得されるので
自分のssidでフィルタリング
「wlan.addr == bssid」
「wlan. bssid == bssid」
この3つのどれかで絞れる
もしくは該当するパケットを一つ選択して
パケット詳細の中からMACアドレスに当たるものを右クリックし
「フィルタとして適用」を選べばフィルタの窓に入ってくれる
あとはクライアントのMACアドレスとかもフィルタに入れれば
数はもっと絞れる
これで自分の欲しいパケットが絞れる
■全く復号される気配がない
ssidとかでパケットを絞ってもそこそこの数が残る
そしてどれがhttpリクエストなのかも分からない
そしてそれは復号がされていなかったから
どうやらWPAの通信を復号するには
クライアントがWiFIに接続するタイミングからキャプチャする必要が
あるということを知った
それが「4 way handshake」なるもの
■そもそも4 way handshakeがキャプチャされていなかった
4 way handshakeは、wiresharkのprotocolでいう
「EAPOL」というprotocolでフィルタリングできる
そしてkali liunx側のwiresharkでeapolで絞った時に
多くても1つくらいしか取得できていなかった
ちなみにMacbook air側のwiresharkでは
見事に4つともeapolのパケットが取得されており、
httpリクエスト等のパケットが復号されていた
てかmacの方でもモニターモードにできること知らなかった
そしてkaliとmacで、同じタイミングでキャプチャを開始して
ipadでwifi接続→webサイトアクセスの流れやってみると
明らかにkali側のキャプチャ数が少ないことに気が付いた
■WiFIアダプターが原因じゃね?疑惑
kaliで無線LANをキャプチャするために使っているのが
「Alfa AWUS036NEH」
macはmacの無線LANカードでキャプチャしてたと思うんやけど
kaliのキャプチャ数が少ないのであれば下記のどっちかが原因なんじゃないかなと思った
・単純にアダプタの感度が良くない
・kaliに入っていたドライバが合っていない(?)
後者は一応、ドライバを再インストールしてみたけど
あんまり変わらんかった
結局アダプタ本体の感度が悪いが故に
キャプチャ数が十分に取れず
それが結局ハンドシェイクも十分にキャプチャできずに
復号ができていなかったのではないかなという
あくまで仮説でしかないが
そういう結論に至った
ということで、Baffaloのやつを新たに購入することにした
https://www.amazon.co.jp/gp/product/B002G9URGA/ref=ppx_yo_dt_b_asin_title_o00__o00_s00?ie=UTF8&psc=1
これで自分の仮説を確かめてみる
■まとめ
とはいえ
mac側とkali側のwiresharkを行ったり来たりして
復号されていないパケットの中身見たりして
復号方法とかAWUS036NEHのことググりまくったりして
ひたすら無線LANのパケットキャプチャに没頭した1日でした
おかげで4 way handshakeのこと少しだけ知ることができたし
もう少し良いwifiアダプタが手に入るかもしらん
新しい子機が届いたらもう一度kaliでのパケットキャプチャリベンジして
自作Webサイトのcookie盗聴を成功させたい