天天看點

滲透測試技術----工具使用(一)--nmap(masscan結合nmap使用)

一、nmap簡介

1.nmap介紹

Nmap(Network Mapper)網絡映射器是一款開放源代碼的網絡探測和安全稽核工具。它被設計用來快速掃描大型網絡,包括主機探測與發現、開放的端口情況、作業系統與應用服務指紋識别、WAF識别及常見安全漏洞。而且具有圖形化界面Zenmap。

2.nmap特點

(1):主機探測:探測網絡上的主機,如列出響應的TCP和ICMP請求、ICMP請求、開放特别端口的主機

(2):端口掃描:探測目标主機所開發的端口

(3):版本檢測:探測目标主機的網絡服務,判斷其服務名稱及版本号

(3):系統檢測:探測目标主機的作業系統及網絡裝置的硬體特性

(4):支援探測腳本的編寫:使用nmap的腳本引擎(NSE)和Lua程式設計語言

二、nmap參數詳解

1.查找幫助

(1): -help/h:使用這個參數來檢視幫助,因為不可能将所有的參數都記住,是以學會檢視幫助很重要
滲透測試技術----工具使用(一)--nmap(masscan結合nmap使用)

2.nmap所有參數詳解(按照幫助資訊的參數順序)

加粗的是相對重要的參數,使用頻率比較高!!!

(1):掃描目标時用到的相關參數
  • -iL:從檔案中導入目标主機或目标網段
  • -IR:随機選擇目标主機
  • –exclude:後面跟的主機或網段不在掃描範圍内
  • –excludefile:導入檔案中的主機或網段将不再掃描範圍内
(2):與主機發現有相關的參數
  • -sL:List Scan(清單掃描),僅列舉指定目标的IP,不進行主機發現
  • -sn:Ping Scan,隻進行主機發現,不進行端口掃描
  • -Pn:将所有指定的主機視為已開啟,跳過主機發現的過程。這個參數适用于已經确定了存活的主機,需要對存活主機進行端口掃描時使用,這樣可以跳過主機發現,進而加快掃描
  • -PS/PA/PU/PY(P代表portlist):通過發送TCP SYN/ACK或SCTP INIT/ECHO資料包的方式來發現主機
  • -PE/PP/PM:通過發送ICMP echo/timestamp/netmask請求包的方式來發現主機
  • -PO:使用IP協定包探測對方主機是否開啟
  • -n/-R:-n表示不進行DNS解析;-R表示總是進行DNS解析
  • –dns-server:指定DNS伺服器
  • –system-dns:指定使用系統的DNS伺服器
  • –traceroute:追蹤每個路由節點
(3):與端口掃描相關的參數
  • -sS/sT/sA:指定使用TCP SYN/Connect()/ACK的方式對目标主機進行掃描。

    -sS:半連接配接掃描,發送SYN資料包,不會在對方主機日志中進行記錄

    -sT:全連接配接掃描,進行三次握手,會在對方主機日志中進行記錄

    -sA:半連接配接掃描,發送ACK資料包,不會在對方主機日志中進行記錄

  • -/sW/sM:指定使用Window/Mainon scans的方式對目标主機進行掃描
  • -sU:指定使用UDP掃描的方式确定目标主機的UDP端口狀況

    使用UDP端口一般是用來判斷端口關閉的情況,如果主機存活并且端口開啟,那麼不會收到回複的資料包,但是如果主機存活但是端口關閉,會收到一個端口不可達的資訊(通常也被用來判斷主機是否存活,收到端口不可達說明主機一定存活)

  • -sN/sF/sX:指定使用TCP Null/FIN/Xmas scans秘密掃描的方式協助探測對方的TCP端口狀态
  • –scanflags:定制TCP包的flags
  • -sI:指定使用僵屍主機的方式掃描目标主機(前提是找到合适的僵屍主機)
  • -sY/sZ:使用SCTP INIT/COOKIE-ECHO掃描SCTP協定端口的開放情況
  • -sO:使用IP協定掃描确定目标主機支援的協定類型
  • -b:使用FTP bounce scan掃描方式
(4):與端口參數和掃描順序設定相關的參數
  • -p:指定要掃描的端口号或者端口清單
  • -F:Fast mode(快速模式),僅掃描前100個端口
  • -r:不進行端口随機打亂的操作(nmap掃描的端口順序是以随機的方式進行的,這是為了讓nmap的掃描不被對方防火牆檢測到)
  • –top-ports:掃描開放端口最高的number個端口
  • -p-:掃描所有端口
  • –port-radio:掃描指定頻率以上的端口
(5):與版本偵測相關的參數
  • -sV:掃描開放的端口所對應服務的版本
  • –version-intensity:指定偵測版本的強度(0-9),預設為7,數值越大,探測服務越詳細,探測時間也越長
  • –version-light:指定使用輕量級偵測方式(initensity=2)
  • –version-all:指定使用probes偵測方式(initensity=9)
  • –version-trace:顯示出詳細的版本偵測資訊
(6):與作業系統相關的參數
  • -O:掃描目标主機的作業系統
(7):與腳本有關的參數(腳本位于/usr/share/nmap/scripts)
  • –script=來指明腳本進行掃描

三、nmap常用方法

(1):掃描單個主機
滲透測試技術----工具使用(一)--nmap(masscan結合nmap使用)

(2):掃描多個目标主機

方法一:

滲透測試技術----工具使用(一)--nmap(masscan結合nmap使用)
方法二:
滲透測試技術----工具使用(一)--nmap(masscan結合nmap使用)
(3):掃描一個C段網絡
滲透測試技術----工具使用(一)--nmap(masscan結合nmap使用)

(4):掃描清單中的目标主機的IP

檔案内容如下

滲透測試技術----工具使用(一)--nmap(masscan結合nmap使用)
掃描結果如下
滲透測試技術----工具使用(一)--nmap(masscan結合nmap使用)
(5):隻進行主機發現,不進行端口掃描
滲透測試技術----工具使用(一)--nmap(masscan結合nmap使用)

(6):進行僵屍掃描

nmap -sI 僵屍主機IP 目标主機IP

滲透測試技術----工具使用(一)--nmap(masscan結合nmap使用)

(7):對指定端口進行掃描

方法一:指定單個端口

滲透測試技術----工具使用(一)--nmap(masscan結合nmap使用)
方法二;指定多個連續的端口
滲透測試技術----工具使用(一)--nmap(masscan結合nmap使用)
方法三:掃描多個不連續的端口
滲透測試技術----工具使用(一)--nmap(masscan結合nmap使用)
(8):掃描開放端口對應的服務版本
滲透測試技術----工具使用(一)--nmap(masscan結合nmap使用)
(9):掃描目标主機對應的作業系統
滲透測試技術----工具使用(一)--nmap(masscan結合nmap使用)
(10):使用腳本探測一個主機是否為可用的僵屍主機
滲透測試技術----工具使用(一)--nmap(masscan結合nmap使用)

四、masscan

1.為什麼引入masscan

首先,為什麼會在此引入masscan?這是因為在某些安全服務公司面試時會提問關于nmap和masscan的差別,masscan最大的優點就是掃描速度快。通常是将兩者結合起來使用。

2.masscan簡介

masscan号稱是世界上最快的掃描軟體,可以在3分鐘内掃描整個網際網路上的所有端口。

masscan相比nmap之是以快很多,那是因為masscan采用了異步傳輸方式,無狀态的掃描方式。而nmap需要記錄tcp/ip的狀态,OS能夠處理的TCP/IP連接配接最多為1500左右。

3.masscan原理

masscan與目标主機不建立完整的TCP連接配接,掃描者主機先向目标主機發送一個SYN請求連接配接資料包,目标主機會向掃描者主機回複一個SYN/ACK确認連接配接資料包,當掃描者主機收到目标主機發送回來的SYN/ACK确認連接配接資料包之後,掃描者主機向目标主機發送RST結束連接配接。選項–banners除外(因為要擷取banner資訊,必須要進行完整的三次握手)。

4.masscan掃描方法

masscan IP位址 -p 端口号

滲透測試技術----工具使用(一)--nmap(masscan結合nmap使用)

5.masscan與nmap結合

一般情況下,可以先使用masscan對目标IP(通常是一個網段)進行全端口掃描,然後再使用nmap對存活主機的開放端口進行掃描,找出對應端口的服務存在的漏洞等待,再進行更深一步的滲透測試。使用masscan對目标IP進行掃描的原因就是因為其速度快于nmap。

繼續閱讀