中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Nmap腳本引擎NSE

發布時間:2020-05-26 11:30:10 來源:網絡 閱讀:2014 作者:JachinLi 欄目:安全技術

Nmap網絡安全審計(六)

Nmap腳本引擎NSE

NSE中的腳本采用Lua語言編寫。NSE設計出來是為了提供Nmap的靈活性,式版的NSE包含14個大類的腳本,總數達500多個,這些腳本的功能包括對各種網絡口令強度的審計,對各種服務器安全性配置的審計,對各種服務器漏洞的審計等。

NSE腳本的運行

我們使用NSE腳本測試一臺主機,我們來看一下這條指令使用的參數,-O進行操作系統檢測,-sV對目標系統的服務進行檢測,這里我們沒有使用腳本的參數所有使用的是默認腳本,默認腳本會使用-sC參數。默認腳本一般不會對目標系統造成危害,但是其他的一些腳本可能會引起安全防御設備的報警。

nmap -sV -sC -O 192.168.126.139

Nmap腳本引擎NSE

默認分類中的腳本:

  • banner.NSE:這是一個用來收集目標banner信息的腳本,它會連接到目標的一個開放的TCP端口,然后輸出任何在5秒內接受到的信息。(banner信息有歡迎或表示身份的含義)
  • broadcast-ping.NSE:這個腳本使用廣播ping來發現網絡中的主機。
  • dns-recursion.NSE:這個腳本用來檢測一個DNS服務器是否允許第三方的查詢,允許的話可能會導致服務器受到DNS放大GJ。
  • upnp-info.NSE:這個腳本嘗試通過UPnP服務來提取系統信息。
  • firewalk.NSE:這個腳本通過使用IP協議中的TTL過期機制來完成對防火墻設備的發現。

NSE中腳本的分類

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

NSE腳本的選擇

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

nmap -script vuln 192.168.126.139

Nmap腳本引擎NSE

可以使用http-methods方法來枚舉目標web服務器上所運行的服務

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

Nmap腳本引擎NSE
從檢測的結果中可以看到,目標服務器支持的方法有GET、HEAD、POST、OPTIONS 、TRACE。

另外也可以同時使用多個分類中的腳本去掃描

nmap --script exploit,malware 192.168.126.139

Nmap腳本引擎NSE

使用指定路徑來執行NSE腳本,腳本在nmap目錄下,/nmap/scripts/xxx.nse

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

Nmap腳本引擎NSE

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

使用運算符來選擇使用的腳本:

使用除 exploit分類以外的腳本進行掃描

nmap --script "not exploit" 192.168.126.139

使用除intrusive、dos、exploit分類以外的腳本進行掃描

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

只使用safe和vuln進行掃描

nmap --script "safe and vuln" 192.168.126.139

此外,NSE中也支持通配符 * ,對一臺運行SNMP服務的計算機進行檢測,使用所有與SNMP相關的腳本

nmap --script "snmp-*" 192.168.126.139

這些分類和運算符可以結合操作

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

如何向NSE腳本傳遞參數

Nmap中使用 --script-args 來指定NSE腳本運行時的參數

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

當執行這個腳本的時候,Nmap會向目標服務器發送數據包,Nmap的數據包中包含的默認客戶端信息。
Nmap腳本引擎NSE

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

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

Nmap腳本引擎NSE

Nmap腳本引擎NSE

NSE腳本調試

如果想看nmap掃描時候的具體操作,這樣可能會使操作過程更加清晰,在之前我們也講過可以使用 --script-trace來查看

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

Nmap腳本引擎NSE

也可以使用 -d [ 1-9 ] 切換調試模式,使用-d參數1-9,數字越大輸出信息越詳細

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

Nmap腳本引擎NSE

NSE常見腳本的應用

Nmap的基本功能只包括主機發現,端口掃描,操作系統和服務檢測功能,而NSE進一步實現了大量高級功能。

信息搜集類腳本

NSE中大量腳本實現了這個功能,這些腳本使用不同的技術完成了對目標的各種信息的搜集。利用腳本 http-methods查看目標服務器所支持的HTTP方法。
基于腳本http-methods的審計目的,web服務器需要支持HTTP方法,才能正確提供HTTP服務,常見的有以下幾種:

  • GET:請求指定的頁面信息
  • HEAD:獲取報頭
  • POST:向指定資源提交數據進行處理請求
  • PUT:從客戶端向服務器傳送的數據取代指定的文檔內容
  • DELETE:請求服務器刪除指定的頁面
  • OPTIONS:允許客戶端查看服務器的性能
  • TRACE:回顯服務器收到的請求

    目前HTTP的TRACE、CONNECT、PUT、DELETE方法可能是web服務器潛在的安全風險,尤其是服務器支持TRACE方法,有可能會遭到XSTGJ。將惡意代碼嵌入一臺已經被控制的主機的web文件中,當訪問者瀏覽時惡意代碼在瀏覽器執行,然后訪問者的cookie、HTTP基本驗證等信息會被傳到已被控制的主機,同時傳送Trace請求給目標服務器,導致cookie欺騙或中間人GJ。

高級主機發現類腳本

  1. 腳本broadcast-ping.NSE

    審計目的:發現本地網絡中的活躍主機
    審計方法:這個腳本向整個本地網絡中所有IP地址發送廣播包,以自己所在網絡為目標
    審計命令:

    nmap --script broadcast-ping

    審計結果:
    Nmap腳本引擎NSE

  2. 腳本 targets-sniffer

    審計目的:發現本地網絡中的活躍主機
    審計方法:這個腳本會對你的本地網絡進行嗅探,然后發現網絡中的所有主機,以自己所在網絡為目標
    審計命令:

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

    審計結果:
    Nmap腳本引擎NSE
    可以使用-e監聽網卡設備

密碼審計類腳本

網絡上提供的服務一般都具有一定的認證措施,目前應用最為廣泛的認證措施還是用戶名和密碼。這種認證措施的優勢在于簡單易行,而缺點在于很多用戶意識不到密碼強度的重要性,一般會選擇一些比較簡單容易記住的密碼,而這些密碼很容易被猜出來,因此網絡的管理者需要一個有效的工具來對自己網絡中各種服務的密碼強度進行審計。

  1. 腳本mysql-brute.NSE

    審計目的:發現網絡中弱口令的MySQL數據庫

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

    審計命令:

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

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

2.腳本smtp-brute.NSE

smtp-brute.NSE腳本用來檢測目標郵件服務器SMTP服務的密碼是否合規。

審計目的:郵件服務器中經常會存儲一些非常重要的信息,而對用戶進行認證的方式就是用戶和密碼,這里存在一些簡單的賬戶名和密碼,他們很容易成為被GJ的對象,因此需要先對服務器進行弱口令檢查。.

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

審計命令:

nmap -p 25 --script smtp-brute 192.168.0.1

審計結果:我這里沒有搭建smtp就不做演示了,有條件的可以自己試試

漏洞掃描類腳本

NSE腳本擴充漏洞掃描的功能,利用這些腳本,就可以使用Nmap對目標進行掃描。

1.腳本 http-slowloris.NSE

slowloris是一種GJ方法,原理是以極低的速度向服務器發送http請求。由于web server對于并發的連接數都有一個上限值,如果惡意連接不釋放,那么web server的所有連接都會被惡意連接占用,導致拒絕服務。

審計方法:使用http-slowloris腳本,向目標發送連接,并保持這個連接,構造了一個畸形的http請求,是一個不完整的http請求。
 審計命令:
nmap -p 80 --script http-slowloris --max-parallelism 300 www.xxx.com

審計結果:這里不做實驗,不要隨意對網站進行測試
審計拓展:我們可以通過調整http-slowloris.send_interval參數來改變掃描的過程。這個參數可以指定發送http header datas的間隔,默認為100,我們來修改一下

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

http-slowloris.timeklimit參數指定Dos持續運行時間,默認為30分鐘,我們修改為10分鐘

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

http-slowloris.runforever參數對指定目標一直發動DoSGJ。默認值為false

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

Nmap中還有一個http-slowloris-check.NSE的腳本,這個腳本不會發起DoS GJ,而是檢測目標是否具備抵抗DOS GJ的能力。

nmap -p 80 --script http-slowloris-check www.***.com
向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

曲松县| 黔西| 富川| 朝阳区| 华安县| 客服| 固始县| 盘山县| 阿拉尔市| 桂林市| 泽州县| 株洲县| 本溪市| 高唐县| 五家渠市| 靖安县| 北碚区| 兴和县| 九江市| 曲水县| 耿马| 兴安盟| 桓仁| 华阴市| 淳化县| 堆龙德庆县| 宝丰县| 罗源县| 灯塔市| 治多县| 新疆| 三穗县| 永寿县| 巩义市| 盐山县| 乌海市| 宜良县| 芜湖市| 宜川县| 济南市| 锦屏县|