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