無線網路安全————2、無線路由器配置和選擇測試環境

FLy_鵬程萬里發表於2018-06-28

0x01 無線路由器基本原理

​ 新手在買來一臺新的路由器時,對照說明書上的設定步驟,在瀏覽器位址列輸入192.168.1.1時,可能並不能理解為什麼要輸入這樣的數字。這樣的數字組合就是我們常說的IP地址。這裡我們暫且用A.B.C.D這樣的字元代表IP地址的四個段,路由器的最基本功能就是把多臺終端連線在同一個網段裡,並且同前一級的網路進行共享通訊。網際網路的連線組成大家可以理解為一張縱橫交錯密佈的大網,主機A和一臺遠距離的主機B通訊時,就需要依託路由技術進行資料的多次轉發。在OSI七層模型中,路由器工作在網路層,如下圖所示:


這裡我們不再解釋OSI模型的由來,簡單解釋前文中我們提到的主機A和B的通訊過程,使用者將一封郵件傳送給好友,好友讀取到這條郵件的整個通訊過程,就是在OSI模型中一次由上到下和由下到上的通訊過程。在網路通訊中資料包承載了使用者的通訊內容,在同一個網段的網路中,資料包很容易從源主機到達目標主機,只需通過一個雙方都連線的路由器即可。如果雙方所處網段被許多路由器隔開,通訊資料包如何選擇到達目的地的路徑就是個重要的問題,在多重路徑中在某個時刻總會存在一條最好的路徑,為了提高網路通訊的速度,判斷最佳路徑進行資料轉發的技術就叫做路由技術。 路由器內部有一張路由表,用來作為轉發的“地圖”,在這個路由表中包含有該路由器掌握的所有目的網路地址,以及通過此路由器到達這些網路中的最佳路徑,這個所謂最佳路徑值得就是路由器的某個介面或者下一個路由器的地址。正是由於這個路由表的存在,路由器才可以進行資料包的轉發。 路由器就是實現這一功能的硬體裝置,它將不同的網段進行連線,使得網路通訊得以穿越縱橫交錯密佈的線路。無線路由器就是路由器家族的一個分支,在連線子網的終端中,提供了以無線電連線的方式,而不單純只是使用網線進行有線連線。在使用方式上更加自由靈活,不受線纜連線的束縛,但是由於沒有使用封閉的線纜進行連線,安全性就不能像有線連線那麼可靠。

0x02 無線路由器的各項配置

無線路由器不是調變解調器,在家庭中常見的撥號網路中,必須前置一臺調變解調器才能夠接入網際網路。通常無線路由器在家庭網路連線中的物理連線方法如下:

目前由於寬頻網路的提速和改進,前置的ADSL調變解調器(貓)的入戶線纜已經改為光纖,並非過去使用的電話線,但主要功能結構不變。入戶線纜通過調變解調器再通過網線連線無線路由器。無線路由器通常存在一個WAN口和數個LAN口,WAN口用來連線上一級的網路環境,可以理解為網路主線;LAN口用來通過有線線纜連線電腦等終端上網裝置,可以理解為使用網路的終端裝置。在這裡,無線路由器外部的天線,在常見的網路設定結構中,也可以理解為無線的LAN口,用來通過無線電連線各種網路終端裝置。 筆者在這裡使用的是一款TP-LINK品牌的TL-WR842N型號無線路由器,根據說明書,在連線好網路線纜或設定好預設的無線連線賬號,在瀏覽器的位址列裡輸入192.168.0.1這樣的管理地址,即可開啟登入無線路由器管理頁面的介面,如下圖:

在說明書中尋找到初始的登入密碼,進入下圖所示的管理頁面:

目前新款的無線路由器介面製作的相對舊款要圖形化程度更高一些,可以清晰的顯示目前無線路由器的各項連線狀態。下面我們逐一介紹一下各項配置的功能作用。首先在主頁面,我們可以看到主人網路和訪客網路。通常在這裡因為安全的問題,最好是將訪客網路關閉,這樣免密碼的不安全連線就可以避免,使用者的無線網路就不會被任意非授權使用者接入。在主人網路中,我們需要點選“開啟”功能,並且設定一個網路的名稱和密碼,這裡的網路名稱就是上一篇文章中我們提到的SSID,密碼即接入網路時需要的密碼。點選下方紅色的裝置管理項,進入裝置管理的相關頁面,如下圖所示:

這裡清晰的顯示了當前接入無線路由器的各項終端情況,裝置前面的圖示顯示了裝置是通過有線還是無線方式進行的連線。在這裡分為主人網路和已禁裝置,主人網路內即合法授權的登入裝置,若發現未授權的非法連線,可以點選禁用圖示對裝置進行禁止連線功能。同樣在管理圖示中,也可以對終端的網路上傳/下載速度做一定的限制。下圖展示了一個已禁裝置列表中的非授權裝置:

在這裡顯示了禁用裝置的MAC地址,無線路由器禁用該裝置的主要依據,就是禁止使用這個MAC地址的裝置接入無線路由器的網路,這可以算作是一種安全保護機制,可防止具有無線密碼的非授權裝置接入網路。在後面的連載文章中,我們講到如何入侵WiFi時會具體介紹如何突破這樣的安全保護機制,但對普通使用者來說,這樣的設定足以防止非授權裝置的接入。 在“應用管理”標籤頁面中,無線路由器給大家提供了多種擴充套件功能,如下圖所示:

無線橋接:簡單理解為路由器套接路由器,將同一個網路的無線訊號覆蓋範圍擴大。 訊號調節:調整無線路由器天線的發射功率,調整無線訊號覆蓋範圍。 管理員身份限定:管理哪些終端可以登入設定路由器(像筆者現在這樣) 虛擬伺服器:作為埠對映功能,是一個重要的組建,設定介面如下:

這就相當於將指定IP地址終端的任意埠對映到無線路由器的WAN口上,所有連線此埠進入無線路由器的資料將轉發給指定IP地址的終端。這在搭建WEB伺服器、資料庫等功能使用時比較常見(跨網段使用遠端管理軟體時也是必備)。 DDNS:簡單解釋為可以設定一個域名繫結在此無線路由器的公網IP地址上,將域名解析到本地無線路由器上。 訪客網路:進行訪客網路的相關設定。 IP與MAC繫結:重要的功能之一,將終端的MAC地址和與路由器連線的IP地址進行繫結,是一種控制接入網路終端授權的方式。 AP隔離:控制接入點是否隔離。 DMZ主機:將接入網路的終端繞過路由器直接暴露在WAN口連線的網路上,與公網的通訊不再需要通過路由器的路由轉發功能。 無線裝置接入控制:管理接入終端的功能之一,可指定某些裝置禁止接入無線路由器網路之中。 前文介紹了無線路由器給使用者提供的各項擴充套件功能,下面簡單介紹一下無線路由器自身的各項設定,首先第一項是上網設定,介面如下圖所示:

無線路由器提供了三種聯網方式的選擇 ,有寬頻撥號上網,固定IP地址和自動獲得IP地址。這裡的上網設定實際是對無線路由器的WAN口進行設定,寬頻撥號上網是代替了傳統的在計算機中手動點選寬頻連線上網的功能,只需輸入設定執行商提供的寬頻賬號密碼即可使用無線路由器自動撥號持續聯網。固定IP和自動獲得IP是設定接入有限LAN口和無線連線的終端所在的網段地址,可以手動固定也可以由路由器自動選擇。子網掩碼、閘道器、DNS伺服器均可設定。

資料包MTU即傳輸資料包的最大包容量,不同的網路連線方式協議具有不同的最佳值,這裡可以讓無線路由器根據環境自動選擇預設的即可。WAN口的MAC地址通常預設使用路由器的MAC地址,如果上層網路有特殊要求,可以手動使用自定義的MAC地址連線。 DHCP伺服器是一項重要的功能,簡單可以理解為在路由器中設定一個IP地址的範圍,成為IP地址池,接入無線網路的終端裝置將通過DHCP伺服器進行IP地址分配,否則沒有合法的IP地址,終端將不能接入無線網路進行上網功能。DHCP伺服器設定介面如下:

地址池的開始地址和結束地址可以自定義,這個範圍內的IP地址時動態分配的,其餘的IP地址可以根據需要進行與終端的繫結操作。地址池是一個重要的概念,在後續講到的各類通過無線路由器的攻擊中,“地址池耗盡“也是一種常見的攻擊方式。 無線設定的介面筆者不打算使用這款路由器的介面,大家可以參考下圖所示的介面:

這裡的SSID號就是無線網路的名稱,使用者可以自定義的設定一些個性化名字;頻段可以設定無線訊號傳輸時使用的通道;模式是指定無線傳輸的速率和802.11標準版本號。可以手動選擇是否開啟無線功能(關閉時就是個普通路由器)和是否允許SSID廣播。SSID廣播即將無線網路名稱傳播出去,使用者在使用手機開啟WiFi功能時即可看到這樣的網路,在這裡特別說明,關閉SSID廣播並不是關閉了無線網路,可以通過手動新增的方式接入無線網路,只是無線網路的名字隱藏了。這也是一個比較重要的安全防護機制,後面連載的文章中我們也會介紹如何突破這種SSID隱藏並接入無線網路的方法。 安全型別中,WEP和WPA-PSK/WPA2-PSK是設定的無線密碼加密方式,常見的為WEP和WPA/WPA2方式,使用者可以自定義無線網路的密碼,在這裡提醒大家如果安全需求較高,這裡的密碼一定要選擇WPA2加密並且設定複雜度、長度均很高的無線密碼。 WEP加密:全稱有線等效加密,於上世紀90年代成為WiFi安全標準,是一種老舊的加密方式,並且由於加密演算法的漏洞百出,已經被WiFi裝置遺棄。但由於也是WiFi曾經使用過的加密,本文並不打算拋棄講解這種演算法的相關知識。WEP有兩種認證方式,分別為開放式系統認證和共有鍵認證。WEP使用 RC4(Rivest Cipher) 串流加密技術達到機密性,並使用 CRC-32 驗和達到正確性。標準的64位元WEP使用40位元的鑰匙接上24位元的初向量(initialization vector,IV) 成為 RC4 用的鑰匙。這裡IV的概念比較重要,需要讀者重點記憶。鑰匙長度不是 WEP 安全性的主要因素,破解較長的鑰匙需要攔截較多的封包,但是有某些主動式的攻擊可以激發所需的流量。WEP 還有其他的弱點,包括 IV 雷同的可能性和變造的封包,這些用長一點的鑰匙根本沒有用。
​ WPA加密:全稱WiFi訪問保護。WPA的出現是取代WEP加密標準,於2003年正式啟用。WPA設定最普遍的是WPA-PSK(預共享金鑰),使用256位金鑰。WPA先期採用了臨時金鑰完整性協議(TKIP),後期被高階加密標準(AES)所取代。
​ WPA2加密:WPA 標準於2006年正式被 WPA2取代。 WPA 和 WPA2 之間最顯著的變化之一是強制使用 AES 演算法和引入 CCMP (計數器模式密碼塊鏈訊息完整碼協議)替代 TKIP 。
​ 下面的表格總結了目前的路由器加密配置,安全性由上到下依次降低:
WPA2+AESWPA+AESWPA+TKIP/AES(TKIP作為備用)WPA+TKIPWEP不加密的開放網路
​ 使用最新的WPA2加密進行無線網路連線的過程是一種網路的TCP握手過程,這個過程發生在使用者使用終端選擇WiFi網路輸入密碼到連線成功這一過程中。握手過程是一個重要的概念,這在我們後續講解WPA2加密破解的過程中是非常重要的。這裡做一個簡單的介紹:

​ TCP的三次握手過程,簡單可以解釋為客戶端傳送一個SYN包給伺服器(無線路由器)作為連線請求,無線路由器收到請求後傳送一個返回資料包SYN+ACK,客戶端接收到之後將此資料包進行認證加密後返回無線路由器,認證通過即可完成連線。在破解WPA2加密的無線網路時,所謂抓握手包,就是抓取在這個過程中的資訊原文和加密後的密文。簡單理解為這樣的資料包中包含了加密密碼,破解WPA2密碼就是破解這樣的握手包。

0x03 測試環境的選擇

​ 選擇WiFi安全測試環境,也就是選擇合適的無線網路卡和合適的作業系統、選擇製作合適完善的密碼字典。 無線網路卡的選擇依據:驅動程式是選擇無線網路卡的主要依據。在破解WiFi的過程中,需要作業系統、網路裝置無縫合作,作業系統對於無線網 卡的支援程度和相容性就顯得特別重要。在這裡,推薦使用Atheros晶片的無線網路卡,通常情況下,該晶片的效能和相容性都很適合做WiFi攻擊。同樣雷凌晶片的網路卡也有很多合適的產品,大家可以根據自己的實際情況進行選擇。筆者這裡選擇TP-LINK的TL-WN722N網路卡進行實驗演示。

​如果需要進行遠距離的WiFi攻擊,攻擊者需要選擇使用定向天線的大功率無線網路卡。不僅需要考慮其晶片型別,更需要考慮大功率無線網路卡的系統相容性、抓包成功率、目標無線路由器的天線功率甚至發起攻擊的位置等問題,這是一個綜合考慮的選擇過程。 作業系統的選擇也是依據對無線網路卡支援程度進行的。常見的作業系統有windows和Linux。在windows作業系統下,由於無線網路卡驅動開發未能夠做到如Linux般開源,從而使得一些無線探測、攻擊類的工具無法正確識別大部分無線網路卡,也就無法在windows下正常使用。Kali Linux是一款專門為滲透測試和安全審計人員製作的Linux作業系統,整合了大量的滲透測試工具。綜合比較之下,選擇Kali Linux作業系統作為破解WiFi是非常適合的:

​ 字典也就是破解WPA2加密時需要使用的一類資訊資源。字典可以簡單解釋為密碼本或密碼的集合檔案。WPA2的密碼破解是一種暴力破解的過程,使用不同的密碼對抓取到的握手包不斷進行破解嘗試,直到破解出密碼為止。舉一個簡單的例子,3位數字的密碼字典,就是000----999這一千種組合數字的集合。字典的內容包含多樣,有弱口令集合、英文單詞集合、手機號碼集合、姓名縮寫集合等等五花八門。越完善的字典破解成功率越高,但是破解的時間成本也越高。任何攻擊者手中無法掌握存在所有密碼的超級字典,因為也不存在這樣的字典。


​ 對於WPA2密碼的破解使用字典,是一個猜測的過程。提高破解成功率就是使用更合適的密碼字典。目前給大家使用字典的建議為以下幾點:

​ 一:收集目標路由器管理員的資訊,使用多種元素(例如手機號碼、姓名縮寫、門牌號碼、英語名字、生日等)組合,自行製作密碼破解的字典。這裡製作字典的工具,不管是什麼系統什麼操作介面,網路上都有很多,這裡不再贅述,請讀者自行上網搜尋下載。當然Kali Linux也給我們提供了例如crunch這樣的字典制作工具,大家多嘗試,根據自己的使用需求可靈活選擇。
​ 二:下載密碼字典。網路上提供了大量不同元素組合的字典,有的針對國內使用者習慣有的針對國外使用者習慣。大家可深入搜尋尋找一些,慢慢積累成為自己的字典資料庫,在需要使用時可以靈活使用。
​ 三:尋找外包破解團隊。在搜尋引擎中搜尋”破解無線握手包“、”破解WiFi密碼“等關鍵詞,可以尋找到很多提供相關服務的商家。這個過程省去了使用者自己進行大量高成本破解和字典制作的過程,是一種比較省時省力的方式。一般這樣的外包商家團隊具有較好的硬體資源和字典資源,破解成功率相對個人使用者更高一些。

相關文章