相關文章:
Sniffer-黑客們最常用的入侵手段一
Sniffer-黑客們最常用的入侵手段二
六、如何阻止sniffer
<1>交換
隨著交換機的成本和價格的大幅度降低,交換機已成為非常有效的使sniffer失效的設備。目前最常見的交換機在第三層(網(wǎng)絡層)根據(jù)數(shù)據(jù)包目標地址進行轉發(fā),而不太采取集線器的廣播方式,從理論上講,通過交換設備對網(wǎng)絡進行分段后,sniffer將無法透過邊界而窺探另一邊的數(shù)據(jù)包。但是,請注意:這是在邊界設備不轉發(fā)廣播包的情況下(這也是通常的網(wǎng)絡情況)。一旦入侵者使用spoofer誘騙某個邊界設備而將自己的廣播包流入不該進入的網(wǎng)段后,原理上還是在一個共享設備端使用sniffer,而實際上將是聽到了邊界的另一邊).當然,這樣會牽涉到ip欺詐和Mac欺詐的問題,然而,你別忘了,sniffer和spoofer是很少分開來的。北大青鳥北京通州校區(qū)
<2>加密
目前有許多軟件包可用于加密連接,從而使入侵者即使捕獲到數(shù)據(jù),但無法將數(shù)據(jù)解密而失去竊聽的意義。北大青鳥北京通州校區(qū)
<3>入侵檢測
使用諸如Tripwire之類的工具,生成文件系統(tǒng)的MD5"數(shù)據(jù)指紋",及時發(fā)現(xiàn)被修改的系統(tǒng)文件;北大青鳥北京通州校區(qū)
<4)使用antisniffer軟件
一些流行的檢測SNIFFER的程序:
http://www.attrition.org/security/newbie/security/sniffer/promisc.c --是一個很小的C程序,當編譯好后,會查找本地機器上任何處于雜亂模式的NIC網(wǎng)絡適配卡。
http://www.attrition.org/security/newbie/security/sniffer/neped.c --是一個用來遠程檢查任何嗅探活動的程序,可惜它只在LINUX下編譯,當然你也可以簡單的使用'ifconfig-a'來檢查你的UNIX機器是否有PROMISC標志。北大青鳥北京通州校區(qū)
http://www.l0pht.com/antisniff/這是L0pht寫的很好的反SNIFFER程序,L0PHT還打算公開LINUX版本上的源碼版本。北京北大青鳥通州校區(qū)
下面介紹一下sentinel的用法
Sentinel主要是設計思想是portable,arrcurate implementation,就是說小巧點,精確實現(xiàn)幾個熟知的雜亂方式探測技術。其中Sentinel支持三種方法的遠程雜亂探測模式:DNS測試,Etherping測試,和ARP測試,其中還有一種ICMP ping Latency(ICMP PING反應時間)正在開發(fā)中。北大青鳥北京通州校區(qū)
此程序需要Libnet和libpcap庫來支持,大家可以到下面的地址去下載:
LIbnet 1.0: http://www.packetfactory.net/Projects/libnet
libpcap 0.4: ftp://ftp.ee.lbl.gov/libpcap-0.4.tar.Z
首先說下它其中使用的三種模式:
--ARP測試模式:北大青鳥北京通州校區(qū)
這種方法是采用發(fā)送一個ARP請求,其中包含所有正確信息除了偽造的目標主機MAC硬件地址給我們的目標主機,這樣如果目標主機沒有處于雜亂模式,它將不會理睬這些信息包,因為這些信息包其認為不是指定給它們的,所以不會進行響應和回復,但如果此目標機器處于雜亂模式,ARP請求就會發(fā)生并進行內(nèi)核處理,通過機器的回應信息我們就可以知道其處于雜亂模式。這種方法結合內(nèi)核的特性來查看機器的運作狀態(tài),請看下面的Etherping 測試模式。
-- DNS測試模式:
DNS測試主要是針對網(wǎng)絡數(shù)據(jù)收集工具能執(zhí)行IP到名字反轉解析來提供DNS名字來代替IP地址(The DNS tests operate on the premise that many attacker network data gathering tools perform IP to name inverse resolution to provide DNS names in place of IP addresses)。在執(zhí)行反轉查詢中,工具會從被動網(wǎng)絡工具
模式轉變?yōu)橹鲃泳W(wǎng)絡工具,而那些沒有監(jiān)視網(wǎng)絡書記的工具就不會去解析信息包中的IP地址。利用這種信息,ANTI SNIFFER工具可以自身在本地主機中變?yōu)殡s亂模式并在我們網(wǎng)絡中發(fā)送無數(shù)個偽造的主機,這樣,ANTI SNIFFER工具就可以嗅探DNS請求來查看目標是否在請求解析那些不存在主機。
--Etherping 測試模式:
Etherping 測試模式依賴于目標主機的內(nèi)核,也就所謂的內(nèi)核測試。在通常情況下,硬件網(wǎng)絡接口卡過濾和丟棄那些MAC地址不同于自己機器上的MAC地址的信息包或者不是廣播Ethernet 地址的地址。就是說信息包是正確和實際的Ethernet地址或者是廣播Ethernet地址,接口就會把這些地址COPY和傳遞給內(nèi)核進行進一步處理。
但某些系統(tǒng)假定包含在以太幀中的數(shù)據(jù)包含某個目標主機中正確的IP地址或者廣播地址,但具有不同于本地主機的MAC地址,當NIC設置為雜亂模式,發(fā)送給目標主機的每個數(shù)據(jù)包它還是傻傻的傳遞給操作系統(tǒng)進行分析。這樣通過發(fā)送包含正確IP地址和不正確MAC地址的ICMP ECHO包給要檢測的主機,如果目標主機回應了我們的請求,我們就知道其處于雜亂模式了。
多種LINUX內(nèi)核存在這種問題,其中NETBSD也可以利用這個問題來檢測雜亂模式,但需要使用廣播地址的信息包,這種信息包使用帶偽造ether幀的IP地址,如66:66:66:66:66:66. 北大青鳥北京通州校區(qū)
關于WINDOWS95,98,NT的操作系統(tǒng)在雜亂模式中確實是檢查信息包ETHER地址的,如果信息包的NIC ETHER地址符合本地主機就讓堆棧來處理。但WINDOWS對廣播的ether信息包存在問題,在普通環(huán)境下,如機器不在雜亂模式下,NIC只把含有起本身MAC地址的信息包或者ether地址是ff:ff:ff:ff:ff:ff傳遞給內(nèi)核。但當在雜亂模式中驅(qū)動程序是檢查ETHER地址,但它只檢查ETHER地址的第一個八未組是否為Oxff就來判斷信息包是否為廣播或者其他,因此如果我們建立一個包含EHTER地址為ff:00:00:00:00:00的IP正確的信息包并發(fā)送給目標機器,如果其進行了響應的回應,就表示起處于雜亂模式。
但對WINDOWS的這種方法是依賴于所用的驅(qū)動程序的,默認的微軟驅(qū)動程序有此特性并且大多數(shù)供應商的驅(qū)動程序也有此特性,但某些NIC過濾廣播只是依靠第一個八為組,所以這些卡不適合此方法。北大青鳥北京通州校區(qū)
--網(wǎng)絡和機器的反應時間測試(也可以說ICMP PING反應時間):
這種模式是比較有效的測試方法,依據(jù)是靠對操作系統(tǒng)的影響來測試。但其中的壞處就是這些測試會在短期內(nèi)產(chǎn)生一些多數(shù)量的網(wǎng)絡通信。
這些測試假定當網(wǎng)絡卡不處于雜亂模式時提供硬件過濾,這樣的話,信息包不是指定給本身機器的將被網(wǎng)絡卡丟棄。當在這中情況下,在網(wǎng)絡通信信息量將動態(tài)增長對操作系統(tǒng)的影響很小,相反的處于雜亂狀態(tài)的機器由于不對這層進行過濾,就把這些信息傳遞給系統(tǒng)或者用戶模式進行過濾,會對操作系統(tǒng)產(chǎn)生比較大的影響。簡單的說,我們先正常情況下PING一機器,再我們構建很多偽造的TCP連接來ping程序來ping目標,并且注意RTT(round
trip time),這樣處于雜亂模式的機器由于會處理這些垃圾信息包,并影響系統(tǒng)并導致網(wǎng)絡反映時間增加,然后來比較各個RTT,經(jīng)過多次測試和人工判斷就能決定目標機器上是否存在SNIFFER。北大青鳥北京通州校區(qū)
Sentinel是根據(jù)這些方法來進行測試的程序,是有源代碼形式發(fā)放的。使用于OPENBSD 2.6 ;FREEBSD 3.X;NETBSD 1.4.1;LINUX2.2.X平臺。
編譯后使用方法為:
#./sentinel -t 192.168.0.1 -a 是ARP測試。
#./sentinel -t 192.168.0.1 -e 是etherping test;
#./sentinel -t 192.168.0.1 -f 1.1.1.1 -d 是DNS測試;
#./sentinel -t 192.168.0.1 -f 1.1.1.1 -d -a -e 是允許所有模式進行測試。
北大青鳥北京通州校區(qū)