網路掃描與探測工具-Nmap簡介

NEITHNET 情資分享

NEITHNET 資安實驗室

  Nmap(Network Mapper)是一款Open source的網路掃描與探測工具,通常會用來列舉網路主機、查看主機port及服務執行狀況、偵測機器作業系統版本和偵測服務版本。

  最簡易的掃描方法是利用A參數全面掃描,根據狀況也可以只掃部分port或是使用ping掃描等等,根據不同需求使用不同參數。而基本掃描只會掃最常用的1000個port,假如想要全部port都掃描,需要自行加入指令p後方接1-65535。

  舉個例子,使用最基本的掃瞄,如下圖,使用了A 與T4,代表全面掃描加上設置等級4的timing template,全面性掃描裡包含了基本的script檢查,因此會顯示port、服務名稱及版本、服務相關資訊、主機OS版本猜測與traceroute狀況。

  假如遇到主機明明開著,但利用A掃描不到,就代表有一些原因造成機器不通,例如機器無法利用ping查詢,那就可以改成利用Pn進行掃描,如下面兩張圖。前述的方法無法掃到機器,但換個方式就可以掃到了,因此需要根據機器實際狀況去改變參數。

  最基本的掃描容易遇到的狀況是,執行掃描之後port無法被得知有無開啟,port狀態有六種open、closed、filtered、unfiltered、open|filtered、closed|filtered,其代表的意義如下:

   • open:開啟
   • close:關閉
   • filtered:被防火牆或其他網路設備阻止利用nmap得知port有沒有開啟
   • unfiltered:可以訪問(accessible),但無法得知port是開啟或關閉
   • open|filtered和closed|filtered:代表nmap被過濾,因此無法判斷,但nmap認為是比較接近open|filtered或closed|filtered。

  假如遇到和filtered相關可以利用其他掃描參數,例如sS、sA、f (分段掃描)等其它參數來改變偵測方式,以查看更多偵測結果,總結後再下判斷。

  除了nmap提供的掃瞄port方式之外,nmap還提供了NSE script可以使用,也有提供架構可以自己撰寫,網路上也有許多人會提供nse檔案。

  NSE script總共分成4種類別、14種類型:

   • 繞過 : auth
   • 攻擊 : brute、dos、exploit、fuzzer、intrusive
   • 情資 : broadcast、default、discovery、external、version、safe
   • 漏洞偵測 : malware、vuln

  使用A全面性掃描其實就已包含了基本的script使用,假如想單獨使用基本script,可以使用sC參數,如下圖,即可以搭配Pn取得機器狀況和服務的基本資訊。

  以上是nmap簡易的掃描範例,可用來取得電腦基本資訊,並且可以大量掃描,也利用oA等參數便於留存分析,會產生三個檔案.xml, .nmap, .gnmap。

  參考資料
    https://nmap.org/
    https://nmap.org/book/man-port-scanning-basics.html

更多資安訊息及防護策略,歡迎與NEITHNET資安專家聯繫:info@neithnet.com

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。