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