滲透測試-資訊收集之nmap
阿新 • • 發佈:2020-08-09
0x01 nmap介紹
Nmap是一個開源,免費的網路探測工具,可以用來探測存活主機以及開放的埠等,支援windows,linux,mac等多種作業系統。
nmap下載官網https://nmap.org/download.html
0x02 nmap常用功能
- 探測主機存活
- 掃描埠
- 探測主機作業系統資訊
- 檢測漏洞
0x03 nmap實戰
nmap 常用的幾個引數
nmap -v ip 顯示詳細的掃描過程 nmap -p ip 掃描指定埠 nmap -A ip 全面掃描作業系統 nmap -sP ip 進行ping掃描主機存活 nmap -Pn/-P0 ip 禁ping掃描 nmap -sS ip 進行tcp syn掃描 也叫半開放掃描 nmap -sT ip 進行tcp連線掃描 (準確性高)
埠狀態資訊
open :埠開啟
closed :埠關閉
filtered :埠被過濾,因為報文被防火牆攔截
Unfiltered :不確定埠是否開放 沒有被過濾
open|filtered(closed|filtered) :不能確定埠是否開放(關閉)或者被過濾
0x04 nmap中文說明文件
TARGET SPECIFICATION 目標說明 -iL 從主機地址列表檔案中匯入掃描地址 -iR 隨機選擇目標進行掃描,unm hosts 表示數目,設定為0則無休止掃描 --exclude 排除某個主機地址 --excludefile 排除主機列表檔案中的地址 ************************************************************* HOST DISCOVERY 主機發現 -sL 列表掃描,僅將指定的目標IP列舉出來,不進行主機發現 -sn 和-sP一樣,只利用ping掃描進行主機發現,不掃描目標主機的埠 -Pn 將所有指定的主機視為已開啟狀態,跳過主機發現過程 -PS TCP SYN ping ,傳送一個設定了SYN標誌位的TCP報文,預設埠為80,也可指定埠 -PA TCP ACK ping,傳送一個設定了ACK標誌位的TCP報文,預設埠為80,也可指定帶你看 -PU UDP ping ,傳送一個空的UDP報文到指定埠,可穿透只過濾TCp的防火牆 -P0 使用IP協議ping -PR 使用ARP ping -n/-R -n不用域名解析,加速掃描,-R為目標IP做為反向解析域名,掃描較慢一些 -dns-servers 自定義域名解析伺服器地址 -traceroute 目標主機路由追蹤 ************************************************************* SCAN TECHNIQUER 埠掃描 nmap 將目標埠分為6種狀態: open(開放的) closed(關閉的) filtered (被過濾的) unfiltered (未被過濾的)可訪問但不確定開發情況 open|filtered (開放或者被過濾)無法確定埠是否開放的還是被過濾的 closed|filtered (關閉或者被過濾)無法確定埠是否關閉還是被過濾的 nmap產生的結果基於目標機器的響應報文的,而這些主機肯能是不可信任的。會產生迷惑或者誤導nmap的報文 -sS TCP SYN 掃描,不進行ping 半開放掃描,速度快隱蔽性好(不完成TCP連線),能夠明確區分埠狀態 -sT TCP 連線掃描,容易產生記錄,效率低 -sA TCP ACK掃描,只設置ACK標誌位,區別被過濾與未被過濾的 -sU UDP 服務掃描,例如DNS/DHCP等,效率低 -sN;-sF;-sX TCP Null,Fin,Xmas掃描,從RFC挖掘的微妙方法來區分開放關閉埠 -sl 利用殭屍主機上已知IP分段ID序列生成演算法來探測目標上開放埠的資訊,極端隱蔽 -sO IP協議掃描,可以確定目標主機支援哪些IP協議,例如TCP/ICMP等 ************************************************************************ PORT SPECIFICATION AND SCAN ORDER 埠說明和掃描順序 -p 指定掃描的埠,可以是單個埠,也可以是埠範圍,可以指定UDP或TCP協議掃描特定埠 -p<name> 指定掃描的協議,例如-p http 即可掃描http協議的埠狀態 --exclude-ports 排除指定埠不掃描 -F 極速模式,僅掃描100個常用埠 ************************************************************************ SERVICE/VERSION DETECTION 服務與版本探測。 Nmap-services 包含大量服務的資料庫,Nmap通過查詢該資料庫可以報告哪些埠可能對應於掃描服務,但不一定正確 -sV 進行服務版本探測 --version-intensity<level> 設定版本掃描強度,範圍為0-9,預設是7,強度越高,時間越長,服務越可能被正確識別 ************************************************************************ SCRIPT SCAN 指令碼掃描 允許使用者自己編寫的指令碼來執行自動化的操作或者擴充套件nmap的功能,使用Lua指令碼語言。 -sC 使用預設類別的指令碼進行掃描 --script=<Lua scripts> 使用某個或某類指令碼進行掃描,支援統配符描述 ************************************************************************ OS DETECTION 作業系統探測 用TCP/IP協議棧fingerprinting進行探測,Nmap傳送一系列TCP和UDP報文到遠端主機,檢查響應的每一個位元。測試後Nmap吧結果和資料庫中超過1500個已知的fingerprints比較,如匹配則輸出結果 -O 啟用作業系統探測 -A 同時啟用作業系統探測和服務版本探測 --osscan-limit 針對指定的目標進行作業系統檢測 --osscan-guess 當nmap無法確定所檢測的作業系統時,會盡可能地提供相近的匹配 ************************************************************************ TIMING AND PERFORMANCE 時間和效能 Nmap開發的最高優先順序是效能,但實際應用中很多因素會新增掃描時間,比如特定的掃描選項,防火牆配置以及版本掃描等 -T<0-5> 設定模板級數,在0-5中選擇。T0、T1用於IDS規避,T2降低了掃描速度以使用更少的頻寬和資源。預設為T3,未作任何優化。T4假設具有合適及可靠的網路從而加速掃描。T5假設具有特別快的網路或者願為速度犧牲準確性 -host-timeout<time> 放棄低速目標主機,時間單位為毫秒 掃描漏洞 nmap --script=vuln ip 3、提供暴力破解的方式,可對資料庫、smb、snmp等進行簡單密碼的暴力猜解 nmap --script=brute 192.168.88.131 4、利用FTP指定指令碼對目標特定FTP協議進行密碼爆破 nmap --script=ftp-brute.nse 192.168.88.131 5、利用第三方的資料庫或資源,例如進行whoise解析 nmap --script=external 192.168.88.131