彭光彬
(重慶機電職業(yè)技術大學,重慶 402760)
隨著無線網絡的普及,人們的工作、學習和生活已基本離不開無線網絡,無線網絡的安全成為一個不容忽視的問題。因此,針對信息安全技術應用專業(yè)“網絡攻防技術”課程中的“無線網絡安全攻防技術”這一項目,文獻[1-4]等提出了相關解決方案。但這些文獻使用的是傳統(tǒng)的網絡實驗架構,對于一個50人的教學班級來說,這樣的架構存在明顯的缺點:一是實驗成本較高,需要購置較多的無線路由器、無線網卡等設備;二是實驗設備容易損壞或丟失;三是實驗操作不便,例如若不使用USB無線網卡,則需要安裝雙系統(tǒng),可能還需要學生輪流上機實驗??紤]到絕大多數信息安全技術應用專業(yè)的學生都有帶無線網卡的筆記本電腦、U盤和帶WLAN功能的智能手機,因此設計了基于Kali Linux的無線網絡安全滲透實驗。該實驗具有成本低廉、操作簡單、易學易懂等特點,同時學生還學習了如何使用U盤來安裝Linux系統(tǒng)。
一般來說,信息安全技術應用專業(yè)的學生在學習“網絡攻防技術”課程時,通常沒有系統(tǒng)學習過無線網絡,或者掌握的相關知識較少。因此在學習“無線網絡安全攻防技術”這一項目時,首先需要學習無線網絡相關知識。本著“理論夠用、重在實踐”的原則,安排了6個知識點:無線局域網(無線局域網的概念,無線局域網的標準,無線局域網的組成、AP概念)、Wi-Fi(Wi-Fi概念,Wi-Fi與802.11標準關系)、SSID與BSSID(SSID的概念,BSS、BSSID的概念)、AP信道(2.4GHZ頻段,5.8GHZ頻段)、無線局域網安全協(xié)議(WEP協(xié)議,WPA/WPA2/WPA3協(xié)議,WAPI標準)、無線局域網預共享秘鑰的破解(使用字典破解無線密碼,相關工具和相關Linux發(fā)行版本)。
Kali Linux是一種基于Debian系統(tǒng)的Linux發(fā)行版,集成了600多個滲透測試工具。Kali Linux可用于各種信息安全任務,如滲透測試、安全性研究、計算機取證和逆向工程等。[5]Kali Linux集成了50多個無線網絡滲透測試工具,如Aircrack-ng、Reaver、wifite、fern wifi cracker等軟件。
Aircrack-ng是一款用于評估無線網絡安全的工具包,該工具包既可監(jiān)視、攻擊、測試和檢查無線網絡安全,又可破解基于WEP和WPA/WPA2-PSK的無線網絡,且允許運行第三方的腳本[6],Linux、Windows系統(tǒng)下皆可使用。Aircrack-ng套件包含aircrack-ng、aireplay-ng、airmon-ng、airodunpmg等工具。
使用軟件Universal USB Installer,可將Linux系統(tǒng)安裝到U盤上,這樣無需安裝雙系統(tǒng),從而不會影響原有系統(tǒng)。操作步驟如下所述。
(1)下載文件。下載Kali Linux Live,下載地址為https://www.kali.org/downloads/,可選擇Kali Linux 64-Bit(Live)下載;下載Universal USB Installer,下載地址為https://universal-usb-installer.en.softonic.com/。
(2)使用Universal USB Installer將Kali Linux安裝文件復制到U盤上。在Windows系統(tǒng)中,插入空白U盤,雙擊下載下來的Universal USB Installer文件(如圖1所示),在“Step 1”的下拉框中選擇“Security and Penetration Testing”項下的Kali Linux,然后點擊“Step 2”下方的“Browe”按鈕以選擇下載下來的Kali Linux的ISO文件,再在“Step 3”的下拉框中選擇U盤,并勾選旁邊的“Will Fat32 Format”復選框,最后點擊“Create”按鈕,在彈出的警告框中,確保U盤中無重要數據后點擊“是(Y)”按鈕,以便創(chuàng)建可從U盤啟動的Linux。接下來需要較長時間才能完成文件的復制。
圖1 創(chuàng)建可從U盤啟動的Kali Linux
(3)從U盤啟動Kali Linux。當文件復制完成后,點擊“Close”按鈕。重新啟動計算機后設置BIOS從U盤啟動計算機(不同的計算機進入BIOS的方法不一樣,按F2鍵、F9鍵、F12鍵、ESC鍵等都有可能)。在啟動菜單畫面,使用向下鍵選中“Live USB Persistence”(也可選擇“Live”項),按回車鍵后等待Kali Linux的啟動。從2020年開始的Kali Linux Live,其用戶名為kali,密碼也為kali;另外,執(zhí)行相關管理命令時,需要在命令前加上“sudo”。
經過以上操作,利用該U盤可隨時安裝Kali Linux,也可以運行Live版的Kali Linux。如此,該U盤就成為了Kali Linux的“口袋U盤”。
本實驗使用1臺筆記本電腦和2部智能手機來模擬常見無線網絡場景,通過Aircrack-ng(已集成于Kali Linux中)來評估AP安全性。實驗拓撲圖見圖2。
圖2 無線網絡滲透實驗拓撲圖
實驗操作步驟如下所述。
(1)從U盤啟動Kali Linux。以下所有命令在Kali Linux 2020.1及其以后的版本適用,若是之前的版本可去掉“sudo”。
(2)在一部智能手機上開啟熱點。首先開啟4G或5G移動網絡。在手機的“設置”中打開“個人熱點”,然后開啟“便攜式WLAN熱點”開關,設置好WLAN熱點名稱和密碼。
(3)在另一部智能手機上連接該熱點。
(4)在Kali Linux中停止網絡管理服務。Network Manager是一個檢測網絡、自動連接網絡的程序,為避免網絡的自動管理,可先執(zhí)行命令“sudo service network-manager stop”停止該服務。
(5)執(zhí)行命令“sudo airmon-ng check kill”以停止影響aircrack-ng執(zhí)行的進程。
(6)查看無線網絡設備信息。iwconfig命令類似于ifconfig命令,可用于配置無線網絡設備或顯示無線網絡設備信息。執(zhí)行命令“sudo iwconfig”查看無線網絡設備信息,假設查看到無線網卡的名稱是“wlan0”。
(7)啟動無線網卡到監(jiān)聽模式。無線網卡一般有四種工作模式:Managed、Master、Ad-hoc、Monitor。Managed模式用于無線客戶端直接與無線接入點進行連接。一些無線網卡支持Master模式,該模式允許無線網卡使用特制的驅動程序和軟件工作,作為其他設備的AP。Ad hoc模式相當于兩臺設備直接連接,此時不存在AP。Monitor模式主要用于監(jiān)控無線網絡內部的流量,用于檢查網絡和排錯。要使Wireshark等工具捕獲無線數據包,無線網卡和驅動程序必須支持監(jiān)聽模式。所以,在嗅探無線網絡前,需將無線網卡設置到監(jiān)聽模式。執(zhí)行命令“sudo airmon-ng start wlan0”可開啟無線網卡名為wlan0的監(jiān)聽模式,假設此時監(jiān)聽名稱為“wlan0mon”。
(8)監(jiān)聽附近無線網絡信息。執(zhí)行命令“sudo airodump-ng wlan0mon”監(jiān)聽接口wlan0附近的無線網絡信息(通過監(jiān)聽名稱wlan0mon),將監(jiān)聽到步驟2設置的無線熱點,設該熱點的BSSID是“54:DC:1D:71:60:E5”、信道號為6,PWR表示AP的信號強度,數值越大信號越強。
(9)監(jiān)聽某個無線網絡。執(zhí)行命令“sudo airodump-ng--bssid 54:DC:1D:71:60:E5-c 6-w tmp wlan0mon”監(jiān)聽BSSID為“54:DC:1D:71:60:E5”的AP(SSID為testWiFi)、信道編號為6,將監(jiān)聽的數據保存在tmp文件中(tmp文件會被編號)。
要想破解無線網絡的密碼,必須監(jiān)聽到握手包,在監(jiān)聽畫面中,必須看到“WPA handshake”信息。一旦獲取到握手包,就可按“Ctrl+C”停止監(jiān)聽。
一般來說,要獲取到握手包,需要等待幾分鐘,有時很久也無法獲取。為了加快握手包的獲取,可在新開命令終端中多次執(zhí)行下面命令:
sudo aireplay-ng-0 2-a 54:DC:1D:71:60:E5-c 9C:B7:0D:CF:0F:BD wlan0mon
該命令中的“54:DC:1D:71:60:E5”為被監(jiān)聽AP的BSSID,而“9C:B7:0D:CF:0F:BD”是已經連接到該AP的移動站點的MAC地址。一般可每隔1~2分鐘執(zhí)行一次該命令,如果長時間無法獲取到握手包,那也只能放棄本次破解。
(10)關閉監(jiān)聽模式并啟動網絡管理服務。該步驟需執(zhí)行以下兩條命令:
sudo airmon-ng stop wlan0mon
sudo service network-manager start
(11)創(chuàng)建密碼字典破解無線密碼。首先通過編輯命令創(chuàng)建一個密碼字典文件,如執(zhí)行下面命令(其中“nano”也可以用“vim”命令代替):
nano word.list
在密碼字典文件word.list中必須包含步驟(2)中設置的無線密碼。當然,密碼字典文件也可以是常規(guī)的或定制的弱密碼的集合,這取決于組織的安全審計策略。
(12)破解無線密碼。執(zhí)行“sudo aircrack-ng tmp-01.cap-w word.list”命令將對步驟(9)監(jiān)聽到的握手包文件加以破解。如果密碼字典不大,很快就能獲取到密碼。
根據高職學生特點,采取“理實一體化、任務驅動”模式進行該實驗教學?!捌渲械娜蝿?,既蘊涵了學生應該掌握的知識與技能,也蘊涵了學生應該獲得的能力訓練?!盵7]元澤懷等[8]、張穎等[9]將任務驅動教學模式應用于實驗教學中,而吳軍其等[10]將“任務驅動”法應用到高校翻轉課堂中,曹鳳等[11]、羅才華[12]等構建了“三段式”任務驅動教學模式?;谝陨涎芯颗c實踐,在進行“無線網絡安全攻防技術”教學時,采取了基于任務驅動的“三段式”混合教學法,如圖3所示。
圖3 基于任務驅動的“三段式”混合教學法
以“無線網絡滲透測試”中的第一個任務“使用U盤安裝Kali Linux”為例,基于任務驅動的“三段式”混合教學法的步驟如下所述。
(1)教師布置任務,學生進行課前線上學習。教師提前錄制2個視頻,即無線網絡相關概念、無線網絡安全協(xié)議及破解,并將這2個視頻、PPT和習題等資源上傳職教云等線上平臺。然后向學生下達學習任務:一是認真觀看這2個視頻,二是在線完成6道選擇題和4道判斷題作業(yè)。在上課前,教師檢查線上學習及課前作業(yè)情況。
(2)教師進行重難點講解及指導,學生做課中課程實驗。教師針對課前學習情況進行點評和課堂補充抽查提問,并根據課前作業(yè)情況有針對性地進行講解。例如,本學習任務可對AP信道、WPA2協(xié)議進行再講解,時間控制在20分鐘以內。接下來,教師一邊講解、一邊演示如何在U盤上安裝Kali Linux,同時要求學生按照教師或者教材的步驟在自己的U盤上安裝該系統(tǒng)。教師在“講、演”過程中,應仔細觀察學生操作情況,及時指導學生完成相關任務。要求學生在實驗過程中,隨時記錄實驗結果,將操作截圖保存,以便撰寫實驗報告。本實驗過程時間控制在40分鐘以內。預留10分鐘時間讓學生完成實驗報告(若時間不夠,也可以在課后完成)。最后教師進行總結點評,對表現好的方面進行點贊、表揚;叮囑學生應重點學習哪些知識、掌握何種技能。如時間充足,可拋出1~2個有一定難度的問題,例如:“如果一個AP的信道是6,則另一個AP的信道可以是哪些信道?”“在U盤上安裝Kali Linux時,如何確保不會選錯驅動器?”
(3)教師布置課后任務并進行檢查,學生課后完成線上作業(yè)及拓展實驗。教師在線下課堂的最后3分鐘布置線上作業(yè)、拓展實驗以及下次課的學習任務。在下次課上課前,教師及時檢查學生作業(yè)及學習任務完成情況。學生完成“在U盤上安裝Ubuntu系統(tǒng)”的拓展實驗,并上傳實驗結果。實驗結果可以是圖片,也可以是操作視頻或操作手冊。在此過程中,教師應及時做好課后答疑工作。
本研究利用1臺筆記本電腦、2部智能手機和1個U盤實現了“無線網絡滲透測試實驗”,解決了傳統(tǒng)無線網絡滲透測試實驗的諸多問題。通過基于任務驅動的“三段式”混合教學法,使學生“動起來”“忙起來”,知識、技能掌握得更加牢固,同時也提高了學生分析問題、解決問題的能力。