本文是一簡單的關於SHIFFER的描述,對於不太知道SNIFFER的人來說可能適用,高手就免進了,要深一層次的就看如袁哥,BACKEND寫的文章吧。
什麼是SNIFFER呢?
一般我們在講的SNIFFER程序是把NIC(網絡適配卡,一般如以太網卡)置為一種叫promiscuous雜亂模式的狀態,一旦網卡設置為這種模式,它就能是SNIFFER程序能接受傳輸在網絡上的每一個信息包。普通的情況下,網卡只接受和自己的地址有關的信息包,即傳輸到本地主機的信息包。要使 SNIFFER能接受處理這種方式的信息,就需要系統支持bpf,Linux下如SOCKET-PACKET,但一般情況下網絡硬件和TCP/IP堆棧是不支持接受或者發送與本地計算機無關的數據包,所以為了繞過標准的TCP/IP堆棧,網卡就必須設置為我們剛開始將的雜亂模式,一般情況下,要激活這種方式,必須內核支持這種偽設備bpfilter,而且需要ROOT用戶來運行這種SNIFFER程序,所以大家知道SNIFFER需要ROOT身份安裝,而你即使以本地用戶進入了系統,你也嗅探不到ROOT的密碼,因為不能運行SNIFFER。
基於SNIFFER這樣的模式,可以分析各種信息包可以很清楚的描述出網絡的結構和使用的機器,由於它接受任何一個在同一網段上傳輸的數據包,所以也就存在著SNIFFER可以用來捕獲密碼, EMAIL信息,秘密文檔等一些其他沒有加密的信息。所以這成為黑客們常用的擴大戰果的方法,奪取其他主機的控制權。
下面描述了一些傳輸介質被監聽的可能性:
Ethernet監聽的可能性比較高,因為Ethernet網是一個廣播型的網絡,困擾著INTERNET的大多數包監聽時間都是一些運行在一台計算機中的包監聽程序的結果。這台計算機和其他計算機,一個網關或者路由器形成一個以太網。
FDDIToken-監聽的可能性也比較高,盡管令牌網內的並不是一個廣播型網絡,ring實際上,帶有令牌的那些包在傳輸過程中,平均要經過網絡上一半的計算機。但高的傳輸率將使監聽變得困難。
電話線監聽的可能性中等,電話線可以被一些與電話公司協作的人或者一些有機會在物理上訪問到線路的人搭線竊聽,在微波線路上的信息也會被截獲。在實際中,高速的MODEM比低速的MODEM搭線困難的多,因為高速MODEM引入了許多頻率。
IP通過有監聽的可能性比較高,使用有線電視信道發送IP數據包依靠RF調制線電視信道解調器,RF調制解調器使用一個TV通道用於上行,一個用於下行。
在這些線路上傳輸的信息沒有加密,因此,可以被一些可以物?
訪問到TV電纜的人截獲。
微波和監聽的可能性比較高,無線電本來上一個廣播型的傳輸媒介,任何一
無線電一個無線電接受機的人可以截獲那些傳輸的信息。
現在多數的SNIFFER只監視連接時的信息包,原因是SNIFFER如果接受全部的信息包,一個是LOG記錄極其大,而且會占用大量的CPU時間,所以在一個擔負繁忙任務的計算機中進行監聽,由於占用的CPU和帶寬就可以懷疑有SNIFFER在工作,當你覺得有異常現象的時候就先需要一些簡單的方法檢測。
雖然可以使用PS或者netstat的命令去查看是否有可以進程和連接信息的轉態,但入侵者改變了ps或者netstat程序也就不能發現這些程序了,其實修改ps命令只須短短數條SHELL命令,即可將監聽軟件的名字過濾掉。
下面的兩個方法原理簡單,但操作起來比較困難:
1,對於懷疑運行監聽程序的機器,用正確的IP地址和錯誤的物理地址去PING,運行監聽程序的機器回有響應,這是因為正常的機器不接受錯誤的物理地址,處於監聽狀態的機器能接受,如果他的IPSTACK不再次反向檢查的話,就會響應,這種方法依賴系統的IPSTACK,對有些系統可能行不通。
2,往網上發大量不存在的物理地址的包,由於監聽程序將處理這些包,將導致性能下降,通過比較前後該機器性能(icmpechodelay等方法)加以判斷,這種方法難度較大點。
一些流行的SNIFFER
SNIFFIT:這是一個比較的SNIFFER,它由BrechtClearhout所寫,這是你應該最先用的程序,這個SNIFFER默認狀態下只接受最先的400個字節的信息包,這對於一次登陸會話進程剛剛好。:p
SNORT:這個SNIFFER有很多選項供你使用並可移植性強,可以記錄一些連接信息,用來跟蹤一些網絡活動。
TCPDUMP:這個SNIFFER很有名,FREEBSD還搭帶在系統上,是一個被很多UNIX高手認為是一個專業的網絡管理工具,記得以前 TsutomuShimomura(應該叫下村侵吧)就是使用他自己修改過的TCPDUMP版本來記錄了KEVINMITNICK攻擊他系統的記錄,後來就配合FBI抓住了KEVINMITNICK,後來他寫了一文:使用這些LOG記錄描述了那次的攻擊, HowMitnickhackedTsutomuShimomurawithanIPsequenceattack(http://www.attrition.org/security/newbie/security/sniffer/shimomur.txt)
ADMSNiff:這是非常有名的ADM黑客集團寫的一個SNIFFER程序。
linsniffer:這是一個專門設計雜一LINUX平台上的SNIFFER。
Esniffer:這個也是一個比較有名的SNIFFER程序。
Sunsniff:這個是用在SUNOS系統上的SNIFFER,此程序應該在十年前推出的吧。
Solsniffer:這是個Solarissniffer,主要是修改了SunSniff專門用來可以
方便的在Solair平台上編譯。
這些程序attrition收集起來了,大家可以到下面的URL下載:
http://www.attrition.org/security/newbie/security/sniffer/
一些流行的檢測SNIFFER的程序:
http://www.attrition.org/security/newbie/security/sniffer/promisc.c--是一個很小的C程序,當編譯好後,會查找本地機器上任何處於雜亂模式的NIC網絡適配卡。
http: //www.attrition.org/security/newbie/security/sniffer/neped.c--是一個用來遠程檢查任何嗅探活動的程序,可惜它只在LINUX下編譯,當然你也可以簡單的使用ifconfig-a來檢查你的UNIX機器是否有PROMISC標志。
http://www.l0pht.com/antisniff/這是L0pht寫的很好的反SNIFFER程序,L0PHT還打算公開LINUX版本上的源碼版本。
另外,如果機器上使用兩塊網卡,把一塊設置為雜亂模式,並把IP地址設置為0.0.0.0,另一塊卡處於正常的模式並是正確的地址,這樣將很難發現SNIFFER的存在。
一些資源:
大家可以到http://www.securityfocus.com/找到很多關於SNIFFER的程序, PHRACK54(FILE10)的文章awesomearticle很好的解釋了很多方法和技巧來對付SNIFFER,
http://www.attrition.org/security/newbie/security/sniffer/shimomur.txt
是Shimomura寫的文章(HowMitnickhackedTsutomuShimomurawithanIPsequenceattack)
。也可以到http://www.l0pht.com/站點下載Antisniffer,這確實是一個不錯的工具。
http://www.attrition.org/security/newbie/security/sniffer/shimomur.txt
是Shimomura寫的文章(HowMitnickhackedTsutomuShimomurawithanIPsequenceattack)
。也可以到http://www.l0pht.com/站點下載Antisniffer,這確實是一個不錯的工具。