Nmap掃描原理和用法_第1頁
Nmap掃描原理和用法_第2頁
Nmap掃描原理和用法_第3頁
Nmap掃描原理和用法_第4頁
Nmap掃描原理和用法_第5頁
已閱讀5頁,還剩33頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

HYPERLINK\o"展開"[+]Nmap掃描原理與使用方法6月16日Nmap介紹Nmap基本命令和典型使用方法全方面攻打性掃描(涉及多個(gè)主機(jī)發(fā)現(xiàn)、端口掃描、版本掃描、OS掃描及默認(rèn)腳本掃描):nmap-A-vtargetipPing掃描:nmap-sn-vtargetip快速端口掃描:nmap-F-vtargetip版本掃描:nmap-sV-vtargetip操作系統(tǒng)掃描:nmap-O-vtargetipNmap掃描原理與使用方法PDF:HYPERLINK下載地址Nmap是一款開源免費(fèi)的網(wǎng)絡(luò)發(fā)現(xiàn)(NetworkDiscovery)和安全審計(jì)(SecurityAuditing)工具。軟件名字Nmap是NetworkMapper的簡稱。Nmap最初是由Fyodor在1997年開始創(chuàng)立的。隨即在開源社區(qū)眾多的志愿者參加下,該工具逐步成為最為流行安全必備工具之一。最新版的Nmap6.0在5月21日公布,詳情請(qǐng)參見:HYPERLINK.org。普通狀況下,Nmap用于列舉網(wǎng)絡(luò)主機(jī)清單、管理服務(wù)升級(jí)調(diào)度、監(jiān)控主機(jī)或服務(wù)運(yùn)行狀況。Nmap能夠檢測目的機(jī)與否在線、端口開放狀況、偵測運(yùn)行的服務(wù)類型及版本信息、偵測操作系統(tǒng)與設(shè)備類型等信息。Nmap的優(yōu)點(diǎn):1.

靈活。支持?jǐn)?shù)十種不同的掃描方式,支持多個(gè)目的對(duì)象的掃描。2.

強(qiáng)大。Nmap能夠用于掃描互聯(lián)網(wǎng)上大規(guī)模的計(jì)算機(jī)。3.

可移植。支持主流操作系統(tǒng):Windows/Linux/Unix/MacOS等等;源碼開放,方便移植。4.

簡樸。提供默認(rèn)的操作能覆蓋大部分功效,基本端口掃描nmaptargetip,全方面的掃描nmap–Atargetip。5.

自由。Nmap作為開源軟件,在GPLLicense的范疇內(nèi)能夠自由的使用。6.

文檔豐富。Nmap官網(wǎng)提供了具體的文檔描述。Nmap作者及其它安全專家編寫了多部Nmap參考書籍。7.

社區(qū)支持。Nmap背后有強(qiáng)大的社區(qū)團(tuán)體支持。8.

贊譽(yù)有加。獲得諸多的獎(jiǎng)勵(lì),并在諸多影視作品中出現(xiàn)(如黑客帝國2、DieHard4等)。9.

流行?,F(xiàn)在Nmap已經(jīng)被成千上萬的安全專家列為必備的工具之一。1.1

ZenmapZenmap是Nmap官方提供的圖形界面,普通隨Nmap的安裝包公布。Zenmap是用Python語言編寫而成的開源免費(fèi)的圖形界面,能夠運(yùn)行在不同操作系統(tǒng)平臺(tái)上(Windows/Linux/Unix/MacOS等)。Zenmap旨在為nmap提供更加簡樸的操作方式。簡樸慣用的操作命令能夠保存成為profile,顧客掃描時(shí)選擇profile即可;能夠方便地比較不同的掃描成果;提供網(wǎng)絡(luò)拓?fù)錁?gòu)造(NetworkTopology)的圖形顯示功效。其中Profile欄位,用于選擇“Zenmap默認(rèn)提供的Profile”或“顧客創(chuàng)立的Profile”;Command欄位,用于顯示選擇Profile對(duì)應(yīng)的命令或者顧客自行指定的命令;Topology選項(xiàng)卡,用于顯示掃描到的目的機(jī)與本機(jī)之間的拓?fù)錁?gòu)造。1.2

功效架構(gòu)圖Nmap包含四項(xiàng)基本功效:主機(jī)發(fā)現(xiàn)(HostDiscovery)端口掃描(PortScanning)版本偵測(VersionDetection)操作系統(tǒng)偵測(OperatingSystemDetection)而這四項(xiàng)功效之間,又存在大致的依賴關(guān)系(普通狀況下的次序關(guān)系,但特殊應(yīng)用另外考慮),首先需要進(jìn)行主機(jī)發(fā)現(xiàn),隨即擬定端口狀況,然后擬定端口上運(yùn)行具體應(yīng)用程序與版本信息,然后能夠進(jìn)行操作系統(tǒng)的偵測。而在四項(xiàng)基本功效的基礎(chǔ)上,Nmap提供防火墻與IDS(IntrusionDetectionSystem,入侵檢測系統(tǒng))的規(guī)避技巧,能夠綜合應(yīng)用到四個(gè)基本功效的各個(gè)階段;另外Nmap提供強(qiáng)大的NSE(NmapScriptingLanguage)腳本引擎功效,腳本能夠?qū)竟πнM(jìn)行補(bǔ)充和擴(kuò)展。2

Nmap基本掃描辦法Nmap重要涉及四個(gè)方面的掃描功效,主機(jī)發(fā)現(xiàn)、端口掃描、應(yīng)用與版本偵測、操作系統(tǒng)偵測。在具體解說每個(gè)具體功效之前,首先能夠看看Nmap的典型使用方法。2.1

使用方法引入2.1.1

擬定端口狀況如果直接針對(duì)某臺(tái)計(jì)算的IP地址或域名進(jìn)行掃描,那么Nmap對(duì)該主機(jī)進(jìn)行主機(jī)發(fā)現(xiàn)過程和端口掃描。該方式執(zhí)行快速,能夠用于擬定端口的開放狀況。命令形式:nmaptargethost能夠擬定目的主機(jī)在線狀況及端口基本狀況。2.1.2

完整全方面的掃描如果但愿對(duì)某臺(tái)主機(jī)進(jìn)行完整全方面的掃描,那么能夠使用nmap內(nèi)置的-A選項(xiàng)。使用了該選項(xiàng),nmap對(duì)目的主機(jī)進(jìn)行主機(jī)發(fā)現(xiàn)、端口掃描、應(yīng)用程序與版本偵測、操作系統(tǒng)偵測及調(diào)用默認(rèn)NSE腳本掃描。命令形式:nmap–T4–A–vtargethost其中-A選項(xiàng)用于使用攻打性(Aggressive)方式掃描;-T4指定掃描過程使用的時(shí)序(Timing),總有6個(gè)級(jí)別(0-5),級(jí)別越高,掃描速度越快,但也容易被防火墻或IDS檢測并屏蔽掉,在網(wǎng)絡(luò)通訊狀況良好的狀況推薦使用T4;-v表達(dá)顯示冗余(verbosity)信息,在掃描過程中顯示掃描的細(xì)節(jié),從而讓顧客理解現(xiàn)在的掃描狀態(tài)。例如,掃描局域網(wǎng)內(nèi)地址為00的電腦。顯而易見,掃描出的信息非常豐富,在對(duì)00的掃描報(bào)告部分中(以紅框圈出),能夠看到主機(jī)發(fā)現(xiàn)的成果“Hostisup”;端口掃描出的成果,有996個(gè)關(guān)閉端口,4個(gè)開放端口(在未指定掃描端口時(shí),Nmap默認(rèn)掃描1000個(gè)最有可能開放的端口);而版本偵測針對(duì)掃描到的開放狀況進(jìn)一步探測端口上運(yùn)行的具體的應(yīng)用程序和版本信息;OS偵測對(duì)該目的主機(jī)的設(shè)備類型與操作系統(tǒng)進(jìn)行探測;而綠色框圖是nmap調(diào)用NSE腳本進(jìn)行進(jìn)一步的信息挖掘的顯示成果。2.2

主機(jī)發(fā)現(xiàn)主機(jī)發(fā)現(xiàn)(HostDiscovery),即用于發(fā)現(xiàn)目的主機(jī)與否在線(Alive,處在啟動(dòng)狀態(tài))。2.2.1

主機(jī)發(fā)現(xiàn)原理主機(jī)發(fā)現(xiàn)的原理與Ping命令類似,發(fā)送探測包到目的主機(jī),如果收到回復(fù),那么闡明目的主機(jī)是啟動(dòng)的。Nmap支持十多個(gè)不同的主機(jī)探測方式,例如發(fā)送ICMPECHO/TIMESTAMP/NETMASK報(bào)文、發(fā)送TCPSYN/ACK包、發(fā)送SCTPINIT/COOKIE-ECHO包,顧客能夠在不同的條件下靈活選用不同的方式來探測目的機(jī)。主機(jī)發(fā)現(xiàn)基本原理:(以ICMPecho方式為例)Nmap的顧客位于源端,IP地址,向目的主機(jī)發(fā)送ICMPEchoRequest。如果該請(qǐng)求報(bào)文沒有被防火墻攔截掉,那么目的機(jī)會(huì)回復(fù)ICMPEchoReply包回來。以此來擬定目的主機(jī)與否在線。默認(rèn)狀況下,Nmap會(huì)發(fā)送四種不同類型的數(shù)據(jù)包來探測目的主機(jī)與否在線。1.

ICMPechorequest2.

aTCPSYNpackettoport4433.

aTCPACKpackettoport804.

anICMPtimestamprequest依次發(fā)送四個(gè)報(bào)文探測目的機(jī)與否啟動(dòng)。只要收到其中一種包的回復(fù),那就證明目的機(jī)啟動(dòng)。使用四種不同類型的數(shù)據(jù)包能夠避免因防火墻或丟包造成的判斷錯(cuò)誤。2.2.2

主機(jī)發(fā)現(xiàn)的使用方法普通主機(jī)發(fā)現(xiàn)并不單獨(dú)使用,而只是作為端口掃描、版本偵測、OS偵測先行環(huán)節(jié)。而在某些特殊應(yīng)用(例如擬定大型局域網(wǎng)內(nèi)活動(dòng)主機(jī)的數(shù)量),可能會(huì)單獨(dú)專門合用主機(jī)發(fā)現(xiàn)功效來完畢。不管是作為輔助使用方法還是專門用途,顧客都能夠使用Nmap提供的豐富的選項(xiàng)來定制主機(jī)發(fā)現(xiàn)的探測方式。[plain]HYPERLINK\o"viewplain"viewplainHYPERLINK\o"copy"copyHYPERLINK\o"print"printHYPERLINK\o"?"?-sL:

List

Scan

列表掃描,僅將指定的目的的IP列舉出來,不進(jìn)行主機(jī)發(fā)現(xiàn)。

-sn:

Ping

Scan

只進(jìn)行主機(jī)發(fā)現(xiàn),不進(jìn)行端口掃描。

-Pn:

將全部指定的主機(jī)視作啟動(dòng)的,跳過主機(jī)發(fā)現(xiàn)的過程。

4-PS/PA/PU/PY[portlist]:

使用TCPSYN/ACK或SCTP

INIT/ECHO方式進(jìn)行發(fā)現(xiàn)。

-PE/PP/PM:

使用ICMP

echo,

timestamp,

and

netmask

請(qǐng)求包發(fā)現(xiàn)主機(jī)。-PO[protocollist]:

IP合同包探測對(duì)方主機(jī)與否啟動(dòng)。

-n/-R:

-n表達(dá)不進(jìn)行DNS解析;-R表達(dá)總是進(jìn)行DNS解析。

--dns-servers

<serv1[,serv2],...>:

指定DNS服務(wù)器。

--system-dns:

指定使用系統(tǒng)的DNS服務(wù)器

--traceroute:

追蹤每個(gè)路由節(jié)點(diǎn)

其中,比較慣用的使用的是-sn,表達(dá)只單獨(dú)進(jìn)行主機(jī)發(fā)現(xiàn)過程;-Pn表達(dá)直接跳過主機(jī)發(fā)現(xiàn)而進(jìn)行端口掃描等高級(jí)操作(如果已經(jīng)確知目的主機(jī)已經(jīng)啟動(dòng),可用該選項(xiàng));-n,如果不想使用DNS或reverseDNS解析,那么能夠使用該選項(xiàng)。2.2.3

使用演示探測下面以探測HYPERLINK的主機(jī)為例,簡樸演示主機(jī)發(fā)現(xiàn)的使用方法。命令以下:nmap–sn–PE–PS80,135–PU53使用Wireshark抓包,我們看到,向的IP地址7發(fā)送了四個(gè)探測包:ICMPEcho,80和135端口的TCPSYN包,53端口的UDP包(DNSdomain)。而收到ICMPEcho的回復(fù)與80端口的回復(fù)。從而擬定了主機(jī)正常在線。探測局域網(wǎng)內(nèi)活動(dòng)主機(jī)掃描局域網(wǎng)00-20范疇內(nèi)哪些IP的主機(jī)是活動(dòng)的。命令以下:nmap–sn00-120從成果中,能夠看到這個(gè)IP范疇內(nèi)有三臺(tái)主機(jī)處在活動(dòng)狀態(tài)。從Wireshark抓取的包中,能夠看到發(fā)送的探測包的狀況:在局域網(wǎng)內(nèi),Nmap是通過ARP包來詢問IP地址上的主機(jī)與否活動(dòng)的,如果收到ARP回復(fù)包,那么闡明主機(jī)在線。例如,某條ARP回復(fù)的報(bào)文具體信息以下:2.3

端口掃描端口掃描是Nmap最基本最核心的功效,用于擬定目的主機(jī)的TCP/UDP端口的開放狀況。默認(rèn)狀況下,Nmap會(huì)掃描1000個(gè)最有可能開放的TCP端口。Nmap通過探測將端口劃分為6個(gè)狀態(tài):open:端口是開放的。closed:端口是關(guān)閉的。filtered:端口被防火墻IDS/IPS屏蔽,無法擬定其狀態(tài)。unfiltered:端口沒有被屏蔽,但與否開放需要進(jìn)一步擬定。open|filtered:端口是開放的或被屏蔽。closed|filtered:端口是關(guān)閉的或被屏蔽。2.3.1

端口掃描原理Nmap在端口掃描方面非常強(qiáng)大,提供了十多個(gè)探測方式。

TCPSYNscanning這是Nmap默認(rèn)的掃描方式,普通被稱作半開放掃描(Half-openscanning)。該方式發(fā)送SYN到目的端口,如果收到SYN/ACK回復(fù),那么判斷端口是開放的;如果收到RST包,闡明該端口是關(guān)閉的。如果沒有收到回復(fù),那么判斷該端口被屏蔽(Filtered)。由于該方式僅發(fā)送SYN包對(duì)目的主機(jī)的特定端口,但不建立的完整的TCP連接,因此相對(duì)比較隱蔽,并且效率比較高,合用范疇廣。TCPSYN探測到端口關(guān)閉:TCPSYN探測到端口開放:

TCPconnectscanningTCPconnect方式使用系統(tǒng)網(wǎng)絡(luò)APIconnect向目的主機(jī)的端口發(fā)起連接,如果無法連接,闡明該端口關(guān)閉。該方式掃描速度比較慢,并且由于建立完整的TCP連接會(huì)在目的機(jī)上留下統(tǒng)計(jì)信息,不夠隱蔽。因此,TCPconnect是TCPSYN無法使用才考慮選擇的方式。TCPconnect探測到端口關(guān)閉:TCPconnect探測到端口開放:

TCPACKscanning向目的主機(jī)的端口發(fā)送ACK包,如果收到RST包,闡明該端口沒有被防火墻屏蔽;沒有收到RST包,闡明被屏蔽。該方式只能用于擬定防火墻與否屏蔽某個(gè)端口,能夠輔助TCPSYN的方式來判斷目的主機(jī)防火墻的狀況。TCPACK探測到端口被屏蔽:TCPACK探測到端口未被屏蔽:

TCPFIN/Xmas/NULLscanning這三種掃描方式被稱為秘密掃描(StealthyScan),由于相對(duì)比較隱蔽。FIN掃描向目的主機(jī)的端口發(fā)送的TCPFIN包或Xmastree包/Null包,如果收到對(duì)方RST回復(fù)包,那么闡明該端口是關(guān)閉的;沒有收到RST包闡明端口可能是開放的或被屏蔽的(open|filtered)。其中Xmastree包是指flags中FINURGPUSH被置為1的TCP包;NULL包是指全部flags都為0的TCP包。TCPFIN探測到主機(jī)端口是關(guān)閉的:TCPFIN探測到主機(jī)端口是開放或屏蔽的:

UDPscanningUDP掃描方式用于判斷UDP端口的狀況。向目的主機(jī)的UDP端口發(fā)送探測包,如果收到回復(fù)“ICMPportunreachable”就闡明該端口是關(guān)閉的;如果沒有收到回復(fù),那闡明UDP端口可能是開放的或屏蔽的。因此,通過反向排除法的方式來斷定哪些UDP端口是可能出于開放狀態(tài)。UDP端口關(guān)閉:UDP端口開放或被屏蔽:

其它方式除上述幾個(gè)慣用的方式之外,Nmap還支持多個(gè)其它探測方式。例如使用SCTPINIT/COOKIE-ECHO方式來探測SCTP的端口開放狀況;使用IPprotocol方式來探測目的主機(jī)支持的合同類型(TCP/UDP/ICMP/SCTP等等);使用idlescan方式借助僵尸主機(jī)(zombiehost,也被稱為idlehost,該主機(jī)處在空閑狀態(tài)并且它的IPID方式為遞增。具體實(shí)現(xiàn)原理參見:)來掃描目的主機(jī),達(dá)成隱蔽自己的目的;或者使用FTPbouncescan,借助FTP允許的代理服務(wù)掃描其它的主機(jī),同樣達(dá)成隱藏自己的身份的目的。2.3.2

端口掃描使用方法端口掃描使用方法比較簡樸,Nmap提供豐富的命令行參數(shù)來指定掃描方式和掃描端口。具體能夠參見以下描述。

掃描方式選項(xiàng)[plain]HYPERLINK\o"viewplain"viewplainHYPERLINK\o"copy"copyHYPERLINK\o"print"printHYPERLINK\o"?"?-sS/sT/sA/sW/sM:指定使用

TCP

SYN/Connect()/ACK/Window/Maimon

scans的方式來對(duì)目的主機(jī)進(jìn)行掃描。

-sU:

指定使用UDP掃描方式擬定目的主機(jī)的UDP端口狀況。

-sN/sF/sX:

指定使用TCP

Null,

FIN,

and

Xmas

scans秘密掃描方式來協(xié)助探測對(duì)方的TCP端口狀態(tài)。

--scanflags

<flags>:

定制TCP包的flags。

-sI

<zombiehost[:probeport]>:

指定使用idle

scan方式來掃描目的主機(jī)(前提需要找到適宜的zombie

host)

-sY/sZ:

使用SCTP

INIT/COOKIE-ECHO來掃描SCTP合同端口的開放的狀況。

-sO:

使用IP

protocol

掃描擬定目的機(jī)支持的合同類型。

-b

<FTP

relay

host>:

使用FTP

bounce

scan掃描方式

端口參數(shù)與掃描次序[plain]HYPERLINK\o"viewplain"viewplainHYPERLINK\o"copy"copyHYPERLINK\o"print"printHYPERLINK\o"?"?-p

<port

ranges>:

掃描指定的端口

實(shí)例:

-p22;

-p1-65535;

-p

U:53,111,137,T:21-25,80,139,8080,S:9(其中T代表TCP合同、U代表UDP合同、S代表SCTP合同)

-F:

Fast

mode

快速模式,僅掃描TOP

100的端口

-r:

不進(jìn)行端口隨機(jī)打亂的操作(如無該參數(shù),nmap會(huì)將要掃描的端口以隨機(jī)次序方式掃描,以讓nmap的掃描不易被對(duì)方防火墻檢測到)。

--top-ports

<number>:掃描開放概率最高的number個(gè)端口(nmap的作者曾經(jīng)做過大規(guī)模地互聯(lián)網(wǎng)掃描,以此統(tǒng)計(jì)出網(wǎng)絡(luò)上多個(gè)端口可能開放的概率。以此排列出最有可能開放端口的列表,具體能夠參見文獻(xiàn):nmap-services。默認(rèn)狀況下,nmap會(huì)掃描最有可能的1000個(gè)TCP端口)

--port-ratio

<ratio>:

掃描指定頻率以上的端口。與上述--top-ports類似,這里以概率作為參數(shù),讓概率不小于--port-ratio的端口才被掃描。顯然參數(shù)必須在在0到1之間,具體范疇概率狀況能夠查看nmap-services文獻(xiàn)。

2.3.3

端口掃描演示這里,我們以掃描局域網(wǎng)內(nèi)00主機(jī)為例。命令以下:nmap–sS–sU–T4–top-ports30000參數(shù)-sS表達(dá)使用TCPSYN方式掃描TCP端口;-sU表達(dá)掃描UDP端口;-T4表達(dá)時(shí)間級(jí)別配備4級(jí);--top-ports300表達(dá)掃描最有可能開放的300個(gè)端口(TCP和UDP分別有300個(gè)端口)。從上圖中,我們看到掃描成果,橫線處寫明有共有589端口是關(guān)閉的;紅色框圖中列舉出開放的端口和可能是開放的端口。2.4

版本偵測版本偵測,用于擬定目的主機(jī)開放端口上運(yùn)行的具體的應(yīng)用程序及版本信息。Nmap提供的版本偵測含有以下的優(yōu)點(diǎn):高速。并行地進(jìn)行套接字操作,實(shí)現(xiàn)一組高效的探測匹配定義語法。盡量地?cái)M定應(yīng)用名字與版本名字。支持TCP/UDP合同,支持文本格式與二進(jìn)制格式。支持多個(gè)平臺(tái)服務(wù)的偵測,涉及Linux/Windows/MacOS/FreeBSD等系統(tǒng)。如果檢測到SSL,會(huì)調(diào)用openSSL繼續(xù)偵測運(yùn)行在SSL上的具體合同(如HTTPS/POP3S/IMAPS)。如果檢測到SunRPC服務(wù),那么會(huì)調(diào)用brute-forceRPCgrinder進(jìn)一步擬定RPC程序編號(hào)、名字、版本號(hào)。支持完整的IPv6功效,涉及TCP/UDP,基于TCP的SSL。通用平臺(tái)枚舉功效(CPE)廣泛的應(yīng)用程序數(shù)據(jù)庫(nmap-services-probes)?,F(xiàn)在Nmap能夠識(shí)別幾千種服務(wù)的簽名,包含了180多個(gè)不同的合同。2.4.1

版本偵測原理簡要的介紹版本的偵測原理。版本偵測重要分為下列幾個(gè)環(huán)節(jié):首先檢查open與open|filtered狀態(tài)的端口與否在排除端口列表內(nèi)。如果在排除列表,將該端口剔除。如果是TCP端口,嘗試建立TCP連接。嘗試等待半晌(普通6秒或更多,具體時(shí)間能夠查詢文獻(xiàn)nmap-services-probes中ProbeTCPNULLq||對(duì)應(yīng)的totalwaitms)。普通在等待時(shí)間內(nèi),會(huì)接受到目的機(jī)發(fā)送的“WelcomeBanner”信息。nmap將接受到的Banner與nmap-services-probes中NULLprobe中的簽名進(jìn)行對(duì)比。查找對(duì)應(yīng)應(yīng)用程序的名字與版本信息。如果通過“WelcomeBanner”無法擬定應(yīng)用程序版本,那么nmap再嘗試發(fā)送其它的探測包(即從nmap-services-probes中挑選適宜的probe),將probe得到回復(fù)包與數(shù)據(jù)庫中的簽名進(jìn)行對(duì)比。如果重復(fù)探測都無法得出具體應(yīng)用,那么打印出應(yīng)用返回報(bào)文,讓顧客自行進(jìn)一步鑒定。如果是UDP端口,那么直接使用nmap-services-probes中探測包進(jìn)行探測匹配。根據(jù)成果對(duì)比分析出UDP應(yīng)用服務(wù)類型。如果探測到應(yīng)用程序是SSL,那么調(diào)用openSSL進(jìn)一步的偵查運(yùn)行在SSL之上的具體的應(yīng)用類型。如果探測到應(yīng)用程序是SunRPC,那么調(diào)用brute-forceRPCgrinder進(jìn)一步探測具體服務(wù)。2.4.2

版本偵測的使用方法版本偵測方面的命令行選項(xiàng)比較簡樸。[plain]HYPERLINK\o"viewplain"viewplainHYPERLINK\o"copy"copyHYPERLINK\o"print"printHYPERLINK\o"?"?-sV:

指定讓Nmap進(jìn)行版本偵測

--version-intensity

<level>:

指定版本偵測強(qiáng)度(0-9),默認(rèn)為7。數(shù)值越高,探測出的服務(wù)越精確,但是運(yùn)行時(shí)間會(huì)比較長。

--version-light:

指定使用輕量偵測方式

(intensity

2)

--version-all:

嘗試使用全部的probes進(jìn)行偵測

(intensity

9)

--version-trace:

顯示出具體的版本偵測過程信息。

2.4.3

版本偵測演示命令:nmap–sV00對(duì)主機(jī)00進(jìn)行版本偵測。從成果中,我們能夠看到996個(gè)端口是關(guān)閉狀態(tài),對(duì)于4個(gè)open的端口進(jìn)行版本偵測。圖中紅色為版本信息。紅色線條劃出部分是版本偵測得到的附加信息,由于從應(yīng)用中檢測到微軟特定的應(yīng)用服務(wù),因此推斷出對(duì)方運(yùn)行的Windows的操作系統(tǒng)。2.5

OS偵測操作系統(tǒng)偵測用于檢測目的主機(jī)運(yùn)行的操作系統(tǒng)類型及設(shè)備類型等信息。Nmap擁有豐富的系統(tǒng)數(shù)據(jù)庫nmap-os-db,現(xiàn)在能夠識(shí)別2600多個(gè)操作系統(tǒng)與設(shè)備類型。2.5.1

OS偵測原理Nmap使用TCP/IP合同棧指紋來識(shí)別不同的操作系統(tǒng)和設(shè)備。在RFC規(guī)范中,有些地方對(duì)TCP/IP的實(shí)現(xiàn)并沒有強(qiáng)制規(guī)定,由此不同的TCP/IP方案中可能都有自己的特定方式。Nmap重要是根據(jù)這些細(xì)節(jié)上的差別來判斷操作系統(tǒng)的類型的。具體實(shí)現(xiàn)方式以下:Nmap內(nèi)部包含了2600多已知系統(tǒng)的指紋特性(在文獻(xiàn)nmap-os-db文獻(xiàn)中)。將此指紋數(shù)據(jù)庫作為進(jìn)行指紋對(duì)比的樣本庫。分別挑選一種open和closed的端口,向其發(fā)送通過精心設(shè)計(jì)的TCP/UDP/ICMP數(shù)據(jù)包,根據(jù)返回的數(shù)據(jù)包生成一份系統(tǒng)指紋。將探測生成的指紋與nmap-os-db中指紋進(jìn)行對(duì)比,查找匹配的系統(tǒng)。如果無法匹配,以概率形式列舉出可能的系統(tǒng)。2.5.2

OS偵測使用方法OS偵測的使用方法簡樸,Nmap提供的命令比較少。[plain]HYPERLINK\o"viewplain"viewplainHYPERLINK\o"copy"copyHYPERLINK\o"print"printHYPERLINK\o"?"?-O:

指定Nmap進(jìn)行OS偵測。

--osscan-limit:

限制Nmap只對(duì)擬定的主機(jī)的進(jìn)行OS探測(最少需確知該主機(jī)分別有一種open和closed的端口)。

--osscan-guess:

大膽猜想對(duì)方的主機(jī)的系統(tǒng)類型。由此精確性會(huì)下降不少,但會(huì)盡量多為顧客提供潛在的操作系統(tǒng)。

2.5.3

OS偵測演示命令:nmap–O00從上圖中可看到,指定-O選項(xiàng)后先進(jìn)行主機(jī)發(fā)現(xiàn)與端口掃描,根據(jù)掃描到端口來進(jìn)行進(jìn)一步的OS偵測。獲取的成果信息有設(shè)備類型,操作系統(tǒng)類型,操作系統(tǒng)的CPE描述,操作系統(tǒng)細(xì)節(jié),網(wǎng)絡(luò)距離等。3

Nmap高級(jí)使用方法3.1

防火墻/IDS規(guī)避防火墻與IDS規(guī)避為用于繞開防火墻與IDS(入侵檢測系統(tǒng))的檢測與屏蔽,方便能夠更加具體地發(fā)現(xiàn)目的主機(jī)的狀況。Nmap提供了多個(gè)規(guī)避技巧,普通能夠從兩個(gè)方面考慮規(guī)避方式:數(shù)據(jù)包的變換(PacketChange)與時(shí)序變換(TimingChange)。3.1.1

規(guī)避原理

分片(Fragmentation)將可疑的探測包進(jìn)行分片解決(例如將TCP包拆分成多個(gè)IP包發(fā)送過去),某些簡樸的防火墻為了加緊解決速度可能不會(huì)進(jìn)行重組檢查,以此避開其檢查。

IP誘騙(IPdecoys)在進(jìn)行掃描時(shí),將真實(shí)IP地址和其它主機(jī)的IP地址(其它主機(jī)需要在線,否則目的主機(jī)將回復(fù)大量數(shù)據(jù)包到不存在的主機(jī),從而實(shí)質(zhì)構(gòu)成了回絕服務(wù)攻擊)混合使用,以此讓目的主機(jī)的防火墻或IDS追蹤檢查大量的不同IP地址的數(shù)據(jù)包,減少其追查到本身的概率。注意,某些高級(jí)的IDS系統(tǒng)通過統(tǒng)計(jì)分析仍然能夠追蹤出掃描者真實(shí)IP地址。

IP偽裝(IPSpoofing)顧名思義,IP偽裝即將自己發(fā)送的數(shù)據(jù)包中的IP地址偽裝成其它主機(jī)的地址,從而目的機(jī)認(rèn)為是其它主機(jī)在與之通信。需要注意,如果但愿接受到目的主機(jī)的回復(fù)包,那么偽裝的IP需要位于統(tǒng)一局域網(wǎng)內(nèi)。另外,如果既但愿隱蔽自己的IP地址,又但愿收到目的主機(jī)的回復(fù)包,那么能夠嘗試使用idlescan或匿名代理(如TOR)等網(wǎng)絡(luò)技術(shù)。

指定源端口某些目的主機(jī)只允許來自特定端口的數(shù)據(jù)包通過防火墻。例如FTP服務(wù)器配備為:允許源端口為21號(hào)的TCP包通過防火墻與FTP服務(wù)端通信,但是源端口為其它端口的數(shù)據(jù)包被屏蔽。因此,在這類狀況下,能夠指定Nmap將發(fā)送的數(shù)據(jù)包的源端口都設(shè)立特定的端口。

掃描延時(shí)某些防火墻針對(duì)發(fā)送過于頻繁的數(shù)據(jù)包會(huì)進(jìn)行嚴(yán)格的偵查,并且某些系統(tǒng)限制錯(cuò)誤報(bào)文產(chǎn)生的頻率(例如,Solaris系統(tǒng)普通會(huì)限制每秒鐘只能產(chǎn)生一種ICMP消息回復(fù)給UDP掃描),因此,定制該狀況下發(fā)包的頻率和發(fā)包延時(shí)能夠減少目的主機(jī)的審查強(qiáng)度、節(jié)省網(wǎng)絡(luò)帶寬。

其它技術(shù)Nmap還提供多個(gè)規(guī)避技巧,例如指定使用某個(gè)網(wǎng)絡(luò)接口來發(fā)送數(shù)據(jù)包、指定發(fā)送包的最小長度、指定發(fā)包的MTU、指定TTL、指定偽裝的MAC地址、使用錯(cuò)誤檢查和(badchecksum)。更多信息3.1.2

規(guī)避使用方法[plain]HYPERLINK\o"viewplain"viewplainHYPERLINK\o"copy"copyHYPERLINK\o"print"printHYPERLINK\o"?"?-f;

--mtu

<val>:

指定使用分片、指定數(shù)據(jù)包的MTU.

-D

<decoy1,decoy2[,ME],...>:

用一組IP地址掩蓋真實(shí)地址,其中ME填入自己的IP地址。

-S

<IP_Address>:

偽裝成其它IP地址

-e

<iface>:

使用特定的網(wǎng)絡(luò)接口

-g/--source-port

<portnum>:

使用指定源端口

--data-length

<num>:

填充隨機(jī)數(shù)據(jù)讓數(shù)據(jù)包長度達(dá)成Num。

--ip-options

<options>:

使用指定的IP選項(xiàng)來發(fā)送數(shù)據(jù)包。

--ttl

<val>:

設(shè)立time-to-live時(shí)間。

--spoof-mac

<mac

address/prefix/vendor

name>:

偽裝MAC地址

--badsum:

使用錯(cuò)誤的checksum來發(fā)送數(shù)據(jù)包(正常狀況下,該類數(shù)據(jù)包被拋棄,如果收到回復(fù),闡明回復(fù)來自防火墻或IDS/IPS)。

3.1.3

規(guī)避演示使用命令:nmap-v-F-Pn-D00,02,ME-eeth0-g3355其中,-F表達(dá)快速掃描100個(gè)端口;-Pn表達(dá)不進(jìn)行Ping掃描;-D表達(dá)使用IP誘騙方式掩蓋自己真實(shí)IP(其中ME表達(dá)自己IP);-eeth0表達(dá)使用eth0網(wǎng)卡發(fā)送該數(shù)據(jù)包;-g3355表達(dá)自己的源端口使用3355;是被掃描的目的IP地址。我們能夠從Wireshark中看到數(shù)據(jù)包的流動(dòng)狀況:對(duì)于每個(gè)探測包,Nmap都使用-D選項(xiàng)指定的IP地址發(fā)送不同的數(shù)據(jù)包,從而達(dá)成擾亂對(duì)方防火墻/IDS檢查的目的(更加好的方式-D選項(xiàng)中嵌入RND隨機(jī)數(shù),這樣更含有困惑性)。當(dāng)探測到80端口時(shí)候,目的主機(jī)向我們回復(fù)了SYN/ACK包回來(固然也向其它誘騙的IP回復(fù)SYN/ACK包,我們無法接受到),證明80端口是開放的。3.2

NSE腳本引擎NSE腳本引擎(NmapScriptingEngine)是Nmap最強(qiáng)大最靈活的功效之一,允許顧客自己編寫腳原來執(zhí)行自動(dòng)化的操作或者擴(kuò)展Nmap的功效。NSE使用Lua腳本語言,并且默認(rèn)提供了豐富的腳本庫,現(xiàn)在已經(jīng)包含14個(gè)類別的350多個(gè)腳本。NSE的設(shè)計(jì)初衷重要考慮下列幾個(gè)方面:網(wǎng)絡(luò)發(fā)現(xiàn)(NetworkDiscovery)更加復(fù)雜的版本偵測(例如skype軟件)漏洞偵測(VulnerabilityDetection)后門偵測(BackdoorDetection)漏洞運(yùn)用(VulnerabilityExploitation)3.2.1

NSE創(chuàng)立腳本辦法下面以daytime.nse腳本為例闡明一下NSE格式。NSE的使用Lua腳本,并且配備固定格式,以減輕顧客編程負(fù)擔(dān)。普通的一種腳本分為幾個(gè)部分:description字段:描述腳本功效的字符串,使用雙層方括號(hào)表達(dá)。comment字段:以--開頭的行,描述腳本輸出格式author字段:描述腳本作者license字段:描述腳本使用許可證,普通配備為Nmap相似的licensecategories字段:描述腳本所屬的類別,以對(duì)腳本的調(diào)用進(jìn)行管理。rule字段:描述腳本執(zhí)行的規(guī)則,也就是擬定觸發(fā)腳本執(zhí)行的條件。在Nmap中有四種類型的規(guī)則,prerule用于在N

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論