
摘要:Nmap是一個(gè)掃描工具,對于該工具的教學(xué)設(shè)計(jì)主要涉及使用Nmap掃描的功能,包括常規(guī)掃描、探測以及使用腳本方式進(jìn)行掃描,根據(jù)功能來搭建合理的教學(xué)環(huán)境,讓學(xué)生通過該環(huán)境通過實(shí)驗(yàn)達(dá)到良好的學(xué)習(xí)效果。關(guān)鍵詞:Nmap;掃描;腳本;環(huán)境搭建;教學(xué)環(huán)節(jié)設(shè)計(jì)
中圖分類號:TP391
文獻(xiàn)標(biāo)識碼:A
文章編號:1009-3044(2019)36-0117-02
Nmap這個(gè)內(nèi)容的教學(xué),以前往往講解的多,實(shí)驗(yàn)較少,主要是缺乏實(shí)驗(yàn)環(huán)境的配置,所以在以往的教學(xué)中,大家都遵循一般的方法,只講解一般性理論和Nmap簡單的應(yīng)用命令,然后在局域網(wǎng)隨便找?guī)着_(tái)機(jī)器進(jìn)行掃描,這樣的教學(xué)過程,學(xué)生沒法了解和掌握Nmap這個(gè)強(qiáng)大的掃描工具的使用精髓,本文將就Nmap的一般和高級使用方法做詳細(xì)分析并給出實(shí)現(xiàn)的環(huán)境,讓學(xué)生在學(xué)完理論知識后,通過實(shí)驗(yàn)環(huán)境能夠?qū)崿F(xiàn)各種命令的使用。
1掃描技術(shù)理論教學(xué)環(huán)節(jié)的設(shè)計(jì)
Nmap首先是一種掃描技術(shù),所以首先還是得介紹掃描原理。學(xué)習(xí)掃描技術(shù)首先需要了解端口的定義和分類,端口與服務(wù)的關(guān)系,服務(wù)的啟動(dòng)與否代表端口是否開放,讓學(xué)生把端口和服務(wù)建立關(guān)聯(lián)。其次,掃描技術(shù)還得分析TCP/IP協(xié)議,需要分析IP和TCP協(xié)議的各個(gè)字段的作用和含義,尤其是幾個(gè)關(guān)鍵的TCP字段,例如TCP首部中的各個(gè)標(biāo)志位的含義,因?yàn)檫@些標(biāo)志位的含義和掃描技術(shù)直接相關(guān),掃描技術(shù)需要發(fā)送帶標(biāo)志位的TCP報(bào)文到目標(biāo)主機(jī),然后根據(jù)收到的反饋報(bào)文情況判斷對方端口狀態(tài)或者服務(wù)狀態(tài)。另外還需要分析TCP三次握手連接以及四次握手的取消連接,需要分析到每次握手過程中的TCP報(bào)文內(nèi)的標(biāo)志位和重要字段的變化。如果條件允許,可以講授TCP的全狀態(tài)變遷分析,讓學(xué)生對整個(gè)TCP的狀態(tài)變化有所了解,這樣更容易了解掃描原理。當(dāng)然,除了TCP和IP協(xié)議外,UDP協(xié)議也需要進(jìn)行分析,因?yàn)橛行呙枋鞘褂玫腢DP報(bào)文。
2 Nmap技術(shù)教學(xué)環(huán)節(jié)設(shè)計(jì)
Nmap是個(gè)功能很強(qiáng)大的掃描工具,其功能主要分為常規(guī)掃描和使用腳本方式進(jìn)行掃描。 使用常規(guī)方式掃描主要是靠發(fā)送帶上特定標(biāo)志位的TCP和UDP報(bào)文來進(jìn)行掃描,而且NmapK可以使用的參數(shù)非常多,這個(gè)時(shí)候的教學(xué)可以選擇幾個(gè)最重要的參數(shù)進(jìn)行抓包分析,可以安裝簡單的抓包工具WIRESHARK,例如對SYN掃描可以通過抓到如圖l所示探測報(bào)文與應(yīng)答報(bào)文,從圖l可以看到只發(fā)生了兩次握手情況,它是一種半開掃描,這樣可以使掃描原理的教學(xué)一目了然。使用Nmap掃描,在掃描結(jié)果中會(huì)出現(xiàn)端口的六種狀態(tài),簡單的open、close狀態(tài)很好理解,但其中Filtered狀態(tài)需要使用實(shí)驗(yàn)來演示,筆者使用WINDOWS SERVER 2003本地網(wǎng)卡上的Internet連接防火墻,通過服務(wù)選項(xiàng)來模擬端口是否使用防火墻,這樣就可以很簡單的實(shí)現(xiàn)看到Filtered狀態(tài)。實(shí)際教學(xué)中筆者使用kali的Nmap對另外一臺(tái)WINDOWSSERVER 2003虛擬機(jī)進(jìn)行掃描,分別開啟服務(wù)和不開啟的掃描命令和結(jié)果如下:
root@kaliverl:~/Desktop# nmap -sU 192.168.1.64 -p 80#對80端口掃描
Starting Nmap 6.47( http://nmap.org) at 2019-03-23 15:47CST
Nmap sean report for 192.168.1.64
Host is up (0.00023s latency).
PORT STATE
SERVICE
80/udp openlf/ltered http
MAC Address: OO:OC:29:50:2D:7E (VMware)
Nmap done:1 lP address(1 host up) scanned in 0.61 seconds
root@kaliverl:~/Desktop# nmap -sT 192.168.1.64 -p 80#對80端口掃描
Starting Nmap 6.47( http://nmap.org) at 2019-03-23 15:48CST
Nmap scan report for 192.168.1.64
Host is up (0.00025s latency).
PORT STATE SERVICE
80/tcpopen http
MAC Address: OO:OC:29:50:2D:7E (VMware)
Nmap done:1 lP address(1 host up) scanned in 0.21 seconds
本實(shí)驗(yàn)還可以測試在禁用PING后獲得掃描結(jié)果。在使用Nmap進(jìn)行掃描的時(shí)候,還需要注意的是單獨(dú)一種掃描方式并不是很準(zhǔn)確的,需要多種參數(shù)掃描后綜合判斷,例如對操作系統(tǒng)的探測,某一個(gè)參數(shù)肯能只能探測出大致的系統(tǒng)類型,并不能準(zhǔn)確到時(shí)哪一個(gè)操作系統(tǒng),這個(gè)時(shí)候就需要再使用另外的參數(shù)進(jìn)行探測。第二個(gè)重要內(nèi)容是使用腳本方式的掃描,這是一個(gè)Nmap擴(kuò)展功能,使用該功能可以探測系統(tǒng)漏洞甚至還可以實(shí)現(xiàn)暴力破解。對于這個(gè)環(huán)節(jié)的教學(xué),筆者使用—script參數(shù)后面引用了一些腳本來進(jìn)行掃描,例如使用—script=vuln來掃描系統(tǒng)漏洞,使用—script ftp-brute -script-args破解FTP服務(wù)器的賬號信息,也可以使用對應(yīng)版本破解mysql或者mssql數(shù)據(jù)庫,使用命令如下:
nmap —script=mysql-brute -p 3306 192.168.1.64#暴力破解mysql數(shù)據(jù)庫
Nmap-p1433 —script ms-sql-brute —script-args userdb=/usemames.txt,passdb=/passwords.txt 192.168.1.64#暴力破解ms-sql數(shù)據(jù)庫root@kal1222:/# nmap -p 1433 -script ms-sql-xp-cmdshell —script-args=ms-sql-xp-cmdshell.cmd=7net users,mssql.username=sa,mssql.password=123 192.168.1.64#破解成功后還可以使用nmap進(jìn)行利用去使用對方的shell運(yùn)行命令。
以上的環(huán)境可以把mysq5和mssq12000安裝到虛擬機(jī)WIN-DOWS SERVER 2003中,使用kali系統(tǒng)作為攻擊機(jī),實(shí)驗(yàn)的時(shí)候可以簡單配置數(shù)據(jù)庫管理員口令。除了對主機(jī)進(jìn)行掃描外,還可以使用nmap腳本去獲得網(wǎng)站信息或者掃描網(wǎng)站漏洞,例如如下密令掃描網(wǎng)站的sql注人情況:
root@kal1222:/#nmap—s,cript http-sql-inj ection 192.168.1.1 34
該實(shí)驗(yàn)環(huán)境使用了Metasploitable2-Linux虛擬機(jī)作為靶機(jī),該系統(tǒng)是一個(gè)特別制作的ubuntu操作系統(tǒng),本身設(shè)計(jì)作為安全工具測試和演示常見漏洞攻擊。
此外還可以使用增強(qiáng)Nmap的版本檢測nmap-vulners和vulscan,這兩個(gè)腳本可以從GITHUB.COM下載得到,常用直接從網(wǎng)站克隆的方式,使用這些腳本可以掃描檢測CVE漏洞。
3結(jié)束語
Nmap是網(wǎng)絡(luò)安全教學(xué)中一個(gè)很重要的教學(xué)知識點(diǎn),對于系統(tǒng)的掃描和探測是學(xué)好滲透測試的前提,所以對于Nmap的教學(xué)內(nèi)容設(shè)計(jì)非常重要。通過以上內(nèi)容的設(shè)計(jì),可以讓學(xué)生學(xué)到Nmap的主要內(nèi)容,同時(shí),配置好對應(yīng)的實(shí)驗(yàn)環(huán)境,讓學(xué)生能夠在虛擬環(huán)境當(dāng)中進(jìn)行模擬的掃描和Nmap實(shí)驗(yàn)也是一個(gè)重要的教學(xué)前提。
參考文獻(xiàn):
[1] LEE ALLEN.kali Linux滲透測試的藝術(shù)[M].北京:人民郵電出版社.2015.
[2]賈鐵軍.網(wǎng)絡(luò)安全實(shí)用技術(shù)[M].北京:清華大學(xué)出版社,2016.
【通聯(lián)編輯:朱寶貴】
收稿日期:2019-10-25
作者簡介:嚴(yán)學(xué)軍,講師,碩士,主要研究方向?yàn)榫W(wǎng)絡(luò)安全方向,從事網(wǎng)絡(luò)安全和LINUX等課程的教學(xué)。