nmap是用來探測計算機網(wǎng)絡(luò)上局域網(wǎng)檢測軟件的主機和服務(wù)的一種安全掃描器。為了繪制網(wǎng)絡(luò)拓撲圖Nmap的發(fā)送特制的數(shù)據(jù)包到目標主機然后對返回數(shù)據(jù)包進行分析。Nmap是一款枚舉和測試網(wǎng)絡(luò)的強大工具。
特點
主機探測
端口掃描
版本檢測
支持探測腳本的編寫
安裝
官網(wǎng):https://nmap.org 圖形化:Zenmap
基本操作
>>>>
基本快速掃描
Nmap 默認發(fā)送一個arp的ping數(shù)據(jù)包來探測目標主機在1-10000范圍內(nèi)所開放的端口。
nmap -vv 10.1.1.254
>>>>
快速掃描多個目標
nmap <target ip1 address> <target ip2 address>
nmap 10.130.1.28 10.130.1.43
>>>>
詳細描述輸出掃描
簡單掃描并對返回的結(jié)果詳細描述輸出,這個掃描是可以看到掃描的過程的,漫長的掃描的過程中可以看到百分比 就不會顯得那么枯燥而且可以提升逼格。
nmap -vv 10.1.1.254
>>>>
指定端口和范圍掃描
nmap 默認掃描目標1-10000范圍內(nèi)的端口號。我們則可以通過參數(shù)-p 來設(shè)置我們將要掃描的端口號n
map -p(range) <target IP>
namp -p3389,20-100 10.130.1.43
>>>>
掃描除過某一個ip外的所有子網(wǎng)主機
nmap 10.130.1.1/24 -exclude 10.130.1.1
>>>>
掃描除過某一個文件中的ip外的子網(wǎng)主機
nmap 10.130.1.1/24 -excludefile gov.txt
>>>>
顯示掃描的所有主機的列表
nmap -sL 10.130.1.1/24
>>>>
sP ping 掃描
nmap 可以利用類似window/linux 系統(tǒng)下的ping方式進行掃描
nmap -sP <target ip>
一般來說 我們會用這個命令去掃描內(nèi)網(wǎng)的一個ip范圍用來做內(nèi)網(wǎng)的主機發(fā)現(xiàn)。
nmap -sP 10.130.1.1-255
PING掃描不同于其它的掃描方式因為它只用于找出主機是否是存在在網(wǎng)絡(luò)中的.它不是用來發(fā)現(xiàn)是否開放端口的.PING掃描需要ROOT權(quán)限如果用戶沒有ROOT權(quán)限,PING掃描將會使用connect()調(diào)用.
>>>>
sS SYN半開放掃描
nmap -sS 192.168.1.1
Tcp SYN Scan (sS) 這是一個基本的掃描方式,它被稱為半開放掃描因為這種技術(shù)使得Nmap不需要通過完整的握手就能獲得遠程主機的信息。Nmap發(fā)送SYN包到遠程主機但是它不會產(chǎn)生任何會話.因此不會在目標主機上產(chǎn)生任何日志記錄,因為沒有形成會話。這個就是SYN掃描的優(yōu)勢.如果Nmap命令中沒有指出掃描類型,默認的就是Tcp SYN.但是它需要root/administrator權(quán)限。
>>>>
sT TCP掃描
nmap -sT 192.168.1.1
不同于Tcp SYN掃描,Tcp connect()掃描需要完成三次握手,并且要求調(diào)用系統(tǒng)的connect().Tcp connect()掃描技術(shù)只適用于找出TCP和UDP端口。
>>>>
sU UDP掃描
nmap -sU 192.168.1.1
這種掃描技術(shù)用來尋找目標主機打開的UDP端口.它不需要發(fā)送任何的SYN包因為這種技術(shù)是針對UDP端口的。UDP掃描發(fā)送UDP數(shù)據(jù)包到目標主機并等待響應,如果返回ICMP不可達的錯誤消息說明端口是關(guān)閉的如果得到正確的適當?shù)幕貞f明端口是開放的.
>>>>
sF FIN標志的數(shù)據(jù)包掃描
nmap -sF 110.130.1.43
可以看出這個掃描的話 會漏掃許多~FIN掃描也不會在目標主機上創(chuàng)建日志(FIN掃描的優(yōu)勢之一).個類型的掃描都是具有差異性的,FIN掃描發(fā)送的包只包含F(xiàn)IN標識,NULL掃描不發(fā)送數(shù)據(jù)包上的任何字節(jié),XMAS掃描發(fā)送FIN、PSH和URG標識的數(shù)據(jù)包.
>>>>
sV Version版本檢測掃描
nmap -sV 192.168.1.135
本檢測是用來掃描目標主機和端口上運行的軟件的版本.它不同于其它的掃描技術(shù)它不是用來掃描目標主機上開放的端口不過它需要從開放的端口獲取信息來判斷軟件的版本.使用版本檢測掃描之前需要先用TCPSYN掃描開放了哪些端口。
這個掃描的話速度會慢一些67.86秒掃一個IP。
>>>>
O OS操作系統(tǒng)類型的探測
nmap -O 10.130.1.43
遠程檢測操作系統(tǒng)和軟件Nmap的OS檢測技術(shù)在滲透測試中用來了解遠程主機的操作系統(tǒng)和軟件是非常有用的通過獲取的信息局域網(wǎng)檢測軟件你可以知道已知的漏洞。Nmap有一個名為的nmap-OS-DB數(shù)據(jù)庫該數(shù)據(jù)庫包含超過2600操作系統(tǒng)的信息。Nmap把TCP和UDP數(shù)據(jù)包發(fā)送到目標機器上然后檢查結(jié)果和數(shù)據(jù)庫對照。
>>>>
osscan-guess 猜測匹配操作系統(tǒng)
nmap -O --osscan-guess 192.168.1.134
通過Nmap準確的檢測到遠程操作系統(tǒng)是比較困難的需要使用到Nmap的猜測功能選項,–osscan-guess猜測認為最接近目標的匹配操作系統(tǒng)類型。
>>>>
PN No ping掃描
nmap -O -PN 192.168.1.1/24
如果遠程主機有防火墻IDS和IPS系統(tǒng)局域網(wǎng)檢測軟件你可以使用-PN命令來確保不ping遠程主機因為有時候防火墻會組織掉ping請求.-PN命令告訴Nmap不用ping遠程主機。使用-PN參數(shù)可以繞過PING命令,但是不影響主機的系統(tǒng)的發(fā)現(xiàn)。
這個掃描整個c段局域網(wǎng)的話還是比較耗時的但是信息收集很詳細大概耗時9分鐘。
T 設(shè)置時間模板
nmap -sS -T<0-5> 192.168.1.134
優(yōu)化時間控制選項的功能很強大也很有效但有些用戶會被迷惑。此外 往往選擇合適參數(shù)的時間超過了所需優(yōu)化的掃描時間。因此Nmap提供了一些簡單的 方法使用6個時間模板使用時采用-T選項及數(shù)字(0 – 5) 或名稱。模板名稱有paranoid (0)、sneaky (1)、polite (2)、normal(3)、 aggressive (4)和insane (5)
paranoid、sneaky模式用于IDS躲避
Polite模式降低了掃描 速度以使用更少的帶寬和目標主機資源。
Normal為默認模式因此-T3 實際上是未做任何優(yōu)化。
Aggressive模式假設(shè)用戶具有合適及可靠的網(wǎng)絡(luò)從而加速 掃描.
nsane模式假設(shè)用戶具有特別快的網(wǎng)絡(luò)或者愿意為獲得速度而犧牲準確性。
>>>>
網(wǎng)段掃描格式
nmap -sP <network address > </CIDR >
解釋CIDR 為你設(shè)置的子網(wǎng)掩碼(/24 , /16 ,/8 等)
10.1.1.0/24 = 10.1.1.1-10.1.1.255 #c段掃描
10.1.1.0/16 = 10.1.1.1-10.1.255.255 #b段掃描
10.1.1.0/8 = 10.1.1.1-10.255.255.255 #a段掃描
>>>>
從文件中讀取需要掃描的IP列表
nmap -iL ip-address.txt
>>>>
路由跟蹤掃描
路由器追蹤功能能夠幫網(wǎng)絡(luò)管理員了解網(wǎng)絡(luò)通行情況同時也是網(wǎng)絡(luò)管理人員很好的輔助工具通過路由器追蹤可以輕松的查處從我們電腦所在地到目標地之間所經(jīng)常的網(wǎng)絡(luò)節(jié)點并可以看到通過各個節(jié)點所花費的時間
nmap -traceroute www.baidu.com
>>>>
nmap -A 10.130.1.43
>>>>
命令混合式掃描
命令混合掃描可以做到類似參數(shù)-A所完成的功能但又能細化到我們所需特殊要求。所以一般高手選擇這個混合掃描
nmap -vv -p1-100,3306,3389 -O -traceroute 10.130.1.43
這些參數(shù)都是可以靈活調(diào)用的具體根據(jù)具體的掃描來使用各個參數(shù)。
nmap -p1-65535 -sV -sS -T4 10.130.1.134
使SYN掃描并進行Version版本檢測 使用T4(aggressive)的時間模板對目標ip的全端口進行掃描。
>>>>
輸出格式
掃描的結(jié)果輸出到屏幕,同時會存儲一份到grep-output.txt
nmap -sV -p 139,445 -oG grep-output.txt 10.0.1.0/24
>>>>
掃描結(jié)果輸出為html
nmap -sS -sV -T5 10.0.1.99 --webxml -oX - | xsltproc --output file.html
nmap高級用法之腳本使用
>>>>
按照腳本分類進行掃描
nmap -- 類別
nmap官方腳本文檔: https://nmap.org/nsedoc/
左側(cè)列出了腳本的分類點擊分類 可以看到每一個分類下有很多具體的腳本供我們使用。nmap --=類別這里的類別可以填寫下面14大分類中的其中之一也可以填寫分類里面的具體漏洞掃描腳本。
nmap腳本分類:
▼
「nmap腳本分類:」
- auth: 負責處理鑒權(quán)證書繞開鑒權(quán)的腳本
- broadcast: 在局域網(wǎng)內(nèi)探查更多服務(wù)開啟狀況如dhcp/dns/sqlserver等服務(wù)
- brute: 提供暴力破解方式針對常見的應用如http/snmp等
- default: 使用-sC或-A選項掃描時候默認的腳本提供基本腳本掃描能力
- discovery: 對網(wǎng)絡(luò)進行更多的信息如SMB枚舉、SNMP查詢等
- dos: 用于進行拒絕服務(wù)攻擊
- exploit: 利用已知的漏洞入侵系統(tǒng)
- external: 利用第三方的數(shù)據(jù)庫或資源例如進行whois解析
- fuzzer: 模糊測試的腳本發(fā)送異常的包到目標機探測出潛在漏洞
- intrusive: 入侵性的腳本此類腳本可能引發(fā)對方的IDS/IPS的記錄或屏蔽
- malware: 探測目標機是否感染了病毒、開啟了后門等信息
- safe: 此類與intrusive相反屬于安全性腳本
- version: 負責增強服務(wù)與版本掃描Version Detection功能的腳本
- vuln: 負責檢查目標機是否有常見的漏洞Vulnerability如是否有MS08_067
>>>>
使用具體腳本進行掃描
nmap -- 具體的腳本 www.baidu.com
>>>>
常用腳本使用案例
掃描服務(wù)器的常見漏洞
nmap -- vuln <target>
檢查FTP是否開啟匿名登陸
nmap -- ftp-anon <target>
PORT STATE SERVICE
21/tcp open ftp
| ftp-anon: Anonymous FTP login allowed (FTP code 230)
| -rw-r--r-- 1 1170 924 31 Mar 28 2001 .banner
| d--x--x--x 2 root root 1024 Jan 14 2002 bin
| d--x--x--x 2 root root 1024 Aug 10 1999 etc
| drwxr-srwt 2 1170 924 2048 Jul 19 18:48 incoming [NSE: writeable]
| d--x--x--x 2 root root 1024 Jan 14 2002 lib
| drwxr-sr-x 2 1170 924 1024 Aug 5 2004 pub
|_Only 6 shown. Use ---args ftp-anon.maxlist=-1 to see all.
對MySQL進行暴破解
nmap --=mysql-brute <target>
3306/tcp open mysql
| mysql-brute:
| Accounts
| root:root - Valid credentials
可以看出已經(jīng)暴力成功破解了MySQL,在368秒內(nèi)進行45061次猜測平均TPS為146.5。
對MsSQL進行暴破解
nmap -p 1433 -- ms-sql-brute ---args userdb=customuser.txt,passdb=custompass.txt <host>
| ms-sql-brute:
| [192.168.100.128TEST]
| No credentials found
| Warnings:
| sa: AccountLockedOut
| [192.168.100.128PROD]
| Credentials found:
| webshop_reader:secret => Login Success| testuser:secret1234 => PasswordMustChange|_ lordvader:secret1234 => Login Success
對Oracle數(shù)據(jù)庫進行暴破解
nmap -- oracle-brute -p 1521 ---args oracle-brute.sid=ORCL <host>
PORT STATE SERVICE REASON
1521/tcp open oracle syn-ack
| oracle-brute:
| Accounts
| system:powell => Account locked
| haxxor:haxxor => Valid credentials
| Statistics
|_ Perfomed 157 guesses in 8 seconds, average tps: 19
對pgSQL的暴力破解
nmap -p 5432 -- pgsql-brute <host>
5432/tcp open pgsql
| pgsql-brute:
| root:<empty> => Valid credentials
|_ test:test => Valid credentials
對SSH進行暴力破解
nmap -p 22 -- ssh-brute ---args userdb=users.lst,passdb=pass.lst ---args ssh-brute.timeout=4s <target>
22/ssh open ssh
| ssh-brute:
| Accounts
| username:password
| Statistics
|_ Performed 32 guesses in 25 seconds.
利用DNS進行子域名暴力破解
額(⊙⊙) 這個admin.baidu.com后面那個10.26.109.19難道真的是百度內(nèi)網(wǎng)的管理平臺地址
檢查VMWare ESXESXi和服務(wù)器CVE-2009-3733中的路徑遍歷漏洞
查詢VMware服務(wù)器vCenterESXESXiSOAP API以提取版本信息。
參數(shù)詳解
Nmap支持主機名,ip,網(wǎng)段的表示方式例如:blah.highon.coffee, namp.org/24, 192.168.0.1;10.0.0-25.1-254
>>>>
主機發(fā)現(xiàn)
>>>>
掃描技巧
>>>>
指定端口和掃描順序
>>>>
服務(wù)版本識別
>>>>
腳本掃描
>>>>
OS識別
>>>>
防火墻/IDS躲避和哄騙
>>>>
Nmap 輸出
>>>>
其他nmap選項
(作者:國光,來源:FreeBuf)
評論列表
還沒有評論,快來說點什么吧~