段越
摘要:Kali Linux是一個滲透測試兼安全審計平臺。使用kali linux及其自帶的Aircrack-ng工具測試WIFI安全,主要從WIFI密碼安全入手,探討維護個人或家庭WIFI的安全技巧。
關鍵詞:計算機;網絡安全;kali linux虛擬機;WIFI測試
中圖分類號:TP393 文獻標識碼:A 文章編號:1009-3044(2019)04-0024-03
本實驗使用VMware運行kali linux虛擬機,由VMware將主機網卡連接至虛擬機,從而給虛擬機配置網卡。(virtualbox等虛擬機軟件如果能配置網卡的話也可用于替換VMware進行實驗)
所有操作均是在VMware虛擬機環境下進行的,僅供安全測試及安全學習,禁止非法使用。
1 實驗簡介
Kali Linux是一個開源項目,由Offensive Security維護和資助,后者是世界級信息安全培訓和滲透測試服務提供商。除了Kali Linux之外,Offensive Security還維護著Exploit數據庫和免費在線課程Metasploit Unleashed。
Aircrack-ng是kali linux自帶的網絡測試工具之一。
Aircrack-ng是評估WIFI網絡安全性的一整套工具。
它側重于WIFI安全的不同領域:
l 監控:數據包捕獲和數據導出到文本文件,以供第三方工具進一步處理。
l 攻擊:通過數據包注入重播攻擊,解除身份驗證,虛假接入點等。
l 測試:檢查WIFI卡和驅動程序功能(捕獲和注入)。
l 破解:WEP和WPA PSK(WPA 1和2)。
所有工具都是命令行,允許繁重的腳本。很多GUI都利用了這個功能。它主要用于Linux,但也適用于Windows,OS X,FreeBSD,OpenBSD,NetBSD,以及Solaris甚至eComStation 2。
2 實驗目的
使用kali linux及其自帶的Aircrack-ng工具測試WIFI安全,主要從WIFI密碼安全入手,這里以密碼不被其他途徑泄露為前提,在密碼一定信息可知情況下進行安全測試,目的是維護個人抑或是家庭WIFI的安全。
3 實驗環境
l 主機網卡:TP-LINK Wireless USB Adapter
l 驅動程序版本:5.1.25.0
l 虛擬機軟件:VMware? Workstation 14 Pro 14.1.2 build-8497320
l 虛擬機:Kali-Linux-2018.4-vm-amd64版本
l 使用軟件版本:Aircrack-ng 1.4(如圖1所示)。
4 實驗過程
虛擬機安裝過程及網卡配置省略,不同的虛擬機軟件以及不同版本kali抑或是Aircrack-ng配置過程均因人而異,不同版本實驗可能帶來誤差。
在開始前配置網卡,使用iwconfig檢測網卡,并獲取網卡信息。先執行airmon-ng check kill,目的是為了關閉網絡管理器,如圖2~圖4所示。檢測沖突進程并關閉。通過airmon-ng start wlan0使用airmon-ng設置網卡為監聽模式。
可以看出airmon-ng的監聽在wlan0mon上啟動了。
通過airodump-ng wlan0mon獲取監聽得到的WIFI信號,這里獲得的表格是動態的,會因為網絡環境的改變而改變。
圖5上部分表格是在得到的WIFI信號中尋找進行測試的WIFI,記下其BSSID。測試WIFI中的兩個HH為此次測試的目標,其中wpa加密的是較舊版加密方式設置下的WIFI,wpa2加密的是通過新的WIFI增強器設置的同名WIFI,實驗中分別對其進行測試,但最終得出wpa與wpa2在密碼破解方面難度差別不大,因此過程合并記錄。
圖5下部分表格是網卡作為監聽器截取的其他連接至上述WIFI的設備的包信息,接下來需要指定一個特定的設備連向特定WIFI的包,獲取包中驗證信息的哈希值,以便用于離線破解。
新開一個終端(保持原終端開啟)輸入aireplay-ng -0 20 -a (BSSID) -c (STATION) wlan0mon
其中BSSID是測試WIFI的mac地址,STATION是連接至該WIFI的設備的mac地址,該行為會攻擊指定設備,使其重新與路由器驗證從而獲取握手包文件。
aireplay-ng -0 20 -a C8:3A:35:09:73:30 -c 70:8A:09:1E:A1:F2 wlan0mon
這里會發現遇到一些問題,返回如下形式的報錯
Waiting for beacon frame (BSSID: F2:76:E7:D3:15:11) on channel 11
wlan0mon is on channel 11, but the AP uses channel 6
這里進過確認發現是頻道被切換,在網上查找資料后有說是內核版本原因,也有說是驅動程序問題。在優先排除了網絡管理器對實驗的影響后,通過airodump-ng -c參數解決了這個問題。原因為airodump運行時會在多個WIFI中頻繁跳頻道,先通過不加-c參數的airodump-ng試出所要測試WIFI的頻道,頻道顯示在圖表中CH一欄,再通過-c參數將airodump-ng固定在確定的頻道上以解決問題。
同時,在執行aireplay-ng -0時特定設備會受到攻擊,網絡連接會暫時中斷,因此應當選取閑置設備進行測試。
多次執行aireplay-ng指令從而獲得握手包后執行airodump-ng的終端如圖6所示會顯示獲取了WPA握手包。
如果顯示得到握手包后未在當前目錄下找到握手包,記得在airodump時加上-w加文件名以確保保存握手包。同時,通過這個方式保存的握手包名字為"文件名-01.cap"。
執行aircrack-ng可以查看指定的cap文件中包含的握手包,并選擇要進行破解的握手包。如圖7所示。
接下來對于不同加密的WIFI有通用的處理方法就是使用字典破解,如果是對WEP加密下的WIFI,則可以不用字典破解握手包,僅通過ivs截取包就可以破解出密碼,由于暫時無法找到這么舊的WIFI,因此不做測試。而wpa/wpa2則需要使用字典等方法暴力破解,這種破解方式是離線破解,比較依賴于字典的有效性,目前主要用來暴力破解WIFI的手段也是這個。
aircrack-ng可以直接使用cpu來跑握手包和字典,其實也可以將得到的cap拆解通過gpu來跑密碼,實驗中不追求速度所以沒有使用。
實驗中選擇了Crunch作為生成字典的工具,通過Crunch生成的字典較適合用于暴力破解。先生成一個由8位任意小寫字母組成的密碼表。如圖8所示。
可以發現即使是獲取8位隨機小寫字母的密碼表都會產生極大的密碼組合,一般家用電腦跑這種密碼表極為耗時,因此在沒有關于WIFI的任何有效信息的情況下破解WIFI不僅費時而且成功率低。如圖9所示。
因此假定知道目標WIFI密碼是8位的大寫字母加數字,同時知道密碼前兩位字母為HH和末兩位字母為DY,其余全部為數字的情況下嘗試破解。如圖10所示。
生成了一個極小的字典,使用字典破解時用時2s,已經可以說是非常容易破解了。如圖11所示。
而如果在無法知道其中前兩位和末兩位確切的字母時(僅知道前兩位大寫字母,中間四位數字,末兩位大寫字母),生成字典。發現字典的大小仍然巨大,不過也已經屬于可以通過家用計算機進行簡單的破解了。
5 實驗結論
WEP加密的WIFI具有較大的安全漏洞,而目前使用的wap/wap2加密的WIFI一般只能通過暴力破解得到密碼,aircrack-ng的WIFI破解方式與許多手機上的“WIFI萬能鑰匙”等WIFI密碼獲取軟件不同,后者是使用WIFI密碼共享實現的獲取密碼,在沒有人共享特定WIFI時無法使用。而aircrack-ng則依賴于對WIFI密碼信息以及電腦機能進行破解,在知道較準確且有效的信息后能快速得出WIFI密碼。規定大寫或小寫26個英文字母組成的n位WIFI需要計算機進行26的n次方的運算才能窮舉,安全度相較純數字密碼較高,但對于目前高速發展的計算機硬件,利用窮舉來破解已經是常態,同時隨著GPU性能的提升以及最新的機器學習的發展,這類密碼的安全性會不斷下降。但是對于混合了數字和大小寫字母的密碼在信息不泄露的情況下安全性最好,而在信息部分泄露情況下尤其是格式泄露情況下表現較差,任何8位密碼在超過一半位數上具體信息知道的情況下都不能保證安全。
參考文獻:
[1] [英]Lee Allen,[印尼]Tedi Heriyanto.Kali Linux滲透測試的藝術[M].北京:人民郵電出版社,2015.
[2] https://github.com/aircrack-ng/aircrack-ng
[3] https://aircrack-ng.org
[4] https://www.kali.org
【通聯編輯:梁書】