史萊姆論壇

史萊姆論壇 (http://forum.slime.com.tw/)
-   網路軟硬體架設技術文件 (http://forum.slime.com.tw/f133.html)
-   -   如何發現同一個網路上的sniffer? (http://forum.slime.com.tw/thread110517.html)

psac 2004-05-24 03:24 PM

如何發現同一個網路上的sniffer?
 
Q:
如何發現同一個網路上的sniffer?

好像說是要去發現網路上的網路卡處於某種模式,就可以判斷該機器在監聽網路.
也看見過介紹,說是 網路卡 分為 監聽模式,混雜模式,等等,好幾類,但是我想 實現起來比較困難!我是 一點頭緒也沒有!
請教:具體應該如何做呢?越詳細越好呀~~


A:
u can see here!
要監測只採集資料而不對任何資訊進行回應的竊聽設備,需要逐個仔細檢查乙太網上所
有物理連接。

不可能通過遠端傳送資料包或ping就可以檢查電腦是否正在竊聽。

一個主機上的sniffer會將網路接頭置為混雜模式以接收所有資料包。對於某些UNIX系統,
通過監測到混雜模式的網路接頭。雖然可以在非混雜模式下執行sniffer,但這樣將只能捕獲本
機會話。入侵者也可能通過在諸如sh、telnet、rlogin、in.telnetd等程序中捕獲會話,並將用
戶操作記錄到其它文件中。這些都可能通過監視tty和kmem等設備輕易發現。只有混雜模式下的
sniffing才能捕獲乙太網中的所有會話,其它模式只能捕獲本機會話。

對於SunOS、NetBSD和其它BSD Unix系統,如下指令:

"ifconfig -a"

會顯示所有網路接頭資訊和是否在混雜模式。DEC OSF/1和IRIX等系統需要指定設備。要找
到系統中有什麼網路接頭,可以執行如下指令:

# netstat -r
Routing tables

Internet:
Destination Gateway Flags Refs Use Interface
default iss.net UG 1 24949 le0
localhost localhost UH 2 83 lo0

然後通過如下指令檢查每個網路接頭:

#ifconfig le0
le0: flags=8863
inet 127.0.0.1 netmask 0xffffff00 broadcast 255.0.0.1

入侵者經常會替換ifconfig等指令來避開檢查,因此一定要檢查指令程序的校驗值。

在ftp.cert.org:/pub/tools/的cpm程序(SunOS平台)可以檢查接頭是否有混雜模式標記。

對於Ultrix系統,使用pfstat和pfconfig指令也可能監測是否有sniffer執行。

pfconfig指定誰有權限執行sniffer。
pfstat顯示網路接頭是否處於混雜模式。

這些指令只在sniffer與內核存在連接時有效。而在預設情況,sniffer是沒有與內核連接
的。大多數的Unix系統,例如Irix、Solaris、SCO等,都沒有任何標記來指示是否處於混雜模
式,因此入侵者能夠竊聽整個網路而卻無法監測到它。

通常一個sniffer的記錄文件會很快增大並填滿文件空間。在一個大型網路中,sniffer明
顯加重機器負荷。這些警告資訊往往能夠說明 管理員發現sniffer。建議使用lsof程序搜尋訪
問資料包設備(如SunOS的/dev/nit)的程序和記錄文件

阻止sniffer

主動式集線器只向目標位址主機傳送資料包,從而使混雜模式sniffer失效。它僅適用於
10Base-T乙太網。(註:這種現在已在電腦市場消失。)

只有兩家廠商曾生產過主動式集線器:

* 3Com
* HP

隨著交換機的成本和價格的大幅度降低,交換機已成為非常有效的使sniffer失效的設備。目前
最一般的交換機在第三層(網路層)根據資料包目標位址進行轉發,而不太採取集線器的廣播
方式,從而使sniffer失去了用武之地。

-------------------------------------------------------------------------------

加密

目前有許多軟體包可用於加密連接,從而使入侵者即使捕獲到資料,但無法將資料解密而
失去竊聽的意義。

以下是以前常用的一些軟體包

* deslogin
coast.cs.purdue.edu:/pub/tools/unix/deslogin .

* swIPe
ftp.csua.berkeley.edu:/pub/cypherpunks/swIPe/

* Netlock
明白了吧!
還有一種就是通過交換機的漏洞,可以直接捕獲連接阜的資料

這樣你就沒法防範了!


Q:
這個的原理是什麼?通過路由器捕獲好像容易理解一些
A:
不難哦,基本是醬紫的
當網路卡處在混雜模式下,會不加選項的接受所有資料包(這個也就是它監聽的原理)
反過來,利用這個,就可以發現它了,至於實現的手段就很多了,比如這個

L0pht AntiSniff

http://www.securitysoftwaretech.com/.../download.html

Q:
如果手頭上面沒有現成的工具的話呢?怎麼辦?怎麼發現?系統本身的工具裡面有這個功能嗎?

A:
用CISCO的網管工具啊!
L0pht Heavy Industries開發的AntiSniff工具用於
滿足檢測本機網路是否有機器處於混雜模式(即監聽模
式)。

一台處於混雜模式的機器通常是兩種含義之一:它
已被入侵並用於竊聽網路中的密碼或資料;或者它正被
用於合法的正常的網路監聽。


對於網路管理員和網路安
全專家而言,瞭解哪台機器正處於混雜模式以作進一步
的調查研究是非常重要的。

AntiSniff Version 1.X被設計為執行在乙太網的
Windows NT系統中,並提供了簡單易用的用戶圖形界
面。該工具以多種方式測試遠端系統是否正在捕捉和分
析那些並不是傳送給它的資料包。這些測試方法與其操
作系統本身無關。


使用AntiSniff V1.X
------------------

AntiSniff執行在本機乙太網的一個段上。例如,如
果在非交換式的C類網路中執行時,AntiSniff能監聽整
個網路;如果網路被按工作組分組並用交換機隔離,則
每個工作組中都需要執行一個AntiSniff。


原因是某些特
殊的測試使用了無效的乙太網位址和某些測試需要進行
混雜模式下的統計(如回應時間,包丟失率等)。

AntiSniff V1.X的用法非常簡單直觀。

在工具的圖
形界面中選項需要進行檢查的機器(單台或多台),並
且指定檢查頻率。

對於除網路回應時間檢查外的測試,
每一台機器會返回一個確定的正值或負值。返回的正值
表示該機器正處於混雜模式。還可以根據這個返回值定
義報警或提示。

對於網路回應時間測試的返回值,建議用戶根據第
一次返回的數值計算標準值,然後再對在flood和非
flood兩次測試的返回結果有較大變化的機器進行檢查。


一旦這些機器退出混雜模式返回到正常操作模式下,A
ntiSniff的下一次測試將會記錄到混雜模式和非混雜模
式的差值(正值)。

建議盡可能週期性地執行這個工具。這個週期值根
據不同的站點、不同的網路負荷、測試的機器數量和網
站原則等而不同。


AntiSniff的技術細節
-------------------

目前的AntiSniff V1.X實現了三種類型的測試:操
作系統類特殊測試、DNS測試和網路回應時間測試。

每種
測試都能單獨或與其它測試一起確定機器的執行狀態。


AntiSniff V1.X主要工作在非交換環境下的本機網段
中,如果執行在交換環境下其功能將大打折扣。
AntiSniff V2.0將不但能在本機網段中,而且能夠穿過
路由器和交換機進行工作。


◆ 操作系統類特殊測試


Linux 內核測試

舊版本的Linux內核存在一個奇怪的特性,可被用於
確定機器是否處於混雜模式。在正常情形下,網路卡會過
濾和丟棄那些目標位址不是本機MAC位址或乙太網廣播地
址的資料包。

如果資料包的目標位址為本機乙太網位址
或廣播位址,將傳送給內核進行處理,因為其認為該以
太網資料畫格包含了本機的正確IP位址或該網路廣播地
址。


如果網路卡處於混雜模式,則每個資料包都會傳遞給
操作系統進行分析或處理。

許多版本的Linux內核只檢查
資料包中的IP位址以確定是否存放到IP堆棧中進行處
理。為了利用這一點,AntiSniff構造一個無效乙太網地
址而IP位址有效的資料包。


對於使用了這些內核版本和
處於混雜模式的Linux系統,由於只檢查到IP位址有效而
將其接收並存放到相應堆棧中。


通過在這個偽造的以太
網資料畫格中構造一個ICMP ECHO請求,這些系統會返迴響
應包(如果處於混雜模式)或


忽略(如果不處於混雜模
式),從而暴露其工作模式。當偽造的乙太網資料畫格中
的IP位址設定為網路廣播位址時這個測試非常有效。
AntiSniff的使用者可以修改偽造的乙太網址,預設值為
66:66:66:66:66:664。


NetBSD

許多NetBSD內核具有與上述Linux內核相同的特性,
不過偽造乙太網資料畫格中的IP位址必須設為廣播位址。


Windows 95,98,NT

根據對網路驅動程式頭文件的瞭解,可以知道當處
於混雜模式時,Microsoft的操作系統會確切地檢查每個
包的乙太網位址。

如果與網路卡的乙太網位址匹配,將作
為目標IP位址為本機的資料包存放到相應堆棧中處理。


可以被利用的一點是系統對乙太網廣播包的分析。

在正
常情形下,例如機器工作在非混雜模式下,網路卡只向系
統內核傳輸那些目標乙太網址與其匹配或為乙太網廣播
位址(ff:ff:ff:ff:ff:ff)的資料包。

如果機器處於混
雜模式下,網路驅動程式仍然會檢查每個資料包的以太
網位址,但檢查是否為廣播包時卻只檢查頭8位位址是否
為0xff。

因此,為了使處於混雜模式的系統返迴回應信
息,AntiSniff構造乙太網位址為ff:00:00:00:00:00且
含有正確目標IP位址的資料包,當Microsoft的操作系統
接收到這個資料包時,將根據網路驅動程式檢查到的細
微差別而返迴回應包(如果處於混雜模式)或丟棄這個
資料包(如果處於非混雜模式)。

需要注意的是,這個檢查與使用的網路驅動程式有
關。

Microsoft預設的網路驅動程式具有以上特性,大多
數的廠商為了保持相容性也繼承了這些特性。

不過有些
網路卡會在其硬體層中檢查乙太網位址的頭8位,所以可能
會無論系統真正的狀態是什麼都總是返回正值。關於這
類網路卡和驅動程式請訪問AntiSniff V1.X的web網站。


◆ DNS 測試

進行DNS測試的原因是許多攻擊者使用的網路資料收
集工具都對IP位址進行反向DNS解析,因為他們希望根據
域名尋找更有價值的主機。

例如joepc1.foo.bar對攻擊
者的吸引力往往不如payroll.foo.bar這種商業域名。此
時這些工具就由被動型網路工具變為主動型網路工具
了。

而不監聽網路通訊的機器不會試突反向解析資料包
中的IP位址。


為了利用這一點,AntiSniff V1.X使自身
處於混雜模式下,向網路傳送虛假目標IP位址的資料
包,然後監聽是否有機器傳送該虛假目標IP位址的反向
DNS查詢。

偽造資料包的乙太網位址、檢查目標、虛假目
標IP位址可由用戶定制。


◆ 網路和主機回應時間測試

這種測試已被證明是最有效的。它能夠發現網路中
處於混雜模式的機器,而不管其操作系統是什麼。警
告,這個測試會在很短的時間內產生巨大的網路通訊流
量。

進行這種測試的理由是不處於混雜模式的網路卡提供
了一定的硬體底層過濾機制。

也就是說,目標位址非本
地(廣播位址除外)的資料包將被網路卡的固件丟棄。在
這種情況下,驟然增加、但目標位址不是本機的網路通
訊流量對操作系統的影響只會很小。


而處於混雜模式下
的機器則缺乏此類底層的過濾,驟然增加、但目標位址
不是本機的網路通訊流量會對該機器造成較明顯的影響
(不同的操作系統/內核/用戶方式會有不同)。

這些變
化可以通過網路通訊流量工具監視到。

根據以上要點,AntiSniff V1.X首先利用ICMP ECHO
請求及回應計算出需要檢測機器的回應時間基準和平均
值。


在得到這個資料後,立刻向本機網路傳送大量的偽
造資料包。

與此同時再次傳送測試資料包以確定平均響
應時間的變化值。

非混雜模式的機器的回應時間變化量
會很小,而混雜模式的機器的回應時間變化量則通常會
有1-4個數量級。

為了對付攻擊者和入侵者們最常用的多種工具,
AntiSniff進行了三種網路飽和度測試:
SIXTYSI、TCPSYN和THREEWAY。

* SIXTYSIX測試構造的資料包資料全為0x66。這些
資料包不會被非混雜
模式的機器接收,同時方便使用一般的網路監聽/
分析工具(如tcpdump
和snoop等)記錄和捕獲。

* TCPSYN測試構造的資料包包含有效的TCP頭和IP
頭,同時TCP標誌域的
SYN位被設定。

* THREEWAY測試採取的原理基本上與TCPSYN一樣,
但更複雜些。


在這種測試中兩個實際不存在的機器間多次建立完整的TCP
三方握手通訊。

它能夠更好地欺騙那些駭客工具。

AntiSniff V1.X中能夠通過以上三種資料包測試發
現正處於混雜模式機器的測試方法最好週期性地進行和
與以前的資料比較。回應時間測試第一次執行的資料還
能夠用於分析一個大型網路在flooding和非flooding狀
態時的效能,並說明 工程師調整網路效能。

一旦確信本
地網路已執行在正常(沒有未經允許而處於混雜模式的
機器)狀態,就應該設定AntiSniff工具週期性執行。只
要發現某台機器效能(回應時間)發生數量級的變化,
一般就能確定其正處於混雜模式。


這種方法不需比較兩
台獨立系統間的效能資料,而只需比較同一台機器不同
時候的資料就能確定該機器是否處於混雜模式。


所有時間均為台北時間。現在的時間是 07:42 PM

Powered by vBulletin® 版本 3.6.8
版權所有 ©2000 - 2024, Jelsoft Enterprises Ltd.

『服務條款』

* 有問題不知道該怎麼解決嗎?請聯絡本站的系統管理員 *


SEO by vBSEO 3.6.1