NMAP 識別作業系統與服務

 NMAP 識別作業系統與服務


當確定某 IP 掃描結果有開啟相關服務 Port 後就可以針對該 IP 進行界街的主機掃描

參數 -O (大寫) : 針對特定主機相關 Port 與主機左頁系統掃描判斷

指令 : sudo nmap -O 10.10.10.16

相關開啟的 Port 掃描與判定該 Port 基本是哪一種服務



最後還會列出該 IP 掃描結果判定是哪一種作業系統
可以看到顯示掃描的主機是 Windows 2016



nmap 掃描結果判定目標主機的作業系統是透過 nmap-os-db 這個檔案中的指紋碼來比對
可以查看檔案內容如下 cat /usr/share/nmap/nmap-is-db





若要明確識別相關 Port 上的服務名稱與版本可以使用參數 -sV

指令 : sudo nmap -sV 10.10.10.16

可以看到每個開啟的服務 Port 與該服務是甚麼與版本資訊



針對特定服務進行辨識,例如針對 UDP 161 SNMP 識別

指令 : sudo nmap -sU -sV -p 161 10.10.10.16

可以明確看到是 SNMPv1 版本


另外可以加上參數 -sC 詳細列出 snmp 掃描的結果

指令 : sudo nmap -sU -sVC -p 161 10.10.10.16

如下可以看到 IP 網卡詳細資訊與 MAC



以及該主機上所有 Listen 的 Port


每個 Port 上面執行的程式檔與路徑


以及現在這一台主機上面所啟動的相關服務


以及這一台主機上面所有安裝的軟體與版本資訊



最後最重要的是這一台主機上所有的帳號



針對 445 Port 進行詳細列舉

指令 : sudo nmap -sV -sC -p 445 10.10.10.16



nmap 上支援多種的 script,詳細需要一一學習,這裡使用 smb 列舉作業系統的 script

指令 : sudo nmap -sV -sC -p 445 10.10.10.16 --script smb-os-discovery

結果針對該 script 列舉的內容輸入


相關 script 位於此路徑下 /usr/share/nmap/scripts/* 如下


查看上述使用的 smb-os-discovery 內容如下,定義了 output 的顯示結果


另外上述 snmp 可以列出使用者也是透過 script 來顯示

查看所有 snmp 支援的 script 可以看到有一個 snmp-win32-user.nse 如下圖



透過 snmp 服務快速列舉主機使用者指令如下

指令 : sudo nmap -sU -sV -sC -p 161 10.10.10.16 --script snmp-win32-users



 



留言

這個網誌中的熱門文章

Challenge 0 - Secura(2)

Challenge 0 - Secura(1)

Challenge 8 - Poseidon(0)