滲透測試工具Nmap從初級到高級

Nmap是一款網(wǎng)絡(luò)掃描和主機(jī)檢測的非常有用的工具。 Nmap是不局限于僅僅收集信息和枚舉,同時可以用來作為一個漏洞探測器或安全掃描器。它可以適用于winodws,linux,mac等操作系統(tǒng)。Nmap是一款非常強(qiáng)大的實用工具,可用于:

檢測活在網(wǎng)絡(luò)上的主機(jī)(主機(jī)發(fā)現(xiàn))

檢測主機(jī)上開放的端口(端口發(fā)現(xiàn)或枚舉)

檢測到相應(yīng)的端口(服務(wù)發(fā)現(xiàn))的軟件和版本

檢測操作系統(tǒng),硬件地址,以及軟件版本

檢測脆弱性的漏洞(Nmap的腳本)

Nmap是一個非常普遍的工具,它有命令行界面和圖形用戶界面。本人包括以下方面的內(nèi)容:

介紹Nmap

掃描中的重要參數(shù)

操作系統(tǒng)檢測

Nmap使用教程

Nmap使用不同的技術(shù)來執(zhí)行掃描,包括:TCP的connect()掃描,TCP反向的ident掃描,F(xiàn)TP反彈掃描等。所有這些掃描的類型有自己的優(yōu)點和缺點,我們接下來將討論這些問題。

Nmap的使用取決于目標(biāo)主機(jī),因為有一個簡單的(基本)掃描和預(yù)先掃描之間的差異。我們需要使用一些先進(jìn)的技術(shù)來繞過防火墻和入侵檢測/防御系統(tǒng),以獲得正確的結(jié)果。下面是一些基本的命令和它們的用法的例子:

掃描單一的一個主機(jī),命令如下:

#nmap nxadmin.com

#nmap 192.168.1.2

掃描整個子網(wǎng),命令如下:

#nmap 192.168.1.1/24

掃描多個目標(biāo),命令如下:

#nmap 192.168.1.2 192.168.1.5

掃描一個范圍內(nèi)的目標(biāo),如下:

#nmap 192.168.1.1-100 (掃描IP地址為192.168.1.1-192.168.1.100內(nèi)的所有主機(jī))

如果你有一個ip地址列表,將這個保存為一個txt文件,和namp在同一目錄下,掃描這個txt內(nèi)的所有主機(jī),命令如下:

#nmap -iL target.txt

如果你想看到你掃描的所有主機(jī)的列表,用以下命令:

#nmap -sL 192.168.1.1/24

掃描除過某一個ip外的所有子網(wǎng)主機(jī),命令:

#nmap 192.168.1.1/24 -exclude 192.168.1.1

掃描除過某一個文件中的ip外的子網(wǎng)主機(jī)命令

#nmap 192.168.1.1/24 -exclude file xxx.txt(xxx.txt中的文件將會從掃描的主機(jī)中排除)

掃描特定主機(jī)上的80,21,23端口,命令如下

#nmap -p80,21,23 192.168.1.1

從上面我們已經(jīng)了解了Nmap的基礎(chǔ)知識,下面我們深入的探討一下Nmap的掃描技術(shù).

Tcp SYN Scan (sS)

這是一個基本的掃描方式,它被稱為半開放掃描,因為這種技術(shù)使得Nmap不需要通過完整的握手,就能獲得遠(yuǎn)程主機(jī)的信息。Nmap發(fā)送SYN包到遠(yuǎn)程主機(jī),但是它不會產(chǎn)生任何會話.因此不會在目標(biāo)主機(jī)上產(chǎn)生任何日志記錄,因為沒有形成會話。這個就是SYN掃描的優(yōu)勢.

如果Nmap命令中沒有指出掃描類型,默認(rèn)的就是Tcp SYN.但是它需要root/administrator權(quán)限.

#nmap -sS 192.168.1.1

Tcp connect() scan(sT)

如果不選擇SYN掃描,TCP connect()掃描就是默認(rèn)的掃描模式.不同于Tcp SYN掃描,Tcp connect()掃描需要完成三次握手,并且要求調(diào)用系統(tǒng)的connect().Tcp connect()掃描技術(shù)只適用于找出TCP和UDP端口.

#nmap -sT 192.168.1.1

Udp scan(sU)

顧名思義,這種掃描技術(shù)用來尋找目標(biāo)主機(jī)打開的UDP端口.它不需要發(fā)送任何的SYN包,因為這種技術(shù)是針對UDP端口的。UDP掃描發(fā)送UDP數(shù) 據(jù)包到目標(biāo)主機(jī),并等待響應(yīng),如果返回ICMP不可達(dá)的錯誤消息,說明端口是關(guān)閉的,如果得到正確的適當(dāng)?shù)幕貞?yīng),說明端口是開放的.

#nmap -sU 192.168.1.1

FIN scan (sF)

有時候Tcp SYN掃描不是最佳的掃描模式,因為有防火墻的存在.目標(biāo)主機(jī)有時候可能有IDS和IPS系統(tǒng)的存在,防火墻會阻止掉SYN數(shù)據(jù)包。發(fā)送一個設(shè)置了FIN標(biāo)志的數(shù)據(jù)包并不需要完成TCP的握手.

root@bt:~# nmap -sF 192.168.1.8

Starting Nmap 5.51? at 2012-07-08 19:21 PKT

Nmap scan report for 192.168.1.8

Host is up (0.000026s latency).

Not shown: 999 closed ports

PORT STATE SERVICE

111/tcp open|filtered rpcbind

FIN掃描也不會在目標(biāo)主機(jī)上創(chuàng)建日志(FIN掃描的優(yōu)勢之一).個類型的掃描都是具有差異性的,FIN掃描發(fā)送的包只包含F(xiàn)IN標(biāo)識,NULL掃描不發(fā)送數(shù)據(jù)包上的任何字節(jié),XMAS掃描發(fā)送FIN、PSH和URG標(biāo)識的數(shù)據(jù)包.

PING Scan (sP)

PING掃描不同于其它的掃描方式,因為它只用于找出主機(jī)是否是存在在網(wǎng)絡(luò)中的.它不是用來發(fā)現(xiàn)是否開放端口的.PING掃描需要ROOT權(quán)限,如果用戶沒有ROOT權(quán)限,PING掃描將會使用connect()調(diào)用.

#nmap -sP 192.168.1.1

版本檢測(sV)

版本檢測是用來掃描目標(biāo)主機(jī)和端口上運行的軟件的版本.它不同于其它的掃描技術(shù),它不是用來掃描目標(biāo)主機(jī)上開放的端口,不過它需要從開放的端口獲取信息來判斷軟件的版本.使用版本檢測掃描之前需要先用TCP SYN掃描開放了哪些端口.

#nmap -sV 192.168.1.1

Idle scan (sL)

Idle scan是一種先進(jìn)的掃描技術(shù),它不是用你真實的主機(jī)Ip發(fā)送數(shù)據(jù)包,而是使用另外一個目標(biāo)網(wǎng)絡(luò)的主機(jī)發(fā)送數(shù)據(jù)包.

#nmap -sI 192.168.1.6 192.168.1.1

Idle scan是一種理想的匿名掃描技術(shù),通過目標(biāo)網(wǎng)絡(luò)中的192.168.1.6向主機(jī)192.168.1.1發(fā)送數(shù)據(jù),來獲取192.168.1.1開放的端口

有需要其它的掃描技術(shù),如?FTP bounce(FTP反彈), fragmentation scan(碎片掃描), IP protocol scan(IP協(xié)議掃描),以上討論的是幾種最主要的掃描方式.

Nmap的OS檢測(O)

Nmap最重要的特點之一是能夠遠(yuǎn)程檢測操作系統(tǒng)和軟件,Nmap的OS檢測技術(shù)在滲透測試中用來了解遠(yuǎn)程主機(jī)的操作系統(tǒng)和軟件是非常有用的,通過 獲取的信息你可以知道已知的漏洞。Nmap有一個名為的nmap-OS-DB數(shù)據(jù)庫,該數(shù)據(jù)庫包含超過2600操作系統(tǒng)的信息。 Nmap把TCP和UDP數(shù)據(jù)包發(fā)送到目標(biāo)機(jī)器上,然后檢查結(jié)果和數(shù)據(jù)庫對照。

Initiating SYN Stealth Scan at 10:21

Scanning localhost (127.0.0.1) [1000 ports]

Discovered open port 111/tcp on 127.0.0.1

Completed SYN Stealth Scan at 10:21, 0.08s elapsed (1000 total ports)

Initiating OS detection (try #1) against localhost (127.0.0.1)

Retrying OS detection (try #2) against localhost (127.0.0.1)

上面的例子清楚地表明,Nmap的首次發(fā)現(xiàn)開放的端口,然后發(fā)送數(shù)據(jù)包發(fā)現(xiàn)遠(yuǎn)程操作系統(tǒng)。操作系統(tǒng)檢測參數(shù)是O(大寫O)

Nmap的操作系統(tǒng)指紋識別技術(shù):

設(shè)備類型(路由器,工作組等)

運行(運行的操作系統(tǒng))

操作系統(tǒng)的詳細(xì)信息(操作系統(tǒng)的名稱和版本)

網(wǎng)絡(luò)距離(目標(biāo)和攻擊者之間的距離跳)

如果遠(yuǎn)程主機(jī)有防火墻,IDS和IPS系統(tǒng),你可以使用-PN命令來確保不ping遠(yuǎn)程主機(jī),因為有時候防火墻會組織掉ping請求.-PN命令告訴Nmap不用ping遠(yuǎn)程主機(jī)。

# nmap -O -PN 192.168.1.1/24

以上命令告訴發(fā)信主機(jī)遠(yuǎn)程主機(jī)是存活在網(wǎng)絡(luò)上的,所以沒有必要發(fā)送ping請求,使用-PN參數(shù)可以繞過PING命令,但是不影響主機(jī)的系統(tǒng)的發(fā)現(xiàn).

Nmap的操作系統(tǒng)檢測的基礎(chǔ)是有開放和關(guān)閉的端口,如果OS scan無法檢測到至少一個開放或者關(guān)閉的端口,會返回以下錯誤:

Warning: OSScan results may be unreliable because we could not find at least 1 open and 1 closed port

OS Scan的結(jié)果是不可靠的,因為沒有發(fā)現(xiàn)至少一個開放或者關(guān)閉的端口.

這種情況是非常不理想的,應(yīng)該是遠(yuǎn)程主機(jī)做了針對操作系統(tǒng)檢測的防范。如果Nmap不能檢測到遠(yuǎn)程操作系統(tǒng)類型,那么就沒有必要使用-osscan_limit檢測。

想好通過Nmap準(zhǔn)確的檢測到遠(yuǎn)程操作系統(tǒng)是比較困難的,需要使用到Nmap的猜測功能選項,?–osscan-guess 猜測認(rèn)為最接近目標(biāo)的匹配操作系統(tǒng)類型。

# nmap -O –osscan-guess 192.168.1.1

總結(jié)

Nmap是一個非常強(qiáng)大的工具,它具有覆蓋滲透測試的第一方面的能力,其中包括信息的收集和統(tǒng)計。本文從初級到高級的講解了Nmap入侵掃描工具的使用.希望對大家有所幫助.

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • nmap使用指南(終極版) 原創(chuàng)2017-09-09hl0rey信安之路 一、目標(biāo)指定 1.CIDR標(biāo)志位 192...
    用電熱毯烤豬閱讀 12,161評論 1 49
  • Nmap掃描原理與用法 1Nmap介紹 Nmap掃描原理與用法PDF:下載地址 Nmap是一款開源免費的網(wǎng)絡(luò)發(fā)現(xiàn)(...
    y0ungta1a閱讀 5,543評論 0 50
  • Nmap輸出的是掃描目標(biāo)的列表,以及每個目標(biāo)的補(bǔ)充信息,至于是哪些信息則依賴于所使用的選項。“所感興趣的端口表格...
    令狐沖233閱讀 2,113評論 0 4
  • 結(jié)婚前,并不認(rèn)為愛情需要保鮮,甚至認(rèn)為那些都太作。任性的覺得,他這么愛我,還需要保鮮嗎? 不是溫柔哄哄,甜蜜的撒嬌...
    可月閱讀 296評論 0 2
  • 權(quán)謀從哪來? 有位網(wǎng)友問了我2個問題,什么樣的公司不玩權(quán)術(shù)?為什么30歲了發(fā)現(xiàn)自己慫了? 我發(fā)現(xiàn)只有一種人,無需玩...
    諸葛司馬村夫閱讀 426評論 0 0

友情鏈接更多精彩內(nèi)容