Peter Zhang
7 min readOct 12, 2021

【滲透測試LAB】NMAP Part4,服務版本偵測&作業系統偵測(Service and Version Detection & OS Detection)

NMAP四項基本功能:

  1. 主機發現(Host Discovery)
  2. 端口掃描(Port Scanning)
  3. 版本偵測(Version Detection)-本篇要說明的
  4. 操作系統偵測(Operating System Detection)-本篇要說明的

在前幾篇提及了主機掃描(Host Discovery)與端口掃描(Port Scaning)等常用指令,來尋找目標端網域中的主機,再透過端口掃描尋找目標主機中的端口服務啟用狀態,進而獲取更多主機運作的資訊。

若能獲取主機端口所運行的軟體名稱以及版本資訊,有利於系統管理人員定及審查系統軟體安全性,以及滲透人員(好的或壞的XD)制定更完善的測試(入侵)計畫(?)。

1. Service and Version Detection

透過NMAP指令"-sV"可協助找出端口中所運行的服務版本。

範例:nmap -sS -sV -p- 10.0.2.5,下圖1所示。

圖1. The Results of Service and Version Detection (-sV)

2. OS Detection

透過NMAP指令”-O”可協助找出目標準主機的作業系統版本,這有利於系統管理人員掌握企業內部各項聯網之主機的系統版本,進而盤點或系統派送更新漏洞。反之,對於有意人士利用NMAP功能尋找企業系統的弱點,進而先行蒐集資料,最後執行相關攻擊計畫,以達到攻擊目的。

!!!注意,這邊指令是"-O",不是"-sO"。!!

範例:nmap -sS -O 10.0.2.5,下圖2與圖3所示。

圖2. using -O to execute OS Detection
圖3. The Results of OS Detection

3. How to combine Service and Version Detection with OS Detection

綜上提及的版本服務掃描檢測(Service and Version Detection)以及作業系統檢測(OS Detection)均是個別指令,分別依序為"-sV"與"-O"。

而NMAP提供"-A"指令,用於同時執行上述提及的這兩項服務。

範例:nmap -A -p- 10.0.2.5,下圖4與圖5所示。

圖4. using -A to execute Service and Version Detection and OS Detection
圖5. The Results of Service and Version Detection and OS Detection

4. How to output NMAP results

對於使用安全檢測工具進行系統檢測有非常多種類型與優劣勢,然後依據掃描或檢測結果產製報告,不斷地與內部同仁或跨單位溝通,肯定是需要有"數據"以及"有價值的資料(報告)",故NMAP內建有提供匯出(output NMAP results)功能。

本篇主要說明兩項匯出功能,分別為一般輸出格式(-oN)以及XML輸出格式(-oX)。

範例1:nmap -oN normal-results -p- 10.0.2.5,下圖6與圖7所示。

圖6. using -oN export report
圖7. normal-results file

範例2:nmap -oX myresults -p- 10.0.2.5,下圖8與圖9所示。

圖8. using -oX export report
圖9. myresults file

5. How to install Visual Studio Code on Kali

上述提及以" -oX"匯出XML格式一般檢視下較為混亂,故此可於Visual Studio Code (VSC)中檢視較為清楚,另一般匯出格式匯入至VSC檢視的也並無影響。

但Kali 2021目前為內建Visual Studio Code (VSC),故此提供簡易安裝步驟以及執行畫面如下:

步驟1.下載VSC

圖10.downloads pic

步驟2.進入安裝檔案所在的目錄 ,圖11為實際安裝過程指令。

步驟2.1 cd <VSC檔案的目錄>

步驟2.2 sudo dpkg -i <VSC安裝檔案全名>.deb

圖11. The process of install Visual Studio Code(VSC)

步驟3.開啟Visual Studio Code (VSC)

圖12. Open Visual Studio Code (VSC)

步驟4.開啟XML以及Normal格式檢視

XML格式於Visual Studio Code (VSC)中檢視

圖13. Open XML file

Normal格式於Visual Studio Code (VSC)中檢視

圖14. Open Normal file

綜上所述,為本篇服務版本偵測&作業系統偵測(Service and Version Detection & OS Detection) 資訊分享,本篇指令彙整至下表,供讀者查閱。

表1
Peter Zhang
Peter Zhang

Written by Peter Zhang

現任資安顧問,熱衷於資安治理、資安技術研究、Azure雲端安全技術、網路架構自動化、容器服務;曾任軟體業系統分析師,專注於資料庫規劃、API建置、使用者訪談、梳理業務流程、容器部屬與管理;跨國大型製造業資安管理師,專注於資安治理、DLP導入等資安技術應用,期望藉由分享自身學習與工作歷程經驗,讓我們在科技風潮下持續成長!