Nmap腳本引擎NSE

Nmap網(wǎng)絡(luò)安全審計(jì)(六)

Nmap腳本引擎NSE

NSE中的腳本采用Lua語(yǔ)言編寫。NSE設(shè)計(jì)出來(lái)是為了提供Nmap的靈活性,式版的NSE包含14個(gè)大類的腳本,總數(shù)達(dá)500多個(gè),這些腳本的功能包括對(duì)各種網(wǎng)絡(luò)口令強(qiáng)度的審計(jì),對(duì)各種服務(wù)器安全性配置的審計(jì),對(duì)各種服務(wù)器漏洞的審計(jì)等。

公司主營(yíng)業(yè)務(wù):成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)、移動(dòng)網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競(jìng)爭(zhēng)能力。成都創(chuàng)新互聯(lián)公司是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對(duì)我們的高要求,感謝他們從不同領(lǐng)域給我們帶來(lái)的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶帶來(lái)驚喜。成都創(chuàng)新互聯(lián)公司推出志丹免費(fèi)做網(wǎng)站回饋大家。

NSE腳本的運(yùn)行

我們使用NSE腳本測(cè)試一臺(tái)主機(jī),我們來(lái)看一下這條指令使用的參數(shù),-O進(jìn)行操作系統(tǒng)檢測(cè),-sV對(duì)目標(biāo)系統(tǒng)的服務(wù)進(jìn)行檢測(cè),這里我們沒(méi)有使用腳本的參數(shù)所有使用的是默認(rèn)腳本,默認(rèn)腳本會(huì)使用-sC參數(shù)。默認(rèn)腳本一般不會(huì)對(duì)目標(biāo)系統(tǒng)造成危害,但是其他的一些腳本可能會(huì)引起安全防御設(shè)備的報(bào)警。

nmap -sV -sC -O 192.168.126.139

Nmap腳本引擎NSE

默認(rèn)分類中的腳本:

  • banner.NSE:這是一個(gè)用來(lái)收集目標(biāo)banner信息的腳本,它會(huì)連接到目標(biāo)的一個(gè)開放的TCP端口,然后輸出任何在5秒內(nèi)接受到的信息。(banner信息有歡迎或表示身份的含義)
  • broadcast-ping.NSE:這個(gè)腳本使用廣播ping來(lái)發(fā)現(xiàn)網(wǎng)絡(luò)中的主機(jī)。
  • DNS-recursion.NSE:這個(gè)腳本用來(lái)檢測(cè)一個(gè)DNS服務(wù)器是否允許第三方的查詢,允許的話可能會(huì)導(dǎo)致服務(wù)器受到DNS放大GJ。
  • upnp-info.NSE:這個(gè)腳本嘗試通過(guò)UPnP服務(wù)來(lái)提取系統(tǒng)信息。
  • firewalk.NSE:這個(gè)腳本通過(guò)使用IP協(xié)議中的TTL過(guò)期機(jī)制來(lái)完成對(duì)防火墻設(shè)備的發(fā)現(xiàn)。

NSE中腳本的分類

  • auth:這個(gè)分類中包含的都是負(fù)責(zé)處理鑒權(quán)證書的腳本(繞開權(quán)限)
  • broadcast:這個(gè)分類中包含的都是在局域網(wǎng)內(nèi)嗅探更多服務(wù)開啟狀況,如DNS、SQL Server等服務(wù)
  • brute:這些都是針對(duì)常見(jiàn)的應(yīng)用,如HTTP、SSH、FTP等破解密碼的腳本
  • default:這是使用-sC或-A參數(shù)掃描時(shí)候的腳本,提供基礎(chǔ)的掃描能力
  • discovery:對(duì)網(wǎng)絡(luò)進(jìn)行更多的信息搜集,如SMB枚舉,SNMP查詢等
  • dos:用來(lái)發(fā)起拒絕服務(wù)GJ的腳本
  • exploit:用來(lái)完成對(duì)目標(biāo)系統(tǒng)安全漏洞的腳本
  • external:針對(duì)第三方服務(wù)的腳本
  • fuzzer:進(jìn)行模糊測(cè)試的腳本,發(fā)送異常的包到目標(biāo)主機(jī),探測(cè)出潛在的漏洞
  • intrusive:可能會(huì)引起目標(biāo)系統(tǒng)崩潰或?qū)δ繕?biāo)網(wǎng)絡(luò)造成極大負(fù)擔(dān)的腳本,這類腳本很容易被防火墻或IPS發(fā)現(xiàn)
  • malware:用來(lái)檢測(cè)惡意軟件的腳本
  • safe:在任何情況下都是安全無(wú)害的腳本
  • version:負(fù)責(zé)增強(qiáng)服務(wù)于版本掃描功能的腳本
  • vuln:負(fù)責(zé)檢查目標(biāo)主機(jī)是否有常見(jiàn)漏洞
    這就是NSE的14個(gè)分類的腳本

NSE腳本的選擇

我們可以在命令行中輸入 --script 選項(xiàng)來(lái)進(jìn)行對(duì)腳本的選擇,--script 后跟腳本的名字、腳本的種類或腳本存放的路徑,或一個(gè)包含多個(gè)腳本的目錄...
我這里是隨便用了一個(gè),檢測(cè)主機(jī)是否有常見(jiàn)漏洞(直接用腳本的分類名稱作為參數(shù)的話,掃描的時(shí)候是調(diào)用該分類下所有腳本去掃描)

nmap -script vuln 192.168.126.139

Nmap腳本引擎NSE

可以使用http-methods方法來(lái)枚舉目標(biāo)web服務(wù)器上所運(yùn)行的服務(wù)

nmap -p 80,443 --script http-methods www.*****.com

Nmap腳本引擎NSE
從檢測(cè)的結(jié)果中可以看到,目標(biāo)服務(wù)器支持的方法有GET、HEAD、POST、OPTIONS 、TRACE。

另外也可以同時(shí)使用多個(gè)分類中的腳本去掃描

nmap --script exploit,malware 192.168.126.139

Nmap腳本引擎NSE

使用指定路徑來(lái)執(zhí)行NSE腳本,腳本在nmap目錄下,/nmap/scripts/xxx.nse

nmap --script D:/Nmap/scripts/banner.nse 192.168.126.139

Nmap腳本引擎NSE

如果你會(huì)編寫掃描腳本的話,可以在創(chuàng)建完成后放到文件夾里,如果這個(gè)文件夾有多個(gè)腳本,你可以將路徑只寫到目錄,這樣會(huì)使用這個(gè)目錄下所有腳本進(jìn)行掃描,也可以將路徑指定到文件里的腳本,這樣是使用單個(gè)腳本進(jìn)行掃描。

使用運(yùn)算符來(lái)選擇使用的腳本:

使用除 exploit分類以外的腳本進(jìn)行掃描

nmap --script "not exploit" 192.168.126.139

使用除intrusive、dos、exploit分類以外的腳本進(jìn)行掃描

nmap --script "not (intrusive or dos or exploit)"  192.168.126.139

只使用safe和vuln進(jìn)行掃描

nmap --script "safe and vuln" 192.168.126.139

此外,NSE中也支持通配符 * ,對(duì)一臺(tái)運(yùn)行SNMP服務(wù)的計(jì)算機(jī)進(jìn)行檢測(cè),使用所有與SNMP相關(guān)的腳本

nmap --script "snmp-*" 192.168.126.139

這些分類和運(yùn)算符可以結(jié)合操作

nmap --script "ftp-* and not(intrusive)" 192.168.126.139

如何向NSE腳本傳遞參數(shù)

Nmap中使用 --script-args 來(lái)指定NSE腳本運(yùn)行時(shí)的參數(shù)

nmap -p80 --script http-methods www.***.com

當(dāng)執(zhí)行這個(gè)腳本的時(shí)候,Nmap會(huì)向目標(biāo)服務(wù)器發(fā)送數(shù)據(jù)包,Nmap的數(shù)據(jù)包中包含的默認(rèn)客戶端信息。
Nmap腳本引擎NSE

這種客戶端一般會(huì)被安全機(jī)制攔截,我們可以使用 --script-args 修改客戶端信息為Mozilla 50

nmap -p 80 --script http-methods --script-args http.useragent="Mozilla 50" www.***.com

Nmap腳本引擎NSE

Nmap腳本引擎NSE

NSE腳本調(diào)試

如果想看nmap掃描時(shí)候的具體操作,這樣可能會(huì)使操作過(guò)程更加清晰,在之前我們也講過(guò)可以使用 --script-trace來(lái)查看

nmap -p 80 --script-trace --script http-methods --script-args "http.useragent=Mozilla 50" www.***.com

Nmap腳本引擎NSE

也可以使用 -d [ 1-9 ] 切換調(diào)試模式,使用-d參數(shù)1-9,數(shù)字越大輸出信息越詳細(xì)

nmap -d3 --script-trace --script http-methods www.***.com

Nmap腳本引擎NSE

NSE常見(jiàn)腳本的應(yīng)用

Nmap的基本功能只包括主機(jī)發(fā)現(xiàn),端口掃描,操作系統(tǒng)和服務(wù)檢測(cè)功能,而NSE進(jìn)一步實(shí)現(xiàn)了大量高級(jí)功能。

信息搜集類腳本

NSE中大量腳本實(shí)現(xiàn)了這個(gè)功能,這些腳本使用不同的技術(shù)完成了對(duì)目標(biāo)的各種信息的搜集。利用腳本 http-methods查看目標(biāo)服務(wù)器所支持的HTTP方法。
基于腳本http-methods的審計(jì)目的,web服務(wù)器需要支持HTTP方法,才能正確提供HTTP服務(wù),常見(jiàn)的有以下幾種:

  • GET:請(qǐng)求指定的頁(yè)面信息
  • HEAD:獲取報(bào)頭
  • POST:向指定資源提交數(shù)據(jù)進(jìn)行處理請(qǐng)求
  • PUT:從客戶端向服務(wù)器傳送的數(shù)據(jù)取代指定的文檔內(nèi)容
  • DELETE:請(qǐng)求服務(wù)器刪除指定的頁(yè)面
  • OPTIONS:允許客戶端查看服務(wù)器的性能
  • TRACE:回顯服務(wù)器收到的請(qǐng)求

    目前HTTP的TRACE、CONNECT、PUT、DELETE方法可能是web服務(wù)器潛在的安全風(fēng)險(xiǎn),尤其是服務(wù)器支持TRACE方法,有可能會(huì)遭到XSTGJ。將惡意代碼嵌入一臺(tái)已經(jīng)被控制的主機(jī)的web文件中,當(dāng)訪問(wèn)者瀏覽時(shí)惡意代碼在瀏覽器執(zhí)行,然后訪問(wèn)者的cookie、HTTP基本驗(yàn)證等信息會(huì)被傳到已被控制的主機(jī),同時(shí)傳送Trace請(qǐng)求給目標(biāo)服務(wù)器,導(dǎo)致cookie欺騙或中間人GJ。

高級(jí)主機(jī)發(fā)現(xiàn)類腳本

  1. 腳本broadcast-ping.NSE

    審計(jì)目的:發(fā)現(xiàn)本地網(wǎng)絡(luò)中的活躍主機(jī)
    審計(jì)方法:這個(gè)腳本向整個(gè)本地網(wǎng)絡(luò)中所有IP地址發(fā)送廣播包,以自己所在網(wǎng)絡(luò)為目標(biāo)
    審計(jì)命令:

    nmap --script broadcast-ping

    審計(jì)結(jié)果:
    Nmap腳本引擎NSE

  2. 腳本 targets-sniffer

    審計(jì)目的:發(fā)現(xiàn)本地網(wǎng)絡(luò)中的活躍主機(jī)
    審計(jì)方法:這個(gè)腳本會(huì)對(duì)你的本地網(wǎng)絡(luò)進(jìn)行嗅探,然后發(fā)現(xiàn)網(wǎng)絡(luò)中的所有主機(jī),以自己所在網(wǎng)絡(luò)為目標(biāo)
    審計(jì)命令:

    nmap -sL --script=target-sniffer -e xxx

    審計(jì)結(jié)果:
    Nmap腳本引擎NSE
    可以使用-e監(jiān)聽(tīng)網(wǎng)卡設(shè)備

密碼審計(jì)類腳本

網(wǎng)絡(luò)上提供的服務(wù)一般都具有一定的認(rèn)證措施,目前應(yīng)用最為廣泛的認(rèn)證措施還是用戶名和密碼。這種認(rèn)證措施的優(yōu)勢(shì)在于簡(jiǎn)單易行,而缺點(diǎn)在于很多用戶意識(shí)不到密碼強(qiáng)度的重要性,一般會(huì)選擇一些比較簡(jiǎn)單容易記住的密碼,而這些密碼很容易被猜出來(lái),因此網(wǎng)絡(luò)的管理者需要一個(gè)有效的工具來(lái)對(duì)自己網(wǎng)絡(luò)中各種服務(wù)的密碼強(qiáng)度進(jìn)行審計(jì)。

  1. 腳本MySQL-brute.NSE

    審計(jì)目的:發(fā)現(xiàn)網(wǎng)絡(luò)中弱口令的MySQL數(shù)據(jù)庫(kù)

    審計(jì)方法:腳本mysql-brute.NSE的審計(jì)方法很簡(jiǎn)單,在Nmap中有兩個(gè)數(shù)據(jù)文件,是一些常見(jiàn)的用戶名和密碼,這個(gè)腳本將這兩個(gè)文件進(jìn)行組合然后嘗試登陸。

    審計(jì)命令:

    nmap -p 3306 -packet-trace --script mysql-brute 192.168.126.141

    這里是沒(méi)有破解出密碼,破解的成功率取決于字典的大小哈,自己感興趣的可以試試,github上也有爆破字典可以使用的。
    Nmap腳本引擎NSE

2.腳本smtp-brute.NSE

smtp-brute.NSE腳本用來(lái)檢測(cè)目標(biāo)郵件服務(wù)器SMTP服務(wù)的密碼是否合規(guī)。

審計(jì)目的:郵件服務(wù)器中經(jīng)常會(huì)存儲(chǔ)一些非常重要的信息,而對(duì)用戶進(jìn)行認(rèn)證的方式就是用戶和密碼,這里存在一些簡(jiǎn)單的賬戶名和密碼,他們很容易成為被GJ的對(duì)象,因此需要先對(duì)服務(wù)器進(jìn)行弱口令檢查。.

審計(jì)方法:對(duì)密碼審計(jì)的方法采用窮解的方式。這個(gè)腳本可以對(duì)SMTP密碼的窮解,它支持LOGIN、PLAIN、CRAM-MD5、DIGEST-MD5、NTLM四種登錄方式。默認(rèn)情況下,smtp-brute.NSE會(huì)使用/NSElib/data/username.lst文件中的內(nèi)容作為用戶名,/NSElib/data/passwords.lst 文件中的內(nèi)容作為密碼。

審計(jì)命令:

nmap -p 25 --script smtp-brute 192.168.0.1

審計(jì)結(jié)果:我這里沒(méi)有搭建smtp就不做演示了,有條件的可以自己試試

漏洞掃描類腳本

NSE腳本擴(kuò)充漏洞掃描的功能,利用這些腳本,就可以使用Nmap對(duì)目標(biāo)進(jìn)行掃描。

1.腳本 http-slowloris.NSE

slowloris是一種GJ方法,原理是以極低的速度向服務(wù)器發(fā)送http請(qǐng)求。由于web server對(duì)于并發(fā)的連接數(shù)都有一個(gè)上限值,如果惡意連接不釋放,那么web server的所有連接都會(huì)被惡意連接占用,導(dǎo)致拒絕服務(wù)。

審計(jì)方法:使用http-slowloris腳本,向目標(biāo)發(fā)送連接,并保持這個(gè)連接,構(gòu)造了一個(gè)畸形的http請(qǐng)求,是一個(gè)不完整的http請(qǐng)求。
 審計(jì)命令:
nmap -p 80 --script http-slowloris --max-parallelism 300 www.xxx.com

審計(jì)結(jié)果:這里不做實(shí)驗(yàn),不要隨意對(duì)網(wǎng)站進(jìn)行測(cè)試
審計(jì)拓展:我們可以通過(guò)調(diào)整http-slowloris.send_interval參數(shù)來(lái)改變掃描的過(guò)程。這個(gè)參數(shù)可以指定發(fā)送http header datas的間隔,默認(rèn)為100,我們來(lái)修改一下

nmap -p 80 --script http-slowloris --script-args http-slowloris.send_interval=200 --max-parallelism 300

http-slowloris.timeklimit參數(shù)指定Dos持續(xù)運(yùn)行時(shí)間,默認(rèn)為30分鐘,我們修改為10分鐘

nmap -p 80 --script http-slowloris --script-args http-slowloris.timelimit=10m www.***.com

http-slowloris.runforever參數(shù)對(duì)指定目標(biāo)一直發(fā)動(dòng)DoSGJ。默認(rèn)值為false

nmap -p 80 --script http-slowloris --script-args http-slowloris.runforever www.***.com

Nmap中還有一個(gè)http-slowloris-check.NSE的腳本,這個(gè)腳本不會(huì)發(fā)起DoS GJ,而是檢測(cè)目標(biāo)是否具備抵抗DOS GJ的能力。

nmap -p 80 --script http-slowloris-check www.***.com

網(wǎng)頁(yè)名稱:Nmap腳本引擎NSE
文章URL:http://muchs.cn/article12/gesodc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制開發(fā)、全網(wǎng)營(yíng)銷推廣靜態(tài)網(wǎng)站、企業(yè)網(wǎng)站制作、用戶體驗(yàn)、網(wǎng)站改版

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)