您好,登錄后才能下訂單哦!
Nmap如何快速上手,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
https://nmap.org/,不做過多贅述
本文使用靶機為OWASP Broken Web Applications Project
https://sourceforge.net/projects/owaspbwa/
靶機地址1:192.168.154.128
靶機地址2:192.168.3.7
C:\Users\Torjan>nmap --helpNmap 7.80 ( https://nmap.org )Usage: nmap [Scan Type(s)] [Options] {target specification}TARGET SPECIFICATION:Can pass hostnames, IP addresses, networks, etc.Ex: scanme.nmap.org, microsoft.com/24, 192.168.0.1; 10.0.0-255.1-254-iL: Input from list of hosts/networks,"從文件中導入目標主機或目標網段"-iR: Choose random targets,"隨機選擇目標主機"--exclude: Exclude hosts/networks,"后面跟的主機或網段將不在掃描范圍內"--excludefile: Exclude list from file,"后面跟的文件中的主機或網段將不在掃描范圍內HOST DISCOVERY:["主機發現"]-sL:List Scan,"List Scan(列表掃描),僅列舉指定目標的IP,不進行主機發現"-sn: Ping Scan - disable port scan,"Ping Scan,只進行主機發現,不進行端口掃描" -Pn: Treat all hosts as online -- skip host discovery,"將所有指定的主機視作已開啟,跳過主機發現的過程。"-PS/PA/PU/PY[portlist]: TCP SYN/ACK, UDP or SCTP discovery to given ports,"使用 TCP SYN/ACk或SCTP INIT/ECHO方式來發現。"-PE/PP/PM: ICMP echo, timestamp, and netmask request discovery probes,"使用 ICMP echo、 timestamp、 netmask請求包發現主機"-PO[protocol list]: IP Protocol Ping,"使用IP協議包探測對方主機是否開啟。"-n/-R: Never do DNS resolution/Always resolve [default: sometimes],"-n表示不進行DNS解析;-R表示總是進行DNS解析。"--dns-servers: Specify custom DNS servers,"指定DNS服務器。"--system-dns: Use OS s DNS resolver,"指定使用系統的DNS服務器。"--traceroute: Trace hop path to each host,"追蹤每個路由節點。SCAN TECHNIQUES:["掃描參數"]-sS/sT/sA/sW/sM: TCP SYN/Connect()/ACK/Window/Maimon scans,"指定使用 TCP SYN/Connect()/Ack/Window/Maimon scans的方式對目標主機進行掃描。"-sU: UDP Scan,"指定使用UDP掃描的方式確定目標主機的UDP端口狀況。"-sN/sF/sX: TCP Null, FIN, and Xmas scans,"指定使用 TCP Null/FiN/Xmas scans秘密掃描的方式協助探測對方的TCP端口狀態。"--scanflags: Customize TCP scan flags,"定制TCP包的flags"-sI: Idle scan,"指定使用 Idle scan的方式掃描目標主機(前提是需要找到合適的僵尸主機zombie host)。"-sY/sZ: SCTP INIT/COOKIE-ECHO scans,"使用 SCTP INIT/COOKIE-ECHO掃描SCTP協議端口的開放情況"-sO: IP protocol scan,"使用 IP protocol掃描確定目標機支持的協議類型。"-b: FTP bounce scan,"使用 FTP bounce scan掃描方式。PORT SPECIFICATION AND SCAN ORDER:["端口掃描參數和順序"]-p: Only scan specified ports,":掃描指定的端口"Ex("例如"): -p22; -p1-65535; -p U:53,111,137,T:21-25,80,139,8080,S:9--exclude-ports: Exclude the specified ports from scanning,"不掃描的端口"-F: Fast mode - Scan fewer ports than the default scan,"(快速模式),僅掃描TOP100的端口"-r: Scan ports consecutively - dont randomize,"不進行端口隨機打亂的操作(如無該參數,Nmap會將要掃描的端口以隨機順序的方式進行掃描,讓Nmap的掃描不易被對方防火墻檢測到),即順序掃描。"--top-ports: Scanmost common ports,"掃描開放概率最高的 number個端口(Nmap的作者曾做過大規模的互聯網掃描,以此統計網絡上各種端口可能開放的概率,并排列出最有可能開放端口的列表,具體可以參見nmap- -services文件。默認情況下,Nmap會掃描最有可能的1000個TCP端口)。"--port-ratio: Scan ports more common than,"掃描指定頻率以上的端口。與上述top-ports類似,這里以概率作為參數,概率大于port--ratio的端口才被掃描。顯然參數必須在0~1之間,想了解具體的概率范圍可以查看nmap- -services文件。SERVICE/VERSION DETECTION:["版本探測"]-sV: Probe open ports to determine service/version info,"指定讓Nmap進行版本偵測。"--version-intensity: Set from 0 (light) to 9 (try all probes),"指定版本偵測的強度(0~9),默認為7。數值越高,探測出的服務越準確,但是運行時間會比較長。"--version-light: Limit to most likely probes (intensity 2),"指使用輕量級偵測方式(intensity2)"--version-all: Try every single probe (intensity 9),"嘗試使用所有的 probes進行偵測( intensity9)。"--version-trace: Show detailed version scan activity (for debugging),"顯示出詳細的版本偵測過程信息。SCRIPT SCAN:["掃描腳本"]-sC/--script=default: "使用默認的腳本進行掃描。"--script=:is a comma separated list of,"使用某個腳本進行掃描。"directories, script-files or script-categories--script-args=: provide arguments to scripts,"該參數用于傳遞腳本里的參數key是參數名,該參數對應valuel這個值。如有更多的參數,使用逗號連接。"--script-args-file=filename: provide NSE script args in a file,"使用文件為腳本提供參數。"--script-trace: Show all data sent and received,"如設置該參數,則顯示腳本執行過程中發送與接收的數據。"--script-updatedb: Update the script database."在Nmap 的scripts目錄里有一個db文件,該文件保存了當前Nmap可用的腳本,類似于一個小型數據庫,如果我們開啟Nmap并調用了此參數,則Nmap會自行掃描scripts掃描目錄中的擴展腳本,進行數據庫更新"--script-help=: Show help about scripts."查看掃描腳本幫助文檔"is a comma-separated list of script-files orscript-categoriesOS DETECTION:["系統探測"]-O: Enable OS detection,"系統探測"--osscan-limit: Limit OS detection to promising targets,"只對滿足“同時具備狀態為Open和closed的端口”的主機進行操作系統探測"--osscan-guess: Guess OS more aggressively,"猜測最有可能的系統版本TIMING AND PERFORMANCE:["時間與性能"]Options which takeare in seconds, or append 'ms' (milliseconds),'s' (seconds), 'm' (minutes), or 'h' (hours) to the value (e.g. 30m)."時間單位說明"-T<0-5>: Set timing template (higher is faster),"時間掃描級別,數字越高越快"--min-hostgroup/max-hostgroup: Parallel host scan group sizes,"指定并行掃描的主機數量,每次最大或者最小掃描多少個主機"--min-parallelism/max-parallelism: Probe parallelization--min-rtt-timeout/max-rtt-timeout/initial-rtt-timeout: Specifiesprobe round trip time.--max-retries: Caps number of port scan probe retransmissions."最大的探測次數"--host-timeout: Give up on target after this long,"超時時間"--scan-delay/--max-scan-delay: Adjust delay between probes,"掃描探測的延時時間/間隔時間"--min-rate: Send packets no slower thanper second,"每秒發包不少于number"--max-rate: Send packets no faster thanper second,"每秒發包不多于numberFIREWALL/IDS EVASION AND SPOOFING:["防火墻/IDS繞過和欺騙"]-f; --mtu: fragment packets (optionally w/given MTU),"分片"-D: Cloak a scan with decoys,"偽造源地址,但并不是正真的源地址,而是增加一些噪聲源,用以迷惑目標ip,增加對方的分析難度。"-S: Spoof source address,"源地址偽造"-e: Use specified interface,"使用特殊接口"-g/--source-port: Use given port number,"使用指定源端口"--proxies: Relay connections through HTTP/SOCKS4 proxies,"代理"--data: Append a custom payload to sent packets,"添加自定義數據字段,但字段必須是16進制"--data-string: Append a custom ASCII string to sent packets,"添加ASCII碼發送數據"--data-length: Append random data to sent packets,"數據長度"--ip-options: Send packets with specified ip options,"特殊IP選項"--ttl: Set IP time-to-live field,"設置IP存活時間"--spoof-mac: Spoof your MAC address,"MAC欺騙"--badsum: Send packets with a bogus TCP/UDP/SCTP checksumOUTPUT:,"差錯校驗"-oN/-oX/-oS/-oG: Output scan in normal, XML, s|<rIpt kIddi3,and Grepable format, respectively, to the given filename."指定格式輸出文檔"-oA: Output in the three major formats at once-v: Increase verbosity level (use -vv or more for greater effect)-d: Increase debugging level (use -dd or more for greater effect)--reason: Display the reason a port is in a particular state--open: Only show open (or possibly open) ports,"僅展示開放端口"--packet-trace: Show all packets sent and received,"探測時展現發送和接收包過程"--iflist: Print host interfaces and routes (for debugging),"debug時展現主機端口和路由"--append-output: Append to rather than clobber specified output files--resume: Resume an aborted scan--stylesheet: XSL stylesheet to transform XML output to HTML--webxml: Reference stylesheet from Nmap.Org for more portable XML--no-stylesheet: Prevent associating of XSL stylesheet w/XML outputMISC:["其他"]-6: Enable IPv6 scanning,"IPv6"-A: Enable OS detection, version detection, script scanning, and traceroute--datadir: Specify custom Nmap data file location--send-eth/--send-ip: Send using raw ethernet frames or IP packets--privileged: Assume that the user is fully privileged--unprivileged: Assume the user lacks raw socket privileges-V: Print version number,"Nmap版本"-h: Print this help summary page."Nmap幫助"EXAMPLES:nmap -v -A scanme.nmap.orgnmap -v -sn 192.168.0.0/16 10.0.0.0/8nmap -v -iR 10000 -Pn -p 80SEE THE MAN PAGE (https://nmap.org/book/man.html) FOR MORE OPTIONS AND EXAMPLES
靶機1IP:192.168.154.128
靶機2IP:192.168.3.7
nmap 192.168.154.128
nmap 192.168.154.128 192.168.3.7
nmap 192.168.3.1-10 192.168.154.100-130
targets.txt:
192.168.3.1
192.168.3.5
192.168.3.7
192.168.154.128
使用方法:
nmap 192.168.3.1/28 -exclude 192.168.3.7
nmap 192.168.154.128 -excludefile targets.txt
由于要讀取文件,可能根據文件存放路徑不同需要管理員權限
nmap -iL targets.txt
nmap 192.168.154.128 -p 21,22,23,80,443,3306
nmap -sV 192.168.154.128
nmap --traceroute 192.168.154.128
nmap -sP 192.168.3.0/24 192.168.154.0/24 -T5
nmap -O 192.168.154.128
nmap -sF -T5 192.168.154.128
狀態識別
狀態 | 含義 |
open | 端口處于開放狀態,表示應用程序正在監聽該端口的連接,外部可以訪問 |
filtered | 被過濾,表示端口被防火墻或其他安全設備阻止,不能訪問 |
closed | 關閉,表示目標主機未開放該端口 |
unfiltered | 未被過濾的,表示Nmap無法確認該端口所處狀態,需進一步探測 |
open/filtered | 開放的或被過濾的,Nmap不能識別 |
closed/filtered | 關閉的或被過濾的,Nmap不能識別 |
Nmap腳本默認存放在/xx/nmap/scripts
auth: 負責處理鑒權證書(繞開鑒權)的腳本 broadcast: 在局域網內探查更多服務開啟狀況,如dhcp/dns/sqlserver等服務 brute: 提供暴力破解方式,針對常見的應用如http/snmp等 default: 使用-sC或-A選項掃描時候默認的腳本,提供基本腳本掃描能力 discovery: 對網絡進行更多的信息,如SMB枚舉、SNMP查詢等 dos: 用于進行拒絕服務攻擊 exploit: 利用已知的漏洞入侵系統 external: 利用第三方的數據庫或資源,例如進行whois解析 fuzzer: 模糊測試的腳本,發送異常的包到目標機,探測出潛在漏 intrusive:入侵性的腳本,此類腳本可能引發對方的IDS/IPS的記錄或屏蔽 malware: 探測目標機是否感染了病毒、開啟了后門等信息 safe: 此類與intrusive相反,屬于安全性腳本 version: 負責增強服務與版本掃描(Version Detection)功能的腳本 vuln: 負責檢查目標機是否有常見的漏洞(Vulnerability),如是否有MS08_067
常用腳本使用語法:
SCRIPT SCAN:["掃描腳本"] -sC/--script=default: "使用默認的腳本進行掃描。" --script=:is a comma separated list of,"使用某個腳本進行掃描。" directories, script-files or script-categories --script-args=: provide arguments to scripts,"該參數用于傳遞腳本里的參數key是參數名,該參數對應valuel這個值。如有更多的參數,使用逗號連接。" --script-args-file=filename: provide NSE script args in a file,"使用文件為腳本提供參數。" --script-trace: Show all data sent and received,"如設置該參數,則顯示腳本執行過程中發送與接收的數據。" --script-updatedb: Update the script database."在Nmap 的scripts目錄里有一個db文件,該文件保存了當前Nmap可用的腳本,類似于一個小型數據庫,如果我們開啟Nmap并調用了此參數,則Nmap會自行掃描scripts掃描目錄中的擴展腳本,進行數據庫更新" --script-help=: Show help about scripts."查看掃描腳本幫助文檔" is a comma-separated list of script-files or script-categories.
更多關于腳本使用參見本文命令行部分。
nmap --script=auth 192.168.154.128
nmap --script=brute 192.168.154.128
一般進行默認掃描配置就行。
nmap --script=vuln 192.168.154.128
5.4.1漏洞來源
1.更改為Nmap腳本目錄:
cd /usr/share/nmap/scripts/
2.直接下載nmap-vulners腳本內容復制到scripts路徑下
3.更新漏洞數據庫:
nmap --script-updatedb
4.進行掃描
nmap --script nmap-vulners -sV -p 80 192.168.154.128
注:該-sV是絕對必要的。使用-sV,告訴Nmap探測版本信息的目標地址。如果Nmap不生成版本信息,則nmap-vulners將沒有任何數據來查詢Vulners數據庫。使用這些NSE腳本時始終使用-sV。
Vulscan:https://github.com/scipag/vulscan.git
1.將GitHub存儲庫克隆到Nmap腳本目錄中:git clone
https://github.com/scipag/vulscan.git
Vulscan支持許多優秀的漏洞利用數據庫:
scipvuldb.csv cve.csv osvdb.csv securityfocus.csv securitytracker.csv xforce.csv expliotdb.csv openvas.csv
2.更新漏洞庫:
3.使用vulscan進行掃描
nmap -sV --script=vulscan/vulscan.nse www.example.com
4.vulscan漏洞庫更新[Linux]
為確保數據庫完全是最新的,可使用vulscan / utilities / updater /目錄中的updateFiles.sh腳本進行更新。
(1)通過在終端中鍵入命令,切換到updater目錄:
cd vulscan/utilities/updater/
(2)chmod命令確保該文件具有執行的適當權限:chmod +x updateFiles.sh
(3)終端中輸入命令來執行和運行腳本:./updateFiles.sh
(4)完成更新
5.vulscan漏洞庫更新[windows]
(1)下載漏洞庫文件
?https://www.computec.ch/projekte/vulscan/download/cve.csv?https://www.computec.ch/projekte/vulscan/download/exploitdb.csv?https://www.computec.ch/projekte/vulscan/download/openvas.csv?https://www.computec.ch/projekte/vulscan/download/osvdb.csv?https://www.computec.ch/projekte/vulscan/download/scipvuldb.csv?https://www.computec.ch/projekte/vulscan/download/securityfocus.csv?https://www.computec.ch/projekte/vulscan/download/securitytracker.csv?https://www.computec.ch/projekte/vulscan/download/xforce.csv
(2)復制到scripts路徑下
/scripts/
(3)使用時調用漏洞庫
--script-args vulscandb=your_own_database
不是很好用
nmap --script=realvnc-auth-bypass 192.168.154.128
用于探測網卡和開放服務
nmap -n -p 443 --script=broadcast 192.168.154.128
利用第三方數據庫進行whois解析,并不是完全準確
nmap -script external baidu.com
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。