1、引言
網絡掃描,對計算機主機和網絡設備進行安全性檢查,找出隱患和系統漏洞。
漏洞掃描本質上是雙刃劍,黑客利用它尋找對網絡或系統發起攻擊的途徑,系統管理員利用他來有效防范黑客入侵。
通過掃描,可發現遠程網絡或主機配置信息、TCP/UDP分配端口,提供服務、服務信息等
2、漏掃原理
可以划分為ping掃描、端口掃描、OS探測、脆弱點探測、防火牆掃描五種主要技術
PING掃描主要工作在互聯網絡層、
端口掃描、防火牆探測工作在傳輸層、
脆弱點探測工作在互聯網絡層、傳輸層、應用層、
ping掃描目標主機IP地址、端口掃描探測目標主機所開放端口,基於端口,進行OS探測和脆弱點掃描
2.1PING掃描
Ping掃描偵測主機IP地址的掃描,目的: 確定目標主機的TCP/IP網絡是否聯通,即掃描的地址是否分配了主機
對沒有任何預知信息黑客,來說這是漏掃及入侵的第一步,
對已了解網絡整體IP網絡安全人員來說,借助ping掃描,對主機的IP分配有一個精確的定位
大體上,ping掃描是基於ICMP協議的。其主要思想,就是構造一個ICMP包,發送給目標主機,從得到的響應來進行判斷。根據構造ICMP包的不同,分為ECH0掃描和non—ECHO掃描兩種。
2.1.1ECHO掃描
2.1.2non-ECH0掃描
2.2端口掃描
探測主機所開放的端口
端口掃描通常只做最簡單的端口聯通性測試,不做進一步的數據分析,因此比較適合進行大范圍的掃描
大范圍的掃描:對指定 IP地址進行某個端口值段的掃描、或者指定端口值對某個IP地址段進行掃描。
根據端口掃描使用的協議,分為TCP掃描和UDP掃描。
2.2.1 TCP掃描
主機間建立TCP連接分三步(也稱三次握手):
(1)請求端發送一個SYN包,指明打算連接的目的端口。
(2)觀察目的端返回的包:
返回SYN/ACK包,說明目的端口處於偵聽狀態;
返回RST/ACK包,說明目的端口沒有偵聽,連接重置。
(3)若返回SYN/ACK包,則請求端向目的端口發送ACK包完成3次握手,TCP連接建立。
根據TCP連接的建立步驟,TCP掃描主要包含兩種方式:
(1)TCP全連接和半連接掃描
全連接掃描通過三次握手,與目的主機建立TCP連接,目的主機的log文件中將記錄這次連接。而半連接掃描(也稱TCP SYN掃描)並不完成TCP三次握手的全過程。掃描者發送SYN包開始三次握手,等待目的主機的響應。如果收到SYN/ACK包,則說明目標端口處於偵聽狀態,掃描者馬上發送RST包,中止三次握手。因為半連接掃描並沒有建立TCP連接,目的主機的log文件中可能不會記錄此掃描。
(2)TCP隱蔽掃描
根據TCP協議,處於關閉狀態的端口,在收到探測包時會響應RST包,而處於偵聽狀態的端口則忽略此探測包。根據探測包中各標志位設置的不同,TCP隱蔽掃描又分為SYN/ACK掃描、FIN掃描、XMAS(聖誕樹)掃描和NULL掃描四種。
SYN/ACK掃描和FIN掃描均繞過TCP三次握手過程的第一步,直接給目的端口發送SYN/ACK包或者FIN包。因為TCP是基於連接的協議,目標主機認為發送方在第一步中應該發送的SYN包沒有送出,從而定義這次連接過程錯誤,會發送一個RST包以重置連接。而這正是掃描者需要的結果— 只要有響應,就說明目標系統存在,且目標端口處於關閉狀態。
XMAS掃描和NULL掃描:這兩類掃描正好相反,XMAS掃描設置TCP包中所有標志位(URG、ACK、RST、PSH、SYN、FIN),而NULL掃描則關閉TCP包中的所有標志位。
2.2.2 UDP端口掃描
UDP協議是數據包協議,為了要發現正在服務的UDP端口,通常的掃描方式是構造一個內容為空的UDP數據包送往目的端口。若目的端口上有服務正在等待,則目的端口返回錯誤的消息;若目的端口處於關閉狀態,則目的主機返回ICMP端口不可達消息。因為UDP端口掃描軟件要計算傳輸中丟包的數量,所以UDP端口掃描的速度很慢。
2.3 0S探測
OS探測有雙重目的:一是探測目標主機的0S信息,二是探測提供服務的計算機程序的信息。
比如OS探測的結果是:OS是Windows XP sp3,服務器平台是IIS 4.0。
2.3.1二進制信息探測
通過登錄目標主機,從主機返回的banner中得知OS類型、版本等,這是最簡單的0S探測技術。
2.3.2 HTTP響應分析
在和目標主機建立HTTP連接后,可以分析服務器的響應包得出OS類型。比如響應包中可能包含如下信息:
2.4脆弱點掃描
從對黑客攻擊行為的分析和脆弱點的分類,絕大多數掃描都是針對特定操作系統中特定的網絡服務來進行,即針對主機上的特定端口。
脆弱點掃描使用的技術主要有基於脆弱點數據庫和基於插件兩種。
2.4.1基於脆弱點數據庫的掃描
首先構造掃描的環境模型,對系統中可能存在的脆弱點、過往黑客攻擊案例和系統管理員的安全配置進行建模與分析。其次基於分析的結果,生成一套標准的脆弱點數據庫及匹配模式。最后由程序基於脆弱點數據庫及匹配模式自動進行掃描工作。脆弱點掃描的准確性取決於脆弱點數據庫的完整性及有效性。
2.4.2基於插件的掃描
插件是由腳本語言編寫的子程序模塊,掃描程序可以通過調用插件來執行掃描。添加新的功能插件可以使掃描程序增加新的功能,或者增加可掃描脆弱點的類型與數量。也可以升級插件來更新脆弱點的特征信息,從而得到更為准確的結果。插件技術使脆弱點掃描軟件的升級維護變得相對簡單,而專用腳本語言的使用也簡化了編寫新插件的編程工作,使弱點掃描軟件具有很強的擴展性。
2.5防火牆規則探測
采用類似於traceroute的IP數據包分析法,檢測能否給位於過濾設備后的主機發送一個特定的包,目的是便於漏洞掃描后的入侵或下次掃描的順利進行。通過這種掃描,可以探測防火牆上打開或允許通過的端口,並且探測防火牆規則中是否允許帶控制信息的包通過,更進一步,可以探測到位於數據包過濾設備后的路由器。
原文鏈接:http://www.360doc.com/content/17/0706/13/37475013_669308583.shtml