使用nmap 驗證多種漏洞

0x00 前言mysql

     你們都知道在平時的漏掃中,AWVSAPPSCANNetsparkwebspectort等漏掃工具掃描出來的漏洞問題每每存在誤報,這時咱們就須要進行人工手動驗證漏洞,這裏咱們有兩種思路:web

一是在漏洞工具中,進行屢次的重複測試,AWVS、APPSCAN、Netspark、webspectort中都有重複測試漏洞問題的功能),將得出的屢次結果進行分析和統計,確認漏洞是否存在。算法

二是對於特定的漏洞,例如Java反序列漏 洞、struts2 各類漏洞、openssl、httpd遠程拒絕服務、IIS短文件名、各類應用軟件版本低等等,咱們只能使用特定的工具或者結合多種方式進行驗證。本文基 於第二種方式,主要使用了nmap 的腳本功能進行漏洞驗證sql

0x01 nmap 的介紹數據庫

     Nmap是一個網絡鏈接端掃描軟件,用來掃描網上電腦開放的網絡鏈接端。肯定哪些服務運行在哪些鏈接端,而且推斷計算機運行哪一個操做系統(這 是亦稱 fingerprinting)。它是網絡管理員必用的軟件之一,以及用以評估網絡系統安全。安全

      在長達3.5年以後,Fyodor終於發佈了著名開源網絡檢索工具的最新版本Nmap7。Nmap是最受歡迎的開源網絡映射器之一此外,Nmap7這款自動化的掃描器能 夠輕易檢測到Heartbleed、POODLE、FREAK等嚴重漏洞。Nmap7中對ssl-enum-ciphers(SSL枚舉密碼)腳本替換了 新的實現算法,使得它可以經過枚舉SSL/TLS協議版本和密碼套件來快速分析TLS鏈接,它還可以迅速識別部署問題。另外,使用Nmap7可以輕易發現 包含漏洞的服務器,Nmap7中包含了對提速和掃描實現的改進。這個工具的新版本包括一個更新、更快的Nmap腳本引擎(Nmap Scripting Engine,NSE),同時它還容許用戶編寫Lua腳本。服務器

0x02 使用nmap 檢測多種漏洞網絡

      因爲常見的漏洞問題很是多,本文主要介紹漏洞掃描和滲透測試中會常常遇到的一些漏洞,而且嘗試使用namp 對這些被掃描工具掃描出來的漏洞進行人工手動驗證,這些僅是命令,至於如何根據出現的結果進行判斷是否有漏洞,這個在結果中很容易看出,例如出現 vulnerable-有漏洞; not vulnerable-無漏洞。  有結果出來-有漏洞;無結果出來-無漏洞,日後在其餘測試中,只須要將scanme.nmap.org 替換成帶驗證的目標IP 或者網站。ssh

1 http 拒絕服務wordpress

nmap --max-parallelism 800--script http-slowloris scanme.nmap.org

 

2 IIS 短文件泄露

nmap -p 8080 --script http-iis-short-name-brute 61.142.64.176

 

3 ftp弱口令暴力破解

nmap --script ftp-brute --script-args brute.emptypass=true,ftp-brute.timeout=30,userdb=/root/dirtionary/usernames.txt,brute.useraspass=true,passdb=/root/dirtionary/passwords.txt,brute.threads=3,brute.delay=6 203.195.139.153

 

4 檢測CVE-2011-2523中的ftp-vsftpd-backdoor

nmap -T2 --script ftp-vsftpd-backdoor 211.139.201.240

5 驗證http中開啓的-methods 方法

nmap -T3 --script http-methods --script-args http.test-all=true,http.url-path=/ www.haoshangjia.com

6 驗證HTTP.sys 遠程代碼執行

nmap -sV --script http-vuln-cve2015-1635 203.195.139.153

 

7驗證 SSL POODLE information leak

 nmap -sV -p 443 --version-light --script ssl-poodle 218.19.141.16

 

8 驗證http 中開啓了put 方法

nmap --script http-put --script-args http-put.url=/uploads/testput.txt,http-put.file=/root/put.txt 218.19.141.16

9 驗證mysql 匿名訪問

nmap --script mysql-empty-password 203.195.139.153

 

10 驗證cve2015-1427 漏洞
nmap --script http-vuln-cve2015-1427 --script-args command=ls 203.195.139.153

11 驗證cve2014-8877漏洞
nmap -Pn --script http-vuln-cve2014-8877 --script-args http-vuln-cve2014-8877.cmd=dir,http-vuln-cve2014-8877.uri=/wordpress 42.96.170.128

12 驗證Cisco ASA中的CVE-2014-2126,CVE-2014-2127,CVE-2014-21,CVE-2014-2129漏洞

nmap -p 443 --script http-vuln-cve2014-2126,http-vuln-cve2014-2127,http-vuln-cve2014-2128,http-vuln-cve2014-2129 203.195.139.153

13驗證低安全的 SSHv1sslv2協議

nmap --script sshv1,sslv2 www.haoshangjia.com

14 驗證CVE-2014-0224 ssl-ccs-injection
nmap -Pn --script ssl-ccs-injection 203.195.139.153

15 驗證ssl-cert證書問題

nmap -v -v --script ssl-cert 203.195.139.153

16驗證SSL證書的有限期

nmap -Pn --script ssl-date www.haoshangjia.com

17 驗證CVE-2014-0160 OpenSSL Heartbleed bug

nmap -p 443 --script ssl-heartbleed,ssl-known-key 203.195.139.153

18 驗證 Debian OpenSSL keys

nmap -p 443 --script ssl-known-key 203.195.139.153

19 驗證弱加密SSL套件

nmap --script ssl-enum-ciphers 203.195.139.153

 

20 驗證CVE 2015-4000

nmap --script ssl-dh-params www.haoshangjia.com

21 驗證多種SSL漏洞問題

nmap 203.195.139.153 --vv --script sshv1,ssl-ccs-injection,ssl-cert,ssl-date,ssl-dh-params,ssl-enum-ciphers,ssl-google-cert-catalog,ssl-heartbleed,ssl-known-key,sslv2

22 在網絡中檢測某主機是否存在竊聽他人流量

nmap --script sniffer-detect 10.10.167.5

23 暴力破解telnet

nmap -p 23 --script telnet-brute --script-args userdb=myusers.lst,passdb=mypwds.lst --script-args telnet-brute.timeout=8s 203.195.139.153

24 驗證telnet是否支持加密

nmap --script telnet-encryption 203.195.139.153 

25 精準地確認端口上運行的服務

nmap -sV --script unusual-port 42.96.170.128


26 收集VNC信息

nmap --script vnc-info  203.195.139.153

27 暴力破解VNC

nmap --script vnc-brute --script-args brute.guesses=6,brute.emptypass=true,userdb=/root/dictionary/user.txt,brute.useraspass=true,passdb=/root/dictionary/pass.txt,brute.retries=3,brute.threads=2,brute.delay=3 42.96.170.128

#這個腳本挺長的,不少詳細的參數,請參閱腳本的具體參數。

0x03 使用系列的nmap NSE 進行檢查

#nmap腳本主要分爲如下幾類,在掃描時可根據須要設置--script=類別這種方式進行比較籠統的掃描:
auth: 負責處理鑑權證書(繞開鑑權)的腳本 
broadcast: 在局域網內探查更多服務開啓情況,如dhcp/dns/sqlserver等服務  
brute: 提供暴力破解方式,針對常見的應用如http/snmp等  
default: 使用-sC或-A選項掃描時候默認的腳本,提供基本腳本掃描能力  
discovery: 對網絡進行更多的信息,如SMB枚舉、SNMP查詢等  
dos: 用於進行拒絕服務攻擊  
exploit: 利用已知的漏洞入侵系統  
external: 利用第三方的數據庫或資源,例如進行whois解析  
fuzzer: 模糊測試的腳本,發送異常的包到目標機,探測出潛在漏洞 
intrusive: 入侵性的腳本,此類腳本可能引起對方的IDS/IPS的記錄或屏蔽  
malware: 探測目標機是否感染了病毒、開啓了後門等信息  
safe: 此類與intrusive相反,屬於安全性腳本  
version: 負責加強服務與版本掃描(Version Detection)功能的腳本  
vuln: 負責檢查目標機是否有常見的漏洞(Vulnerability)

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Nmap提供的腳本命令行參數以下:
-sC: 等價於--script=default,使用默認類別的腳本進行掃描。    
--script=<Lua scripts>: <Lua scripts>使用某個或某類腳本進行掃描,支持通配符描述   
--script-args=<n1=v1,[n2=v2,...]>: 爲腳本提供默認參數   
--script-args-file=filename: 使用文件來爲腳本提供參數   
--script-trace: 顯示腳本執行過程當中發送與接收的數據   
--script-updatedb: 更新腳本數據庫   
--script-help=<Lua scripts>: 顯示腳本的幫助信息,其中<Lua scripts>部分能夠逗號分隔的文件或腳本類別。

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------

1 使用nmap對某主機進行一系列的證書鑑權檢查

nmap --script auth 203.195.139.153

使用nmap在局域網內探查更多服務開啓狀況

nmap --script broadcast 10.10.167.6

使用nmap 對常見的服務進行暴力破解

nmap --script brute 203.195.139.153

4 使用nmap 進行基本的掃描

nmap --script default 203.195.139.153

#nmap --sC 203.195.139.153

5 使用nmap 進行信息挖掘

nmap --script discovery 203.195.139.153

6 使用nmap 進行拒絕服務攻擊

nmap --script dos 203.195.139.153

7 使用nmap 利用已知的漏洞入侵系統

nmap --script exploit 203.195.139.153

8 使用nmap 進行利用第三方的數據庫或資源進行信息收集或者攻擊

nmap --script external 203.195.139.153

9 使用nmap 進行模糊測試,發送異常的包到目標機,探測出潛在漏洞 

nmap --script fuzzer 203.195.139.153

10 使用nmap 進行入侵,此類腳本可能引起對方的IDS/IPS的記錄或屏蔽

nmap --script intrusive 203.195.139.153

11 使用nmap 探測目標機是否感染了病毒、開啓了後門等信息

nmap --script malware 203.195.139.153

12 使用nmap 對系統進行安全檢查

nmap --script safe 203.195.139.153

13 使用nmap 對目標機進行檢查是否存在常見的漏洞

nmap --script vuln 203.195.139.153

14 使用nmap 負責加強服務與版本掃描(Version Detection)功能的腳本

nmap --script version 203.195.139.153

 

0x04 如何新建一個nmap 腳本掃描

至於如何使用nmap中腳本,本文建議,在nmap的圖形化界面zenmap 中進行:

1 在zenmap 界面中,依次點擊「profile」---"New Profile or Command"  (快捷鍵:Ctrl + P)

2 完成步驟1後,便會彈出了「 Profile Editor" 界面:

3 而後點擊」 Scripting「 ,將會顯示下面的界面:

左側---腳本的名稱,點擊勾選該腳本名稱前面的小方框,便可使用該腳本;下拉選擇其餘腳本。

中上方框---腳本的名稱、使用情景、使用格式、參考結果;中下框---設置腳本的各類參數。

右側的大方框------每當點擊中下框的某個參數時,此處便會顯示那個腳本參數的說明。

4 當選定了XXX腳本後,必定要點擊右框下的」 Save Changes" .

5 完成上面的步驟後,咱們回到zenmap的主界面,

 

0x05 結論

       本文首先介紹使用nmap的基本背景和知識,對它有個基本全面的瞭解;而後詳細說明了在使用nmap 進行驗證多種常見漏洞,這些漏洞驗證都是咱們在漏掃和滲透測試中常常見到的;接着咱們介紹使用一組nmap腳本進行基線檢查,簡單批量地使用一系列的腳本 對系統進行信息收集和漏洞檢測;最後咱們詳細介紹瞭如何使用新建和使用一個nmap 的腳本,幫助讀者本身獨立使用NSE。

        咱們在使用nmap的時候每每忽視它最強大的NSE腳本掃描功能,其實這個龐大的腳本集合可以幫助咱們進行網絡鏈接故障診斷、網絡流量路徑分析、服務器的開放狀況和運行狀況,甚至還能用來進行端口滲透。在滲透測試中,好好利用nmap及其NSE腳本,每每有意想不到的收穫。

相關文章
相關標籤/搜索