Sniffer攻擊以及其工作原理的介紹
此文章主要向大家講述的是Sniffer攻擊含義以及對其工作原理的描述,sniffers(嗅探器)幾乎與internet有一樣發(fā)展歷史了.Sniffer是一種常用的收集有用數(shù)據(jù)方法,這些數(shù)據(jù)可以是用戶的帳號和密碼,可以是一些商用機密數(shù)據(jù)等等。
隨著Internet及電子商務的日益普及,Internet的安全也越來越受到重視。
一.有關sniffer及sniffer的含義
sniffers(嗅探器)幾乎和internet有一樣久的歷史了.Sniffer是一種常用的收集有用數(shù)據(jù)方法,這些數(shù)據(jù)可以是用戶的帳號和密碼,可以是一些商用機密數(shù)據(jù)等等。隨著Internet及電子商務的日益普及,Internet的安全也越來越受到重視。在Internet安全隱患中扮演重要角色之一的Sniffer以受到越來越大的關注,所以今天我要向大家介紹一下介紹Sniffer以及如何阻止sniffer。
大多數(shù)的黑客僅僅為了探測內(nèi)部網(wǎng)上的主機并取得控制權,只有那些"雄心勃勃"的黑客,為了控制整個網(wǎng)絡才會安裝特洛伊木馬和后門程序,并清除記錄。他們經(jīng)常使用的手法是安裝sniffer。
在內(nèi)部網(wǎng)上,黑客要想迅速獲得大量的賬號(包括用戶名和密碼),最為有效的手段是使用 "sniffer" 程序。這種方法要求運行Sniffer 程序的主機和被監(jiān)聽的主機必須在同一個以太網(wǎng)段上,故而在外部主機上運行sniffer是沒有效果的。再者,必須以root的身份使用sniffer 程序,才能夠監(jiān)聽到以太網(wǎng)段上的數(shù)據(jù)流。談到以太網(wǎng)sniffer,就必須談到以太網(wǎng)sniffing。
那么什么是以太網(wǎng)sniffer攻擊呢?
以太網(wǎng)sniffing是指對以太網(wǎng)設備上傳送的數(shù)據(jù)包進行偵聽,發(fā)現(xiàn)感興趣的包。如果發(fā)現(xiàn)符合條件的包,就把它存到一個log文件中去。通常設置的這些條件是包含字"username"或"password"的包。
它的目的是將網(wǎng)絡層放到promiscuous模式,從而能干些事情。
Promiscuous模式是指網(wǎng)絡上的所有設備都對總線上傳送的數(shù)據(jù)進行偵聽,并不僅僅是它們自己的數(shù)據(jù)。根據(jù)第二章中有關對以太網(wǎng)的工作原理的基本介紹,可以知道:一個設備要向某一目標發(fā)送數(shù)據(jù)時,它是對以太網(wǎng)進行廣播的。一個連到以太網(wǎng)總線上的設備在任何時間里都在接受數(shù)據(jù)。不過只是將屬于自己的數(shù)據(jù)傳給該計算機上的應用程序。
利用這一點,可以將一臺計算機的網(wǎng)絡連接設置為接受所有以太網(wǎng)總線上的數(shù)據(jù),從而實現(xiàn)sniffer。
sniffer通常運行在路由器,或有路由器功能的主機上。這樣就能對大量的數(shù)據(jù)進行監(jiān)控。sniffer屬第二層次的攻擊。通常是攻擊者已經(jīng)進入了目標系統(tǒng),然后使用sniffer這種攻擊手段,以便得到更多的信息。
sniffer除了能得到口令或用戶名外,還能得到更多的其他信息,比如一個其他重要的信息,在網(wǎng)上傳送的金融信息等等。sniffer幾乎能得到任何以太網(wǎng)上的傳送的數(shù)據(jù)包。黑客會使用各種方法,獲得系統(tǒng)的控制權并留下再次侵入的后門,以保證sniffer能夠執(zhí)行。在Solaris 2.x平臺上,sniffer 程序通常被安裝在/usr/bin 或/dev目錄下。黑客還會巧妙的修改時間,使得sniffer程序看上去是和其它系統(tǒng)程序同時安裝的。
大多數(shù)以太網(wǎng)sniffer程序在后臺運行,將結果輸出到某個記錄文件中。黑客常常會修改ps程序,使得系統(tǒng)管理員很難發(fā)現(xiàn)運行的sniffer程序。
以太網(wǎng)sniffer程序?qū)⑾到y(tǒng)的網(wǎng)絡接口設定為混合模式。這樣,它就可以監(jiān)聽到所有流經(jīng)同一以太網(wǎng)網(wǎng)段的數(shù)據(jù)包,不管它的接受者或發(fā)送者是不是運行sniffer的主機。 程序?qū)⒂脩裘⒚艽a和其它黑客感興趣的數(shù)據(jù)存入log文件。黑客會等待一段時間 ----- 比如一周后,再回到這里下載記錄文件。
講了這么多,那么到底我們可以用什么通俗的話來介紹sniffer呢?
計算機網(wǎng)絡與電話電路不同,計算機網(wǎng)絡是共享通訊通道的。共享意味著計算機能夠接收到發(fā)送給其它計算機的信息。捕獲在網(wǎng)絡中傳輸?shù)臄?shù)據(jù)信息就稱為sniffing(竊聽)。
以太網(wǎng)是現(xiàn)在應用最廣泛的計算機連網(wǎng)方式。以太網(wǎng)協(xié)議是在同一回路向所有主機發(fā)送數(shù)據(jù)包信息。數(shù)據(jù)包頭包含有目標主機的正確地址。一般情況下只有具有該地址的主機會接受這個數(shù)據(jù)包。如果一臺主機能夠接收所有數(shù)據(jù)包,而不理會數(shù)據(jù)包頭內(nèi)容,這種方式通常稱為"混雜" 模式。
由于在一個普通的網(wǎng)絡環(huán)境中,帳號和口令信息以明文方式在以太網(wǎng)中傳輸, 一旦入侵者獲得其中一臺主機的root權限,并將其置于混雜模式以竊聽網(wǎng)絡數(shù)據(jù),從而有可能入侵網(wǎng)絡中的所有計算機。
一句話,sniffer就是一個用來竊聽的黑客手段和工具。
二、sniffer攻擊的工作原理
通常在同一個網(wǎng)段的所有網(wǎng)絡接口都有訪問在物理媒體上傳輸?shù)乃袛?shù)據(jù)的能力,而每個網(wǎng)絡接口都還應該有一個硬件地址,該硬件地址不同于網(wǎng)絡中存在的其他網(wǎng)絡接口的硬件地址,同時,每個網(wǎng)絡至少還要一個廣播地址。(代表所有的接口地址),在正常情況下,一個合法的網(wǎng)絡接口應該只響應這樣的兩種數(shù)據(jù)幀:
1、幀的目標區(qū)域具有和本地網(wǎng)絡接口相匹配的硬件地址。
2、幀的目標區(qū)域具有"廣播地址"。
在接受到上面兩種情況的數(shù)據(jù)包時,nc通過cpu產(chǎn)生一個硬件中斷,該中斷能引起操作系統(tǒng)注意,然后將幀中所包含的數(shù)據(jù)傳送給系統(tǒng)進一步處理。
而sniffer就是一種能將本地nc狀態(tài)設成(promiscuous)狀態(tài)的軟件,當nc處于這種"混雜"方式時,該nc具備"廣播地址",它對所有遭遇到的每一個幀都產(chǎn)生一個硬件中斷以便提醒操作系統(tǒng)處理流經(jīng)該物理媒體上的每一個報文包。(絕大多數(shù)的nc具備置成 promiscuous方式的能力)
可見,sniffer工作在網(wǎng)絡環(huán)境中的底層,它會攔截所有的正在網(wǎng)絡上傳送的數(shù)據(jù),并且通過相應的軟件處理,可以實時分析這些數(shù)據(jù)的內(nèi)容,進而分析所處的網(wǎng)絡狀態(tài)和整體布局。值得注意的是:sniffer是極其安靜的,它是一種消極的安全攻擊。
通常sniffer所要關心的內(nèi)容可以分成這樣幾類:
1、口令
我想這是絕大多數(shù)非法使用sniffer的理由,sniffer可以記錄到明文傳送的userid和passwd.就算你在網(wǎng)絡傳送過程中使用了加密的數(shù)據(jù),sniffer記錄的數(shù)據(jù)一樣有可能使入侵者在家里邊吃肉串邊想辦法算出你的算法。
2、金融帳號
許多用戶很放心在網(wǎng)上使用自己的信用卡或現(xiàn)金帳號,然而sniffer可以很輕松截獲在網(wǎng)上傳送的用戶姓名、口令、信用卡號碼、截止日期、帳號和pin.
3、偷窺機密或敏感的信息數(shù)據(jù)
通過攔截數(shù)據(jù)包,入侵者可以很方便記錄別人之間敏感的信息傳送,或者干脆攔截整個的email會話過程。
4、窺探低級的協(xié)議信息。
這是很可怕的事,我認為,通過對底層的信息協(xié)議記錄,比如記錄兩臺主機之間的網(wǎng)絡接口地址、遠程網(wǎng)絡接口ip地址、ip路由信息和tcp連接的字節(jié)順序號碼等。這些信息由非法入侵的人掌握后將對網(wǎng)絡安全構成極大的危害,通常有人用sniffer收集這些信息只有一個原因:他正在進行一次欺詐,(通常的ip地址欺詐就要求你準確插入tcp連接的字節(jié)順序號,這將在以后整理的文章中指出)如果某人很關心這個問題,那么sniffer對他來說只是前奏,今后的問題要大得多。(對于高級的hacker而言,我想這是使用sniffer攻擊的唯一理由吧)
三.sniffer的工作環(huán)境
snifffer就是能夠捕獲網(wǎng)絡報文的設備。嗅探器的正當用處在于分析網(wǎng)絡的流量,以便找出所關心的網(wǎng)絡中潛在的問題。例如,假設網(wǎng)絡的某一段運行得不是很好,報文的發(fā)送比較慢,而我們又不知道問題出在什么地方,此時就可以用嗅探器來作出精確的問題判斷。
嗅探器在功能和設計方面有很多不同。有些只能分析一種協(xié)議,而另一些可能能夠分析幾百種協(xié)議。一般情況下,大多數(shù)的嗅探器至少能夠分析下面的協(xié)議:
1.標準以太網(wǎng)
2.TCP/IP
3.IPX
4.DECNet
嗅探器通常是軟硬件的結合。專用的嗅探器價格非常昂貴。另一方面,免費的嗅探器雖然不需要花什么錢,但得不到什么支持。
嗅探器與一般的鍵盤捕獲程序不同。鍵盤捕獲程序捕獲在終端上輸入的鍵值,而嗅探器則捕獲真實的網(wǎng)絡報文。嗅探器通過將其置身于網(wǎng)絡接口來達到這個目的——例如將以太網(wǎng)卡設置成雜收模式。(為了理解雜收模式是怎么回事,先解釋局域網(wǎng)是怎么工作的)。
數(shù)據(jù)在網(wǎng)絡上是以很小的稱為幀(Ftame)的單位傳輸?shù)膸珊脦撞糠纸M成,不同的部分執(zhí)行不同的功能。(例如,以太網(wǎng)的前12個字節(jié)存放的是源和目的的地址,這些位告訴網(wǎng)絡:數(shù)據(jù)的來源和去處。以太網(wǎng)幀的其他部分存放實際的用戶數(shù)據(jù)、TCP/IP的報文頭或IPX報文頭等等)。
幀通過特定的稱為網(wǎng)絡驅(qū)動程序的軟件進行成型,然后通過網(wǎng)卡發(fā)送到網(wǎng)線上。通過網(wǎng)線到達它們的目的機器,在目的機器的一端執(zhí)行相反的過程。接收端機器的以太網(wǎng)卡捕獲到這些幀,并告訴操作系統(tǒng)幀的到達,然后對其進行存儲。就是在這個傳輸和接收的過程中,嗅探器會造成安全方面的問題。
每一個在LAN上的工作站都有其硬件地址。這些地址唯一地表示著網(wǎng)絡上的機器(這一點于Internet地址系統(tǒng)比較相似)。當用戶發(fā)送一個報文時,這些報文就會發(fā)送到LAN上所有可用的機器。
在一般情況下,網(wǎng)絡上所有的機器都可以“聽”到通過的流量,但對不屬于自己的報文則不予響應(換句話說,工作站A不會捕獲屬于工作站B的數(shù)據(jù),而是簡單的忽略這些數(shù)據(jù))。
如果某在工作站的網(wǎng)絡接口處于雜收模式,那么它就可以捕獲網(wǎng)絡上所有的報文和幀,如果一個工作站被配置成這樣的方式,它(包括其軟件)就是一個嗅探器。
嗅探器可能造成的危害:
1.嗅探器能夠捕獲口令
2.能夠捕獲專用的或者機密的信息
3.可以用來危害網(wǎng)絡鄰居的安全,或者用來獲取更高級別的訪問權限
事實上,如果你在網(wǎng)絡上存在非授權的嗅探器就以為著你的系統(tǒng)已經(jīng)暴露在別人面前了。(大家可以試試天行2的嗅探功能)
一般我們只嗅探每個報文的前200到300個字節(jié)。用戶名和口令都包含在這一部分中,這是我們關心的真正部分。工人,也可以嗅探給定接口上的所有報文,如果有足夠的空間進行存儲,有足夠的那里進行處理的話,將會發(fā)現(xiàn)另一些非常有趣的東西……
以上的相關內(nèi)容就是對Sniffer含義及工作原理的介紹,望你能有所收獲。















 
 
 





 
 
 
 