新聞中心

EEPW首頁 > 手機與無線通信 > 設(shè)計應用 > 漏洞掃描原理及程序

漏洞掃描原理及程序

作者: 時間:2010-12-14 來源:網(wǎng)絡(luò) 收藏

  1 引言

本文引用地址:http://m.butianyuan.cn/article/156879.htm

  網(wǎng)絡(luò)掃描,是基于Internet的、探測遠端網(wǎng)絡(luò)或主機信息的一種技術(shù),也是保證系統(tǒng)和網(wǎng)絡(luò)安全必不可少的一種手段。主機掃描,是指對計算機主機或者其它網(wǎng)絡(luò)設(shè)備進行安全性檢測,以找出安全隱患和系統(tǒng)漏洞??傮w而言,網(wǎng)絡(luò)掃描和主機掃描都可歸入一類。本質(zhì)上是一把雙刃劍:黑客利用它來尋找對網(wǎng)絡(luò)或系統(tǒng)發(fā)起攻擊的途徑,而系統(tǒng)管理員則利用它來有效防范黑客入侵。通過,掃描者能夠發(fā)現(xiàn)遠端網(wǎng)絡(luò)或主機的配置信息、 TCP/UDP端口的分配、提供的網(wǎng)絡(luò)服務、服務器的具體信息等。

  2 漏洞掃描

  漏洞掃描可以劃分為ping掃描、端口掃描、OS探測、脆弱點探測、防火墻掃描五種主要技術(shù),每種技術(shù)實現(xiàn)的目標和運用的各不相同。按照 TCP/IP協(xié)議簇的結(jié)構(gòu),ping掃描工作在互聯(lián)網(wǎng)絡(luò)層:端口掃描、防火墻探測工作在傳輸層;0S探測、脆弱點探測工作在互聯(lián)網(wǎng)絡(luò)層、傳輸層、應用層。 ping掃描確定目標主機的IP地址,端口掃描探測目標主機所開放的端口,然后基于端口掃描的結(jié)果,進行OS探測和脆弱點掃描。

  2.1 Ping掃描

  ping掃描是指偵測主機IP地址的掃描。ping掃描的目的,就是確認目標主機的TCP/IP網(wǎng)絡(luò)是否聯(lián)通,即掃描的IP地址是否分配了主機。對沒有任何預知信息的黑客而言,ping掃描是進行漏洞掃描及入侵的第一步;對已經(jīng)了解網(wǎng)絡(luò)整體IP劃分的網(wǎng)絡(luò)安全人員來講,也可以借助ping掃描,對主機的IP分配有一個精確的定位。大體上,ping掃描是基于ICMP協(xié)議的。其主要思想,就是構(gòu)造一個ICMP包,發(fā)送給目標主機,從得到的響應來進行判斷。根據(jù)構(gòu)造ICMP包的不同,分為ECH0掃描和non—ECHO掃描兩種。

  2.1.1 ECH0掃描

  向目標IP地址發(fā)送一個ICMP ECHOREQUEST(ICMP type 8)的包,等待是否收至UICMP ECHO REPLY(ICMP type 0)。如果收到了ICMP ECHO REPLY,就表示目標IP上存在主機,否則就說明沒有主機。值得注意的是,如果目標網(wǎng)絡(luò)上的防火墻配置為阻止ICMP ECH0流量,ECH0掃描不能真實反映目標IP上是否存在主機。

  此外,如果向廣播地址發(fā)送ICMPECHO REQUEST,網(wǎng)絡(luò)中的unix主機會響應該請求,而windows主機不會生成響應,這也可以用來進行OS探測。

  2.1.2 non-ECH0掃描

  向目的IP地址發(fā)送一個ICMP TIMESTAMP REQUEST(ICMP type l3),或ICMP ADDRESS MASK REQUEST (ICMP type l7)的包,根據(jù)是否收到響應,可以確定目的主機是否存在。當目標網(wǎng)絡(luò)上的防火墻配置為阻止ICMP ECH0流量時,則可以用non.ECH0掃描來進行主機探測。

  2.2端口掃描

  端口掃描用來探測主機所開放的端口。端口掃描通常只做最簡單的端口聯(lián)通性測試,不做進一步的數(shù)據(jù)分析,因此比較適合進行大范圍的掃描:對指定 IP地址進行某個端口值段的掃描,或者指定端口值對某個IP地址段進行掃描。根據(jù)端口掃描使用的協(xié)議,分為TCP掃描和UDP掃描。

  2.2.1 TCP掃描

  主機間建立TCP連接分三步(也稱三次握手):

  (1)請求端發(fā)送一個SYN包,指明打算連接的目的端口。

  (2)觀察目的端返回的包:

  返回SYN/ACK包,說明目的端口處于偵聽狀態(tài);

  返回RST/ACK包,說明目的端口沒有偵聽,連接重置。

  (3)若返回SYN/ACK包,則請求端向目的端口發(fā)送ACK包完成3次握手,TCP連接建立。

  根據(jù)TCP連接的建立步驟,TCP掃描主要包含兩種方式:

  (1)TCP全連接和半連接掃描

  全連接掃描通過三次握手,與目的主機建立TCP連接,目的主機的log文件中將記錄這次連接。而半連接掃描(也稱TCP SYN掃描)并不完成TCP三次握手的全過程。掃描者發(fā)送SYN包開始三次握手,等待目的主機的響應。如果收到SYN/ACK包,則說明目標端口處于偵聽狀態(tài),掃描者馬上發(fā)送RST包,中止三次握手。因為半連接掃描并沒有建立TCP連接,目的主機的log文件中可能不會記錄此掃描。

  (2)TCP隱蔽掃描

  根據(jù)TCP協(xié)議,處于關(guān)閉狀態(tài)的端口,在收到探測包時會響應RST包,而處于偵聽狀態(tài)的端口則忽略此探測包。根據(jù)探測包中各標志位設(shè)置的不同,TCP隱蔽掃描又分為SYN/ACK掃描、FIN掃描、XMAS(圣誕樹)掃描和NULL掃描四種。

  SYN/ACK掃描和FIN掃描均繞過TCP三次握手過程的第一步,直接給目的端口發(fā)送SYN/ACK包或者FIN包。因為TCP是基于連接的協(xié)議,目標主機認為發(fā)送方在第一步中應該發(fā)送的SYN包沒有送出,從而定義這次連接過程錯誤,會發(fā)送一個RST包以重置連接。而這正是掃描者需要的結(jié)果— 只要有響應,就說明目標系統(tǒng)存在,且目標端口處于關(guān)閉狀態(tài)。

  XMAS掃描和NULL掃描:這兩類掃描正好相反,XMAS掃描設(shè)置TCP包中所有標志位(URG、ACK、RST、PSH、SYN、FIN),而NULL掃描則關(guān)閉TCP包中的所有標志位。

  2.2.2 UDP端口掃描

  UDP協(xié)議是數(shù)據(jù)包協(xié)議,為了要發(fā)現(xiàn)正在服務的UDP端口,通常的掃描方式是構(gòu)造一個內(nèi)容為空的UDP數(shù)據(jù)包送往目的端口。若目的端口上有服務正在等待,則目的端口返回錯誤的消息;若目的端口處于關(guān)閉狀態(tài),則目的主機返回ICMP端口不可達消息。因為UDP端口掃描軟件要計算傳輸中丟包的數(shù)量,所以UDP端口掃描的速度很慢。

  2.3 0S探測

  OS探測有雙重目的:一是探測目標主機的0S信息,二是探測提供服務的計算機的信息。比如OS探測的結(jié)果是:OS是Windows XP sp3,服務器平臺是IIS 4.0。

  2.3.1二進制信息探測

  通過登錄目標主機,從主機返回的banner中得知OS類型、版本等,這是最簡單的0S探測技術(shù)。

  

二進制信息 www.elecfans.com


  圖1 二進制信息


上一頁 1 2 3 下一頁

關(guān)鍵詞: 程序 原理 漏洞掃描

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉