網路偵察與弱點偵測 NMAP 常用指令
掃描特定網段
掃描特定 IP | nmap 192.168.1.1 |
掃描特定主機 | nmap www.testhostname.com |
掃描網段範圍 | nmap 192.168.1.1-20 |
掃描網域 | nmap 192.168.1.0/24 |
透過檔案來源掃描 | nmap -iL list-of-ips.txt |
Port掃描
掃描特定 port | nmap -p 80 192.168.1.1 |
掃描 port 範圍 | nmap -p 1-100 192.168.1.1 |
Fast掃描常用 port | nmap -F 192.168.1.1 |
掃描所有的 65535 ports | nmap -p- 192.168.1.1 |
Port掃描類型
TCP connect | nmap -sT 192.168.1.1 |
TCP SYN scan (default) | nmap -sS 192.168.1.1 |
Scan UDP ports | nmap -sU -p 123,161,162 192.168.1.1 |
Scan selected ports – ignore discovery有 Firewall時的掃描 | nmap -Pn -F 192.168.1.1 |
判別服務與作業系統
偵測作業系統與服務 | nmap -A 192.168.1.1 |
常見的服務掃描 | nmap -sV 192.168.1.1 |
積極的服務掃瞄(剛該服務執行在非常用 port時) | nmap -sV –version-intensity 5 192.168.1.1 |
擷取回應的訊息 | nmap -sV –version-intensity 0 192.168.1.1 |
Nmap 結果輸出
結果輸出到 outputfile.txt | nmap -oN outputfile.txt 192.168.1.1 |
儲存到XML | nmap -oX outputfile.xml 192.168.1.1 |
nmap -oG outputfile.txt 192.168.1.1 | |
nmap -oA outputfile 192.168.1.1 |
使用NSE Scripts
為什麼要額外使用 NSE Scripts嗎?
NSE 可以像是 NMAP的額外套件模組,增加 NSE Scripts 後,
可以讓 NMAP 變成特定的弱點安全測試攻擊工具,(例如 XSS, CSRF, SQL injection, SSL heatbleed測試等)
使用範例如下:
nmap -sV -sC 192.168.1.1 | |
使用 ssl-heatbleed的說明 | nmap –script-help=ssl-heartbleed |
測試 SSL heatbleed | nmap -sV -p 443 –script=ssl-heartbleed.nse 192.168.1.1 |
測試 smb* 等地 NSE scripts | nmap -sV –script=smb* 192.168.1.1 |
另外,NSE 有支援那些 scripts呢?
可以參考如下,https://nmap.org/nsedoc/
HTTP服務
收集 HTTP title 資訊 | nmap –script=http-title 192.168.1.0/24 |
HTTP headers 資訊 | nmap –script=http-headers 192.168.1.0/24 |
從特定 http 路徑收集資訊 | nmap –script=http-enum 192.168.1.0/24 |
偵測 HTTS/SSL Heartbleed SSL Vulnerability
透過 “ssl-heartbleed” 這個 NSE 的套件,也可以讓 NMAP 變身成為 SSL 測試工具
Heartbleed 弱點測試 | nmap -sV -p 443 –script=ssl-heartbleed 192.168.1.0/24 |